InitConfiguration部分:
apiVersion: kubeadm.k8s.io/v1beta2 - 它指定了API的版本,本配置文件使用的是Kubeadm的v1beta2版本。
bootstrapTokens - 这个字段定义了一个token,它是用来启动集群的,包括groups(组)、token(令牌)、ttl(生命周期)和usages(用途)等信息。在这个例子中,这个token的生命周期是24小时,它可以被用来签名和认证。
localAPIEndpoint - 它指定了kube-apiserver绑定的IP地址和端口号。
nodeRegistration - 它定义了Kubernetes节点的注册信息,包括CRI socket(容器运行时接口socket)和节点名称。在这个例子中,节点名称是master,并且还定义了一个taint,使该节点标记为不可调度(NoSchedule),即不会有Pod调度到这个节点上。
ClusterConfiguration部分:
apiServer - 它定义了kube-apiserver的控制面配置参数,其中包括控制面超时时间。
apiVersion - 它指定了API的版本,本配置文件使用的是Kubeadm的v1beta2版本。
certificatesDir - 它指定了证书存放的目录。
clusterName - 它定义了集群名称。
controllerManager - 它定义了控制器管理器的配置参数。
dns - 它定义了DNS插件的类型,这里使用的是CoreDNS。
etcd - 它定义了etcd的本地存储配置参数,包括数据目录。
imageRepository - 它定义了Kubernetes组件镜像的存储库。
kind - 它指定了这个配置文件是ClusterConfiguration类型的。
kubernetesVersion - 它定义了Kubernetes的版本号。
networking - 它定义了网络配置参数,包括DNS域名、Pod子网和服务子网。
scheduler - 它定义了调度器的配置参数。