Kubernetes 配置选项
#
概述编辑 RKE 的cluster.yml
文件时,您可以在文件中配置多种不同的选项,控制 RKE 如何启动 Kubernetes。
为了让用户对如何使用cluster.yml
文件配置 Kubernetes 选项有更好的了解,RKE 提供了几个 yaml 示例,详情请参考yaml 示例。
#
配置节点选项#
配置 Kubernetes 集群选项- 集群名称
- Kubernetes 版本
- 前缀路径
- 系统镜像
- 默认的 Kubernetes 服务
- 自定义参数、Docker 挂载绑定和额外的环境变量
- 外部 etcd
- 认证方式
- 授权
- 配置事件速率限制
- 云服务提供商
- 审计日志
- RKE 插件
#
集群层级选项#
集群名称默认情况下,您的集群名称是local
。如果您需要修改集群名称,请打开cluster.yml
文件,找到cluster_name
一栏,修改集群名称。以下代码示例省略了cluster.yaml
文件中的其他参数,展示了如何将集群名称修改为mycluster
。
#
检查 Docker 版本默认情况下,RKE 会检查所有主机上已安装的 Docker 的版本号,如果 Kubernetes 不支持该版本的 Docker,会导致 RKE 运行失败并且报错。请参考RKE 支持的 Docker 版本,找到您正在使用的 RKE 版本、它支持的 Docker 版本号和 Kubernetes 版本号。
ignore_docker_version
是一个 boolean 类型的参数,表示在运行 RKE 前是否执行 Docker 版本检测,可选值为true
和false
,默认值为false
。
如果您不希望在运行 RKE 之前检查 Docker 版本号,您可以打开cluster.yml
文件,找到ignore_docker_version
一栏,并将它的值设定为true
。以下代码示例展示了如何将ignore_docker_version
的值修改为true
,修改后不会在运行 RKE 前检查所有主机的 Docker 版本号。
#
Kubernetes 版本打开cluster.yml
文件,找到 kubernetes_version
字符串,将原有的版本号修改为新的版本号即可。详情请参考升级必读。
RKE 目前不支持回滚 Kubernetes 版本。
#
前缀路径RKE 将 ROS、CoreOS 等操作系统的相关资源存储在不同的前缀路径下。默认情况下,RKE 存储这些资源时会添加一个前缀:/opt/rke
。
例如,已有的/etc/kubernetes
最终的存储路径是/opt/rke/etc/kubernetes
,/var/lib/etcd
最终的存储路径是/opt/rke/var/lib/etcd
。
如果您需要修改默认的存储路径,请打开cluster.yml
文件,找到prefix_path
一栏,将已有的存储路径修改为您想要的路径,如下方代码样例所示。
#
集群级 SSH 密钥路径RKE 使用ssh
连接到主机。通常情况下,每个节点都会在nodes
部分为每个 ssh 密钥设置一个独立的路径,即 ssh_key_path
,但如果您在集群配置文件中拥有一个能够访问所有主机的 SSH 密钥,您可以在顶层设置该 ssh 密钥的路径。否则,您会在nodes中设置 ssh 密钥路径。
如果在集群级和节点级都定义了 ssh 密钥路径,那么 RKE 会优先使用节点层级的密钥。
#
SSH AgentRKE 支持使用本地 ssh 代理的 ssh 连接配置。这个选项的默认值是 false
,如果您想设置使用本地 ssh 代理,请打开cluster.yml
文件,找到ssh_agent_auth
一栏,将默认值修改为true
,如下方代码样例所示。
如果您想使用带有口令的 SSH 私钥,您需要将您的密钥添加到ssh-agent
中,并配置环境变量SSH_AUTH_SOCK
。
#
插件 job 连接超时您可以定义 RKE 插件及其连接超时的时间,在 Kubernetes 集群成功运行后,RKE 以 Kubernetes job的形式运行插件。如果连接超时,RKE 将停止尝试检索 job 状态,超时的单位是秒。默认超时值为30
秒。
#
cri-dockerdKubernetes 将在未来的 Kubernetes 版本中删除与 Docker(dockershim)交互的 kubelet 中的代码。更多信息,请参阅 Dockershim 废弃常见问题:dockershim 什么时候会被移除?。替换这段代码的组件被称为 cri-dockerd
,可以使用以下配置启用: