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_pathssh_key可以设置实际密钥内容,而不是设置SSH密钥文件的路径。

    八、SSH Certificate Path

    连接到节点时要使用的已签名SSH证书,可以通过ssh_cert_path指定ssh_cert路径。

    相对ssh_cert_pathssh_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 KeyTaint ValueTaint Effect
    node-role.kubernetes.io/controlplanetrueNoSchedule

    worker节点也可以理解为计算节点,部署的应用(workloads或者pods)都将在worker节点运行。

    十一、Docker Socket

    Docker套接字默认路径为/var/run/docker.sock,如果安装的非标准安装docker,则可以通过docker_socket设置Docker套接字地址。

    十二、Labels