k8s是容器编排的主流工具。

两本参考书《k8s指南》《k8s权威指南》

k8s集群有多个节点,节点可以是物理机也可以是虚机。节点分两类,Master节点,通常是一台,Node节点,通常是多台。Master节点,负责整个集群的管理和控制。Node节点,是工作节点,由Master管理。

k8s集群最重要的概念是Service。k8s对外表现的结果是若干个Service。一个Service有如下特征:1)唯一的指定的名字;2)提供远程服务的一个虚拟IP地址和若干个端口号。访问一个Service,知道它的IP地址和这些端口号就可以了。

一个Service的功能由多个Pod支持。Pod是k8s的最小管理单元。一个Pod包含若干个容器,其中一个是特殊容器Pause,其他容器是业务容器,实现Service功能。Pause容器主要是判断Pod是否在正常运行,如果Pause容器挂了,意味着这个Pod也挂了,需要做后续处理。

k8s也运行一些不跟任何Service相关的Pod。

Node节点运行Pod,一个节点通常运行数百个Pod,每个Pod有唯一的IP地址。Node节点的kubelet和kube-proxy和Docker引擎,kubelet负责Pod的创建启动监控重启销毁,kube-proxy负责Pod的负载均衡。

Master节点运行kube-apiserver, kube-controller-manager, kube-scheduler,管理整个集群的资源,pod调度,弹性伸缩,安全控制,系统监控,纠错等。

Label:k8s的核心概念,一个pod的name label跟它对应的Service的名字是一样的,不同的Labe有不同的功能,一个Pod的label数量不限。

比较重要的是k8s的网络架构:

IP-per-Pod模型:每个Pod有唯一的ip地址,所有pod都在一个可以直接连通的扁平的网络空间,不论它们是否在同一个节点上,彼此可以直接访问,不需要任何NAT网络地址转换;一个Pod内的容器共享Pod的网络资源,包括ip和网络配置。

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐