在的二进制部署方式中,kubelet、etcd、kube-apiServer、kube-controller-manager、kube-scheduler组件均作为一项系统服务部署,服务配置文件位于/usr/lib/systemd/system/<object-name.service>,启动参数配置位于/etc/kubernetes/<object-name>。
而kubeadm作为致力于简化集群安装过程的工具,并不再把组件用上述服务注册启动的方式进行安装。
引用文章https://segmentfault.com/a/1190000018741112?utm_source=tag-newest 中对kubeadm部署原理的叙述:
kubeadm做了这些事
执行 kubeadm init时:
- 自动化的集群机器合规检查
- 自动化生成集群运行所需的各类证书及各类配置,并将Master节点信息保存在名为cluster-info的ConfigMap中。
- 通过static Pod方式,运行API server, controller manager 、scheduler及etcd组件。
- 生成Token以便其他节点加入集群
执行 kubeadm join时:
- 节点通过token访问kube-apiserver,获取cluster-info中信息,主要是apiserver的授权信息(节点信任集群)。
- 通过授权信息,kubelet可执行TLS bootstrapping,与apiserver真正建立互信任关系(集群信任节点)。
简单来说,kubeadm做的事就是把大部分组件都容器化,通过StaticPod方式运行,并自动化了大部分的集群配置及认证等工作,简单几步即可搭建一个可用Kubernetes的集群。
因此,kubeadm部署的K8s集群大部分组件都以容器的形式存在,在哪里可以发现他们呢?
在部署后的集群中,使用kubectl get Pods -A查看所有Pod
# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5644d7b6d
Kubernetes:kubeadm部署的组件位置与配置

本文介绍了kubeadm部署Kubernetes集群时,各组件的配置文件位置。与二进制部署不同,kubeadm通过静态Pod方式运行组件,如kube-apiserver、kube-controller-manager等,其配置文件位于/etc/kubernetes/manifests。此外,文章还提到了kubelet的配置文件位于/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf。
最低0.47元/天 解锁文章
1104





