1 - 节点
address
参数设置节点的主机名或IP地址,RKE必须能够连接到此地址。
二、内部地址
在具有多IP的主机上,通过internal_address
参数指定集群内部通讯地址,如果没有设置internal_address
,则使用address
进行主机间通信。
比如同一区域的云主机,拥有互通的vpc网络地址和公网地址,在通过rke创建集群的时候,address
地址需要填写公网地址,因为rke需要与节点通信,而vpc网络是无法直接访问的。这种场景下,设置internal_address
为vpc网络地址,这样K8S集群运行在vpc网络上,保证了集群内部的网络性能。如果不设置internal_address
,将会使用address
地址组件集群,这样网络性能会很差。
三、覆盖主机名
hostname_override
用于为RKE提供一个友好的名称,以便在Kubernetes中注册节点时使用。这个主机名不需要是一个可路由的地址,但是它必须是一个有效的Kubernetes资源名。如果没有设置hostname_override
,则在Kubernetes中注册节点时使用address
指令。
四、SSH Port
指定连接到节点时要使用的节点port
。默认端口是22
。
六、SSH Key Path
ssh_key_path
,指定连接到节点时要使用的SSH私钥路径,每个节点的默认密钥路径是~/.ssh/id_rsa
。
七、SSH Key
相对ssh_key_path
,ssh_key
可以设置实际密钥内容,而不是设置SSH密钥文件的路径。
八、SSH Certificate Path
连接到节点时要使用的已签名SSH证书,可以通过ssh_cert_path
指定ssh_cert路径。
相对ssh_cert_path
,ssh_cert
可以指定实际证书内容,而不是设置签名SSH证书的路径。
十、Kubernetes Roles
RKE中,支持三种角色设置: controlplane,etcd和worker
。
controlplane
: 运行Kubernetes master相关组件(kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、kubelet);etcd
: 运行etcd服务(etcd);
节点设置etcd角色,etcd
容器将在这些节点上运行。Etcd是一个分布式可靠的键值存储,存储所有Kubernetes状态,是集群中最重要的组件,是集群的唯一数据来源,通常需要3个、5个或更多节点来创建HA配置。
具有etcd角色的节点上设置的污点如下所示:
节点配置controlplane角色,Kubernetes的无状态组件将在这些节点上运行。
具有controlplane角色的节点上设置的污点如下所示:
Taint Key | Taint Value | Taint Effect |
---|---|---|
node-role.kubernetes.io/controlplane | true | NoSchedule |
worker节点也可以理解为计算节点,部署的应用(workloads或者pods)都将在worker节点运行。
十一、Docker Socket
Docker套接字默认路径为/var/run/docker.sock
,如果安装的非标准安装docker,则可以通过docker_socket
设置Docker套接字地址。