Kubernetes 集群配置

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

  kubernetes:
    version: v1.19.8
    imageRepo: kubesphere
    clusterName: cluster.local
    masqueradeAll: false
    maxPods: 110
    nodeCidrMaskSize: 24
    proxyMode: ipvs
  network:
    plugin: calico
    calico:
      ipipMode: Always
      vxlanMode: Never
      vethMTU: 1440
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
  registry:
    registryMirrors: []
    insecureRegistries: []
    privateRegistry: ""
  addons: []

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

参数 描述
kubernetes
version Kubernetes 安装版本。如未指定 Kubernetes 版本,KubeKey v1.1.0 默认安装 Kubernetes v1.19.8。有关更多信息,请参阅支持矩阵
imageRepo 用于下载镜像的 Docker Hub 仓库
clusterName Kubernetes 集群名称。
masqueradeAll* 如果使用纯 iptables 代理模式,masqueradeAll 即让 kube-proxy 对所有流量进行源地址转换 (SNAT)。它默认值为 false
maxPods* Kubelet 可运行 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
kubePodsCIDR Kubernetes Pod 子网的有效 CIDR 块。CIDR 块不应与您的节点子网和 Kubernetes 服务子网重叠。
kubeServiceCIDR Kubernetes 服务的有效 CIDR 块。CIDR 块不应与您的节点子网和 Kubernetes Pod 子网重叠。
registry
registryMirrors 配置 Docker 仓库镜像以加速下载。有关详细信息,请参阅配置 Docker 守护进程
insecureRegistries 设置不安全镜像仓库的地址。有关详细信息,请参阅测试不安全仓库
privateRegistry* 配置私有镜像仓库,用于离线安装(例如,Docker 本地仓库或 Harbor)。有关详细信息,请参阅离线安装

备注

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

感谢您的反馈。如果您有关于如何使用 KubeSphere 的具体问题,请在 Slack 上提问。如果您想报告问题或提出改进建议,请在 GitHub 存储库中打开问题。

页面内容