Kubernetes 集群配置

当创建 Kubernetes 集群时,您可以使用 KubeKey 去生成含有集群基本信息的配置文件 (config-sample.yaml)。有关配置文件中的 Kubernetes 相关参数,请参阅以下示例。

  1. kubernetes:
  2. version: v1.21.5
  3. imageRepo: kubesphere
  4. clusterName: cluster.local
  5. masqueradeAll: false
  6. maxPods: 110
  7. nodeCidrMaskSize: 24
  8. proxyMode: ipvs
  9. network:
  10. plugin: calico
  11. calico:
  12. ipipMode: Always
  13. vxlanMode: Never
  14. vethMTU: 1440
  15. kubePodsCIDR: 10.233.64.0/18
  16. kubeServiceCIDR: 10.233.0.0/18
  17. registry:
  18. registryMirrors: []
  19. insecureRegistries: []
  20. privateRegistry: ""
  21. addons: []

以下表格会详细描述上面的参数。

参数描述
kubernetes
versionKubernetes 安装版本。如未指定 Kubernetes 版本,KubeKey v2.2.1 默认安装 Kubernetes v1.23.7。有关更多信息,请参阅支持矩阵
imageRepo用于下载镜像的 Docker Hub 仓库
clusterNameKubernetes 集群名称。
masqueradeAll如果使用纯 iptables 代理模式,masqueradeAll 即让 kube-proxy 对所有流量进行源地址转换 (SNAT)。它默认值为 false
maxPodsKubelet 可运行 Pod 的最大数量,默认值为 110
nodeCidrMaskSize集群中节点 CIDR 的掩码大小,默认值为 24
proxyMode使用的代理模式,默认为 ipvs
network
plugin是否使用 CNI 插件。KubeKey 默认安装 Calico,您也可以指定为 Flannel。请注意,只有使用 Calico 作为 CNI 插件时,才能使用某些功能,例如 Pod IP 池。
calico.ipipMode用于集群启动时创建 IPv4 池的 IPIP 模式。如果值设置除 Never 以外的值,则参数 vxlanMode 应该被设置成 Never。此参数允许设置值 AlwaysCrossSubnetNever。默认值为 Always
calico.vxlanMode用于集群启动时创建 IPv4 池的 VXLAN 模式。如果该值不设为 Never,则参数 ipipMode 应该设为 Never。此参数允许设置值 AlwaysCrossSubnetNever。默认值为 Never
calico.vethMTU最大传输单元(maximum transmission unit 简称 MTU)设置可以通过网络传输的最大数据包大小。默认值为 1440
kubePodsCIDRKubernetes Pod 子网的有效 CIDR 块。CIDR 块不应与您的节点子网和 Kubernetes 服务子网重叠。
kubeServiceCIDRKubernetes 服务的有效 CIDR 块。CIDR 块不应与您的节点子网和 Kubernetes Pod 子网重叠。
registry
registryMirrors配置 Docker 仓库镜像以加速下载。有关详细信息,请参阅配置 Docker 守护进程
insecureRegistries设置不安全镜像仓库的地址。有关详细信息,请参阅测试不安全仓库
privateRegistry配置私有镜像仓库,用于离线安装(例如,Docker 本地仓库或 Harbor)。有关详细信息,请参阅离线安装

备注

  • *默认情况下,KubeKey 不会在配置文件中定义这些参数,您可以手动添加这些参数并自定义其值。
  • addons 用于安装云原生扩展 (Addon)(YAML 或 Chart)。有关详细信息,请参阅此文件
  • 此页面仅列出 KubeKey 创建的配置文件中的部分参数。有关其他参数的详细信息,请参阅此示例文件