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 - 它定义了调度器的配置参数。

apiVersion: kubeadm.k8s.io/v1beta2
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.0.132
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  name: master
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns:
  type: CoreDNS
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.26.2
networking:
  dnsDomain: cluster.local
  podsubnet: 192.168.0.0/16
  serviceSubnet: 10.96.0.0/16
scheduler: {}
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐