Kubernetes Cluster Configuration

This tutorial explains how to customize Kubernetes cluster configurations in config-sample.yaml (needed for Multi-node Installation) when you use KubeKey to provision a cluster. You can refer to the following section to understand each parameter.

  1. ######################### Kubernetes #########################
  2. kubernetes:
  3. version: v1.17.9 # The default k8s version is v1.17.9; you can specify 1.15.2, v1.16.13 or v1.18.6 based on your needs.
  4. imageRepo: kubesphere # DockerHub Repo
  5. clusterName: cluster.local # Kubernetes Cluster Name
  6. masqueradeAll: false # masqueradeAll tells kube-proxy to SNAT everything if using the pure iptables proxy mode. [Default: false]
  7. maxPods: 110 # maxPods is the number of pods that can run on this Kubelet. [Default: 110]
  8. nodeCidrMaskSize: 24 # Internal network node size allocation. This is the size allocated to each node in your network. [Default: 24]
  9. proxyMode: ipvs # The mode specifies which proxy mode to use. [Default: ipvs]
  10. network:
  11. plugin: calico # Calico by default. KubeSphere Network Policy is based on Calico. You can also specify Flannel based on your needs.
  12. calico:
  13. ipipMode: Always # IPIP Mode to use for the IPv4 POOL created at start up. If it is set to a value other than Never, vxlanMode should be set to "Never". [Always | CrossSubnet | Never] [Default: Always]
  14. vxlanMode: Never # VXLAN Mode to use for the IPv4 POOL created at start up. If it is set to a value other than Never, ipipMode should be set to "Never". [Always | CrossSubnet | Never] [Default: Never]
  15. vethMTU: 1440 # The maximum transmission unit (MTU) setting determines the largest packet size that can be transmitted through your network. [Default: 1440]
  16. kubePodsCIDR: 10.233.64.0/18 # A valid CIDR range for Kubernetes pod subnet. It should not overlap with node subnet, and it should not overlap with Kubernetes services subnet.
  17. kubeServiceCIDR: 10.233.0.0/18 # A valid CIDR range for Kubernetes services. It should not overlap with node subnet, and it should not overlap with Kubernetes pod subnet.
  18. registry:
  19. registryMirrors: [] # For users who need to speed up downloads.
  20. insecureRegistries: [] # Set an address of insecure image registry. See https://docs.docker.com/registry/insecure/
  21. privateRegistry: "" # Configure a private image registry for air-gapped installation (e.g. docker local registry or Harbor).
  22. addons: [] # You can specify any add-ons with one or more Helm Charts or YAML files in this field (e.g. CSI plugins or cloud provider plugins).