版本列表
kubeadm-config 的版本列表
kubeadm-config 迁移
使用命令如下,不同版本对应kubeadm不同版本。
基础知识
kubeadm-config 支持以下配置类型
和 的默认配置可以使用以下命令打印出来
Kubeadm init configuration 配置说明
执行, 有以下类型可以配置
InitConfiguration
ClusterConfiguration
KubeProxyConfiguration
KubeletConfiguration
现在详细讲解配置文件
InitConfiguration
bootstrapTokens :集群初始化需要的token 设置
nodeRegistration :包含集群节点的配置相关字段
LocalAPIEndpoint :API server部署在当前节点的监听地址和端口号
ClusterConfiguration
Networking :集群的网络配置,比如node和 service的子网
Etcd configurations:etcd的相关配置,以及指定自建etcd 集群
kube-apiserver, kube-scheduler, kube-controller-manager :master组件的相关配置
KubeProxyConfiguration
更多的配置参数查看官方文档
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ or https://godoc.org/k8s.io/kube-proxy/config/v1alpha1#KubeProxyConfiguration
KubeletConfiguration
更多的配置参数查看官方文档
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ or https://godoc.org/k8s.io/kubelet/config/v1beta1#KubeletConfiguration
关于这个配置文件的文档还是很不完善,对于不懂 golang 的人来说很难知道具体怎么配置,以下做一下简要说明(请确保你已经拉取了 kubernetes 源码
kubeadm 配置中每个配置段都会有个 字段, 实际上对应了 go 代码中的 结构体;同时从 字段中能够看到具体的版本,比如 等;有了这两个信息事实上你就可以直接在源码中去找到对应的结构体
关于数据类型,如果是 的类型,那么意味着你要在 yaml 里写 带引号这种,当然有些时候不写能兼容,有些时候不行比如 字段是一个 如果 value 不带引号就报错;如果数据类型为 (实际上就是 ),那么你看着它是个 但实际上你要写 这种人类可读的格式
init 完整示例
本示例基于1.19,基本上所有能配的东西都写里面了。请结合你的实际情况进行取舍。
Kubeadm join configuration 配置说明
NodeRegistration :同上,node的相关配置
APIEndpoint :指定要加入的集群
join 完整示例
领取专属 10元无门槛券
私享最新 技术干货