kubernetes网络权威指南 kubernetes都用到了哪些技术
K8S Service有这么几种类型:ClusterIP,NodePort和Load Balancer。其中,ClusterIP是默认类型,自动分配集群内部可以访问的虚IP——Cluster IP。NodePort为Service在Kubernetes集群的每个Node上分配一个端口,即NodePort,集群内/外部可基于任何一个NodeIP:NodePort的形式来访问Service。因此NodePort也成为“乞丐版”的Load Balancer,对于那些没有打通容器网络和主机网络的用户,NodePort成了他们从外部访问Service的首选。LoadBalancer类型的Service需要Cloud Provider的支持,因为Service Controller会自动为之创建一个外部LB并配置安全组,K8S原生支持的Cloud Provider就那么几个:GCE,AWS。除了“外用”,Load Balancer还可以“内服”,即如果要在集群内访问Load Balancer类型的Service,kube-proxy用iptables或ipvs实现了云服务提供商LB(一般都是L7的)的部分功能:L4转发,安全组规则等。
K8S Service创建好了,那么如何使用,即如何进行服务发现呢?K8S提供了两种方式:环境变量和域名。
环境变量即Kubelet为每个Pod注入所有Service的环境变量信息,形如:
图15
下面我们将举几个CNI网络插件的例子。
图8
K8S Service的定义如下所示:
图12
Kubernetes Service机制
容器网络模型讲完后,我们再看下K8S集群内访问的Service机制。先从一个简单的例子讲起,客户端访问容器应用,最简单的方式莫过于直接容器IP+端口了。
图10
以上内容是关于kubernetes网络权威指南和kubernetes都用到了哪些技术的内容,小编幸苦为你编辑整理,喜欢的请点赞收藏把。