服务器配置参考
这是一个关于可以用于配置 rke2 服务器的所有参数的参考。请注意,虽然这是命令行参数的参考,但配置 RKE2 的最佳方式是使用 配置文件。
关键配置值
以下选项必须在集群中的所有服务器上设置为相同的值。如果不这样做,将导致新服务器无法加入集群。
-
agent-token -
cluster-cidr -
cluster-dns -
cluster-domain -
disable-cloud-controller -
disable-kube-proxy -
egress-selector-mode -
service-cidr
常用
| 标志 | 说明 | 默认值 | 环境变量 |
|---|---|---|---|
config |
配置文件路径 |
/etc/rancher/rke2/config.yaml |
RKE2_CONFIG_FILE |
debug |
打开调试日志 |
RKE2_DEBUG |
|
数据目录 |
用于保存状态的文件夹 |
"/var/lib/rancher/rke2" |
RKE2_DATA_DIR |
侦听器
| 标志 | 说明 | 默认值 |
|---|---|---|
绑定地址 |
rke2 绑定地址 |
0.0.0.0 |
广告地址 |
apiserver 用于向集群成员广告的 IPv4/IPv6 地址 |
node-external-ip/node-ip |
tls-san |
在服务器 TLS 证书上添加额外的主机名或 IPv4/IPv6 地址作为主题备用名称 |
|
tls-san-security |
通过拒绝添加与 kubernetes apiserver 服务、服务器节点或 tls-san 选项的值无关的主题备用名称来保护服务器 TLS 证书 |
true |
网络
| 标志 | 说明 | 默认值 | 环境变量 |
|---|---|---|---|
cluster-cidr |
用于 Pod IP 的 IPv4/IPv6 网络 CIDR |
10.42.0.0/16 |
|
service-cidr |
用于服务 IP 的 IPv4/IPv6 网络 CIDR |
10.43.0.0/16 |
|
service-node-port-range |
为具有 NodePort 可见性的服务保留的端口范围 |
"30000-32767" |
|
集群 DNS |
coredns 服务的 IPv4 集群 IP。应在您的 service-cidr 范围内 |
10.43.0.10 |
|
集群域 |
集群域 |
"cluster.local" |
|
出口选择器模式 |
其中之一为 'agent'、'cluster'、'pod'、'disabled' |
"agent" |
|
servicelb-namespace |
servicelb 组件的 pod 命名空间 |
"kube-system" |
|
cni |
要部署的 CNI 插件,选项为 none、calico、canal、cilium;可选地将 multus 作为第一个值以启用 multus 元插件 |
canal |
RKE2_CNI |
ingress-controller |
Ingress Controllers to deploy, one of none, traefik, ingress-nginx; the first value will be set as the default ingress class |
RKE2_INGRESS_CONTROLLER |
Helm
| 标志 | 说明 |
|---|---|
helm-controller-arg |
Customized flag for helm-controller process |
群集
| 标志 | 说明 | 环境变量 |
|---|---|---|
令牌 |
用于将服务器或代理加入集群的共享密钥 |
RKE2_TOKEN |
词元文件 |
包含词元的文件 |
RKE2_TOKEN_FILE |
agent-token |
用于将代理加入集群的共享密钥,但不包括服务器 |
RKE2_AGENT_TOKEN |
代理词元文件 |
包含代理密钥的文件 |
RKE2_AGENT_TOKEN_FILE |
server |
要连接的服务器,用于加入集群 |
RKE2_URL |
cluster-reset |
忘记所有对等体,成为新集群的唯一成员 |
RKE2_CLUSTER_RESET |
数据库
| 标志 | 说明 | 默认值 | 环境变量 |
|---|---|---|---|
cluster-reset-restore-path |
要恢复的快照文件路径 |
||
etcd-expose-metrics |
将 etcd 指标暴露给客户端接口。 |
false |
|
etcd-disable-snapshots |
禁用自动 etcd 快照 |
||
etcd-snapshot-name |
设置 etcd 快照的基本名称 |
etcd-snapshot-<unix-timestamp>) |
|
etcd-snapshot-schedule-cron |
快照间隔时间的 cron 规范。例如,每 5 小时 '0 */5 * * *' |
"0 */12 * * *" |
|
etcd-snapshot-reconcile-interval |
Snapshot reconcile interval |
10m0s |
|
etcd-snapshot-retention |
要保留的快照数量 |
5 |
|
etcd-snapshot-dir |
保存数据库快照的目录。 |
${数据目录}/db/snapshots |
|
etcd快照压缩 |
压缩 etcd 快照 |
S3 etcd 快照存储
| 标志 | 说明 | 默认值 | 环境变量 |
|---|---|---|---|
etcd-s3 |
启用备份到 S3 |
||
etcd-s3-endpoint |
S3 端点 URL |
"s3.amazonaws.com" |
|
etcd-s3-endpoint-ca |
连接到 S3 端点的 S3 自定义 CA 证书 |
||
etcd-s3-skip-ssl-verify |
禁用 S3 SSL 证书验证 |
||
etcd-s3-access-key |
S3 访问密钥 |
AWS_ACCESS_KEY_ID |
|
etcd-s3-secret-key |
S3 秘密密钥 |
AWS_SECRET_ACCESS_KEY |
|
etcd-s3-session-token |
S3 会话令牌 |
AWS_SESSION_TOKEN |
|
etcd-s3-bucket |
S3 存储桶名称 |
||
etcd-s3-bucket-lookup-type |
S3 桶查找类型,选择 'auto'、'dns' 或 'path' 之一 |
"auto" |
|
etcd-s3-region |
S3 区域/存储桶位置(可选) |
"us-east-1" |
|
etcd-s3-folder |
S3 文件夹 |
||
etcd-s3-bucket-lookup-type |
S3 桶查找类型,选择 'auto'、'dns' 或 'path' 之一 |
"auto" |
|
etcd-s3-insecure |
禁用 S3 的 HTTPS |
||
etcd-s3-timeout |
S3 超时 |
5m0s |
标志
| 标志 | 说明 |
|---|---|
kube-apiserver-arg |
kube-apiserver 进程的自定义标志 |
etcd-参数 |
etcd 进程的自定义标志 |
kube-controller-manager-arg |
kube-controller-manager 进程的自定义标志 |
kube-scheduler-参数 |
kube-scheduler 进程的自定义标志 |
kube-cloud-controller-manager-arg |
kube-cloud-controller-manager 进程的自定义标志 |
组件
| 标志 | 说明 | 环境变量 |
|---|---|---|
disable |
不部署软件包组件并删除任何已部署的组件(有效项目:rke2-coredns、rke2-ingress-nginx、rke2-metrics-server) |
|
禁用调度器 |
禁用 Kubernetes 默认调度器 |
|
disable-cloud-controller |
禁用 rke2 默认云控制器管理器 |
|
disable-kube-proxy |
禁用运行 kube-proxy |
|
启用服务lb |
启用rke2默认云控制器管理器的服务控制器 |
RKE2_ENABLE_SERVICELB |
control-plane-resource-requests |
控制平面资源请求 |
RKE2_CONTROL_PLANE_RESOURCE_REQUESTS |
control-plane-resource-limits |
控制平面资源限制 |
RKE2_CONTROL_PLANE_RESOURCE_LIMITS |
control-plane-probe-configuration |
控制平面探针配置 |
RKE2_CONTROL_PLANE_PROBE_CONFIGURATION |
kube-apiserver-extra-mount |
kube-apiserver 额外卷挂载 |
RKE2_KUBE_APISERVER_EXTRA_MOUNT |
kube-scheduler-extra-mount |
kube-scheduler 额外卷挂载 |
RKE2_KUBE_SCHEDULER_EXTRA_MOUNT |
kube-controller-manager-extra-mount |
kube-controller-manager 额外卷挂载 |
RKE2_KUBE_CONTROLLER_MANAGER_EXTRA_MOUNT |
kube-proxy-extra-mount |
kube-proxy 额外卷挂载 |
RKE2_KUBE_PROXY_EXTRA_MOUNT |
etcd 额外卷挂载 |
etcd 额外卷挂载 |
RKE2_ETCD_EXTRA_MOUNT |
cloud-controller-manager-extra-mount |
云控制器管理器 额外卷挂载 |
RKE2_CLOUD_CONTROLLER_MANAGER_EXTRA_MOUNT |
kube-apiserver-extra-env |
kube-apiserver 额外环境变量 |
RKE2_KUBE_APISERVER_EXTRA_ENV |
kube-scheduler-extra-env |
kube-scheduler 额外环境变量 |
RKE2_KUBE_SCHEDULER_EXTRA_ENV |
kube-controller-manager-extra-env |
kube-controller-manager 额外环境变量 |
RKE2_KUBE_CONTROLLER_MANAGER_EXTRA_ENV |
kube-proxy-extra-env |
kube-proxy 额外环境变量 |
RKE2_KUBE_PROXY_EXTRA_ENV |
etcd-extra-env |
etcd 额外环境变量 |
RKE2_ETCD_EXTRA_ENV |
cloud-controller-manager-extra-env |
云控制器管理器 额外环境变量 |
RKE2_CLOUD_CONTROLLER_MANAGER_EXTRA_ENV |
ingress-controller |
要部署的 Ingress 控制器,选项为 none、ingress-nginx 或 traefik |
映像
| 标志 | 说明 | 环境变量 |
|---|---|---|
kube-apiserver-image |
覆盖 kube-apiserver 使用的镜像 |
RKE2_KUBE_APISERVER_IMAGE |
kube-controller-manager-image |
覆盖 kube-controller-manager 使用的镜像 |
RKE2_KUBE_CONTROLLER_MANAGER_IMAGE |
cloud-controller-manager-image |
覆盖 cloud-controller-manager 使用的镜像 |
RKE2_CLOUD_CONTROLLER_MANAGER_IMAGE |
kube-proxy-image |
覆盖 kube-proxy 使用的镜像 |
RKE2_KUBE_PROXY_IMAGE |
kube-scheduler 镜像 |
覆盖 kube-scheduler 使用的镜像 |
RKE2_KUBE_SCHEDULER_IMAGE |
pause 镜像 |
覆盖 pause 使用的镜像 |
RKE2_PAUSE_IMAGE |
runtime 镜像 |
覆盖 runtime 二进制文件(containerd、kubectl、crictl 等)使用的镜像 |
RKE2_RUNTIME_IMAGE |
etcd镜像 |
覆盖 etcd 使用的镜像 |
RKE2_ETCD_IMAGE |
云提供商
| 标志 | 说明 | 环境变量 |
|---|---|---|
cloud-provider-name |
云提供商名称 |
RKE2_CLOUD_PROVIDER_NAME |
cloud-provider-config |
云提供商配置文件路径 |
RKE2_CLOUD_PROVIDER_CONFIG |
node-name-from-cloud-provider-metadata |
Set node name from instance metadata service hostname |
false |
安全性
| 标志 | 说明 | 环境变量 |
|---|---|---|
配置文件 |
根据所选基准验证系统配置(有效项:cis,cis-1.23(已弃用)) |
RKE2_CIS_PROFILE |
audit-policy-file |
定义审计策略配置的文件路径 |
RKE2_AUDIT_POLICY_FILE |
pod-security-admission-config-file |
定义Pod安全准入配置的文件路径 |
RKE2_POD_SECURITY_ADMISSION_CONFIG_FILE |
secrets-encryption-provider |
要使用的加密提供程序 |
不适用 |
实验性
| 标志 | 说明 | 环境变量 |
|---|---|---|
embedded-registry |
启用嵌入式分布式容器注册表;需要使用嵌入式containerd |
|
启用pprof |
在主管端口启用 pprof 端点 |
|
kubelet-path |
覆盖 kubelet 二进制文件路径 |
RKE2_KUBELET_PATH |
代理/节点
| 标志 | 说明 | 默认值 | 环境变量 |
|---|---|---|---|
节点名称 |
节点名称 |
RKE2_NODE_NAME |
|
with-node-id |
将 ID 附加到节点名称 |
||
node-label |
使用标签集注册并启动 kubelet |
||
节点污点 |
使用污点集注册kubelet |
||
image-credential-provider-bin-dir |
凭证提供者插件二进制文件所在目录的路径 |
"/var/lib/rancher/credentialprovider/bin" |
|
image-credential-provider-config |
凭证提供者插件配置文件的路径 |
"/var/lib/rancher/credentialprovider/config.yaml" |
|
protect-kernel-defaults |
内核调优行为。如果设置,内核可调参数与kubelet默认值不同则报错。 |
||
selinux |
在containerd中启用SELinux |
RKE2_SELINUX |
|
lb-server-port |
用于主管客户端负载均衡器的本地端口。如果主管和apiserver不在同一位置,将使用比此端口少1的额外端口用于apiserver客户端负载均衡器。 |
6444 |
RKE2_LB_SERVER_PORT |
代理/运行时
| 标志 | 说明 | 默认值 | 环境变量 |
|---|---|---|---|
容器运行时端点 |
禁用嵌入式containerd并使用给定路径的CRI套接字;与—docker一起使用时,这将设置docker套接字路径 |
||
默认运行时 |
在containerd中设置默认运行时 |
||
snapshotter |
覆盖默认的 containerd 快照器 |
"overlayfs" |
|
private-registry |
私有注册表配置文件 |
"/etc/rancher/rke2/registries.yaml" |
|
system-default-registry |
用于所有系统镜像的专用注册表 |
RKE2_SYSTEM_DEFAULT_REGISTRY |