为了让用户对如何使用cluster.yml
文件配置 Kubernetes 选项有更好的了解,RKE 提供了几个 yaml 示例,详情请参考yaml 示例。
配置 Kubernetes 集群选项
集群名称
默认情况下,您的集群名称是local
。如果您需要修改集群名称,请打开cluster.yml
文件,找到cluster_name
一栏,修改集群名称。以下代码示例省略了cluster.yaml
文件中的其他参数,展示了如何将集群名称修改为mycluster
。
默认情况下,RKE 会检查所有主机上已安装的 Docker 的版本号,如果 Kubernetes 不支持该版本的 Docker,会导致 RKE 运行失败并且报错。请参考RKE 支持的 Docker 版本,找到您正在使用的 RKE 版本、它支持的 Docker 版本号和 Kubernetes 版本号。如果您不希望在运行 RKE 之前检查 Docker 版本号,您可以打开cluster.yml
文件,找到ignore_docker_version
一栏,并将它的值设定为true
。ignore_docker_version
是一个 boolean 类型的参数,表示在运行 RKE 前是否执行 Docker 版本检测,可选值为true
和false
,默认值为false
。以下代码示例省略了cluster.yaml
文件中的其他参数,展示了如何将的值修改为true
。修改后不会在运行 RKE 前检查所有主机的 Docker 版本号。
ignore_docker_version: true
Kubernetes 版本
RKE 目前不支持回滚 Kubernetes 版本。
前缀路径
RKE 将 ROS、CoreOS 等操作系统的相关资源存储在不同的前缀路径下。默认情况下,RKE 存储这些资源时会添加一个前缀:/opt/rke
。
例如,已有的/etc/kubernetes
最终的存储路径是/opt/rke/etc/kubernetes
,/var/lib/etcd
最终的存储路径是/opt/rke/var/lib/etcd
。
RKE 使用ssh
连接到主机。通常情况下,每个节点都会在nodes
部分为每个 ssh 密钥设置一个独立的路径,即 ssh_key_path
,但如果您在集群配置文件中拥有一个能够访问所有主机的 SSH 密钥,您可以在顶层设置该 ssh 密钥的路径。否则,您会在中设置 ssh 密钥路径。
如果在集群级和节点级都定义了 ssh 密钥路径,那么 RKE 会优先使用节点层级的密钥。
SSH Agent
RKE 支持使用本地 ssh 代理的 ssh 连接配置。这个选项的默认值是 false
,如果您想设置使用本地 ssh 代理,请打开cluster.yml
文件,找到ssh_agent_auth
一栏,将默认值修改为true
,如下方代码样例所示。
eval "$(ssh-agent -s)"
Agent pid 3975
$ ssh-add /home/user/.ssh/id_rsa
Enter passphrase for /home/user/.ssh/id_rsa:
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
/tmp/ssh-118TMqxrXsEx/agent.3974
插件 job 连接超时
您可以定义 RKE 插件及其连接超时的时间,在 Kubernetes 集群成功运行后,RKE 以 Kubernetes job的形式运行插件。如果连接超时,RKE 将停止尝试检索 job 状态,超时的单位是秒。默认超时值为30
秒。