服务器配置参考

这是一个关于可以用于配置 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

客户端

标志 说明 环境变量

write-kubeconfig

将 kubeconfig 写入此文件以供管理员客户端使用

RKE2_KUBECONFIG_OUTPUT

write-kubeconfig-mode

使用此模式写入 kubeconfig

RKE2_KUBECONFIG_MODE

write-kubeconfig-group

Write kubeconfig with this group

RKE2_KUBECONFIG_GROUP

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

代理/Containerd

标志 说明

disable-default-registry-endpoint

当为该注册表配置镜像时,禁用 containerd 的回退默认注册表端点

代理/网络

标志 说明 环境变量

节点IP

要为节点宣传的IPv4/IPv6地址

node-external-ip

要为节点宣传的IPv4/IPv6外部IP地址

resolv.conf

Kubelet resolv.conf 文件

RKE2_RESOLV_CONF

代理/标志

标志 说明

kubelet-arg

用于 kubelet 进程的自定义标志

kube-proxy-arg

用于 kube-proxy 进程的自定义标志