认识
Kubeadm 是 Kubernetes 中的一个工具,其用于初始化、升级、管理 Kubernetes 集群。
组成
WIP
构建
命令安装
通过 kubeadm 部署集群时,通常会安装 kubeadm 命令,所以具体的安装方法不再展开。
配置 BASH 补全
# 首先,需要安装 bash-complete 包,因为 kubectl 依赖于它。 apt-get install bash-completion # Debian yum install bash-completion # CentOS # 然后,启用 kubectl 补全 echo "source <($(which kubeadm) completion bash)" >> ~/.bashrc source ~/.bashrc
性质
部署集群
`kubeadm init`用于在机器上启动 Kubernetes 控制平面,生成初始的节点配置,以及设置群集的网络和其他核心设置。
增加节点
`kubeadm join`命令用于将节点添加到集群中。该命令需要在已经用`kubeadm init`初始化的集群中运行。
集群升级
kubeadm 也支持升级 Kubernetes 集群,可以很容易地从一个版本升级到另一个版本。
集群配置文件(kubeadm-config)
Kubernetes/kubeadm Configuration (v1beta3)
kubeadm config
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/
kubeadm Configuration (v1beta3): ClusterConfiguration, …
https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/
获取集群配置文件:
# kubeadm config print init-defaults > kubeadm-config.yaml ... # kubeadm init --config=kubeadm-config.yaml --upload-certs ...
提取 kubeadm-config 文件:
export KUBECONFIG=/etc/kubernetes/admin.conf kubectl -n kube-system get configmap kubeadm-config -o jsonpath='{.data.ClusterConfiguration}' > kubeadm.yaml kubeadm init phase etcd local --config kubeadm.yaml
应用
总的来说,kubeadm 是一个很有用的工具,可以方便地帮助用户设置和管理 Kubernetes 集群,但它并不负责长期的集群维护。例如,它不会处理节点的生命周期,也不会自动更新 Kubernetes 版本,这些任务需要用户自己或者使用其他工具来完成。
改进
WIP
参考