SUSE® Rancher Prime: RKE2 集群配置参考
本文介绍 Rancher 中可用于新的或现有的 RKE2 Kubernetes 集群的配置选项。
概述
你可以通过以下两种方式之一来配置 Kubernetes 选项:
-
Rancher UI:使用 Rancher UI 来选择设置 Kubernetes 集群时常用的自定义选项。
-
集群配置文件:高级用户可以创建一个 RKE2 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件让你能设置更多可用于 RKE2 的其他安装选项。
使用 YAML 编辑集群
高级用户可以创建一个 RKE2 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件可以让你使用 YAML 来指定 RKE2 安装中可用的任何选项。
要直接从 Rancher UI 中编辑 RKE2 配置文件:
-
点击 ☰ > 集群管理。
-
转到你要配置的集群,然后单击 ⋮ > 以 YAML 文件编辑。
-
编辑
rkeConfig
参数下的 RKE 选项。
Rancher UI 中的配置选项
一些高级配置选项没有在 Rancher UI 表单中开放,但你可以通过在 YAML 中编辑 RKE2 集群配置文件来启用这些选项。有关 YAML 中 RKE2 Kubernetes 集群的可配置选项的完整参考,请参阅 RKE2 文档。 |
主机池
本小节介绍了通用的主机池配置。对于针对特定基础设施提供商的配置,请参阅以下页面:
高级配置
污点
将污点(taint)添加到节点,防止 pod 被调度或在节点上执行(除非 pod 具有匹配的容忍度)。
集群配置
基本信息
Kubernetes 版本
这指的是集群节点上安装的 Kubernetes 版本。Rancher 基于 hyperkube 打包了自己的 Kubernetes 版本。
有关更多详细信息,请参阅升级 Kubernetes。
容器网络提供商
这指的是集群使用的网络提供商。
启动集群后,你无法更改网络提供商。由于 Kubernetes 不允许在网络提供商之间切换,因此,请谨慎选择要使用的网络提供商。使用网络提供商创建集群后,如果你需要更改网络提供商,你将需要拆除整个集群以及其中的所有应用。 |
Rancher 与以下开箱即用的网络提供商兼容:
有关不同网络提供商以及如何配置它们的更多详细信息,请查阅 RKE2 文档。
双栈网络
所有 CNI 网络插件都支持双栈网络。要在双栈模式下配置 RKE2,请为你的集群 CIDR 和/或 Service CIDR 设置有效的 IPv4/IPv6 CIDR。
云提供商
你可以配置 Kubernetes 云提供商。如果你想在 Kubernetes 中使用动态配置的卷和存储,你通常需要选择特定的云提供商。例如,如果你想使用 Amazon EBS,则需要选择 aws
云提供商。
Worker CIS 配置文件
选择一个 CIS benchmark 来验证系统配置。
项目网络隔离
如果你的网络提供商允许项目网络隔离,你可以选择启用或禁用项目间的通信。
如果你使用支持执行 Kubernetes 网络策略的 RKE2 网络插件(例如 Canal),则可以使用项目网络隔离。
CoreDNS
默认情况下,https://coredns.io/[CoreDNS] 会安装为默认 DNS 提供程序。如果未安装 CoreDNS,则必须自己安装备用 DNS 提供程序。有关其他 CoreDNS 配置,请参阅 RKE2 文档。
NGINX Ingress
如果你想使用高可用性配置来发布应用,并且你使用没有原生负载均衡功能的云提供商来托管主机,请启用此选项以在集群中使用 NGINX Ingress。有关其他配置选项,请参阅 RKE2 文档。
有关其他配置选项,请参阅 RKE2 文档。
Metrics Server
这是启用或禁用 Metrics Server 的选项。
每个能够使用 RKE2 启动集群的云提供商都可以收集指标并监控你的集群节点。如果启用此选项,你可以从你的云提供商门户查看你的节点指标。
Agent 环境变量
为 Rancher agent 设置环境变量的选项。你可以使用键值对设置环境变量。有关详细信息,请参阅 RKE2 文档。
etcd
自动快照
启用或禁用定期 etcd 快照的选项。如果启用,用户可以配置快照的频率。有关详细信息,请参阅 RKE2 文档。请注意,如果使用 RKE2,快照会存储在每个 etcd 节点上,这与 RKE1 不同(RKE1 每个集群只存储一个快照)。
网络
NodePort 服务端口范围
更改可用于 NodePort 服务的端口范围的选项。默认值为 30000-32767
。
镜像仓库
选择要从中拉取 Rancher 镜像的镜像仓库。有关更多详细信息和配置选项,请参阅 RKE2 文档。
高级配置
为不同节点设置 kubelet 选项。有关可用选项,请参阅 Kubernetes 文档。
集群配置文件参考
高级用户可以创建一个配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件允许你为 RKE2 设置可用的选项,其中包括已经在 Rancher UI 配置选项中列出的选项以及 Rancher 特定的参数。集群配置文件片段示例
yaml spec: cloudCredentialSecretName: cattle-global-data:cc-s879v kubernetesVersion: v1.23.6+rke2r2 localClusterAuthEndpoint: {} rkeConfig: chartValues: rke2-calico: {} etcd: snapshotRetention: 5 snapshotScheduleCron: 0 */5 * * * machineGlobalConfig: cni: calico disable-kube-proxy: false etcd-expose-metrics: false profile: null machinePools: - controlPlaneRole: true etcdRole: true machineConfigRef: kind: Amazonec2Config name: nc-test-pool1-pwl5h name: pool1 quantity: 1 unhealthyNodeTimeout: 0s workerRole: true machineSelectorConfig: - config: protect-kernel-defaults: false registries: {} upgradeStrategy: controlPlaneConcurrency: "1" controlPlaneDrainOptions: deleteEmptyDirData: true enabled: true gracePeriod: -1 ignoreDaemonSets: true timeout: 120 workerConcurrency: "1" workerDrainOptions: deleteEmptyDirData: true enabled: true gracePeriod: -1 ignoreDaemonSets: true timeout: 120
machineGlobalConfig
RKE2/K3s 配置嵌套在 machineGlobalConfig
参数下。在这里所做的任何配置更改都将应用到每个节点。你可以在此处应用RKE2 的独立版本中可用的配置选项。
示例:
machineGlobalConfig:
etcd-arg:
- key1=value1
- key2=value2
machineSelectorConfig
此参数与 machineGlobalConfig
相同,只是可以在配置中指定 label 选择器。该配置仅应用于与标签选择器匹配的节点。
允许多个 config
条目,可以为每个条目指定各自的 machineLabelSelector
。用户可以指定 matchExpressions
、matchLabels
、指定二者或都不指定。如果你省略了 machineLabelSelector
,则与将 config 放入 machineGlobalConfig
的效果相同。
示例:
machineSelectorConfig
- config:
config-key: config-value
machineLabelSelector:
matchExpressions:
- key: example-key
operator: string # 有效的运算符:In、NotIn、Exists 和 DoesNotExist
values:
- example-value1
- example-value2
matchLabels:
key1: value1
key2: value2