简介
节点是容器集群组成的基本元素。节点取决于业务,既可以是虚拟机,也可以是物理机。每个节点都包含运行Pod所需要的基本组件,包括Kubelet、Kube-proxy 、Container Runtime等。
CCE创建的Kubernetes集群包含master节点和node节点,本章讲述的节点特指node节点,node节点是集群的计算节点,即运行容器化应用的节点。
在云容器引擎CCE中,主要采用高性能的弹性云服务器 ECS或裸金属服务器 BMS作为节点来构建高可用的Kubernetes集群。
注意事项
- 为了保证节点的稳定性,CCE集群节点上会根据节点的规格预留一部分资源给Kubernetes的相关组件(kubelet、kube-proxy以及docker等)和Kubernetes系统资源,使该节点可作为您的集群的一部分。 因此,您的节点资源总量与节点在Kubernetes中的可分配资源之间会存在差异。节点的规格越大,在节点上部署的容器可能会越多,所以Kubernetes自身需预留更多的资源。
- 节点的网络(如虚机网络、容器网络等)均被CCE接管,不允许用户自行添加网卡或改变路由,若自行修改,CCE不保证服务可用。
- 节点购买后如需对其进行升级或降低规格等操作,请将节点关机后参照变更规格通用操作进行变更,也可以重新购买节点后,将老节点删除。
节点生命周期
生命周期是指节点从创建到删除(或释放)历经的各种状态。
状态 |
状态属性 |
说明 |
---|---|---|
可用 |
稳定状态 |
节点正常运行状态,并连接上集群。 在这个状态的节点可以运行您的业务。 |
不可用 |
稳定状态 |
节点运行异常状态。 在这个状态下的实例,不能对外提供业务,需要重置节点或联系管理员进行处理。 |
创建中 |
中间状态 |
创建节点实例后,在节点状态进入运行中之前的状态。 |
安装中 |
中间状态 |
节点处于安装Kubernetes软件的过程中。 |
删除中 |
中间状态 |
节点处于正在被删除的状态。 如果长时间处于该状态,则说明出现异常,需要联系管理员处理。 |
关机 |
稳定状态 |
节点被正常停止。 在这个状态下的实例,不能对外提供业务,您可以在弹性云服务器列表页对其进行开机操作。 |
错误 |
稳定状态 |
节点处于异常状态。 在这个状态下的实例,不能对外提供业务,需要重置节点或联系管理员进行处理。 |
普通容器与安全容器
安全容器的概念主要与普通容器进行比较的。
和普通容器相比,它最主要的区别是每个容器(准确地说是pod)都运行在一个单独的微型虚拟机中,拥有独立的操作系统内核,以及虚拟化层的安全隔离。因为云容器引擎CCE的容器安全隔离比独立拥有私有Kubernetes集群有更严格的要求。通过安全容器,不同容器之间的内核、计算资源、网络都是隔离开的,保护了Pod的资源和数据不被其他Pod抢占和窃取。
CCE Turbo集群下单节点支持普通容器和安全容器,您可以根据业务需求选择使用,两者的区别如下:
分类 |
普通容器 |
安全容器 |
---|---|---|
容器所在节点类型 |
虚拟机 |
裸金属服务器 |
容器引擎 |
Docker |
Containerd |
容器运行时 |
runc |
Kata |
容器内核 |
与宿主机共享内核 |
独占内核 |
容器隔离方式 |
Cgroups和Namespace |
轻量虚拟机 |
容器引擎存储驱动 |
OverlayFS2 |
DeviceMapper |
无 |
内存:50MiB CPU:0.1Core Pod Overhead为安全容器本身资源占用。比如Pod申请的limits.cpu = 0.5Core和limits.memory = 256MiB,那么该Pod最终会申请0.6Core的CPU和306MiB的内存。 |
|
最小规格 |
无 |
内存:256MiB CPU:0.25Core |
容器引擎命令行 |
docker |
crictl |
Pod的计算资源 |
CPU和内存的request和limit可以不一致 |
CPU和内存的request和limit必须一致。 |
hostnetwork |
支持 |
不支持 |
Containerd和Docker命令行的使用方式对比,请参见如何选择Containerd和Docker。