kubernetes运维面试:部署k8s的时候都安装了哪些组件?

kubernetes运维面试:部署k8s的时候都安装了哪些组件?

解决方案goocz2024-12-24 12:18:3522A+A-

这个问题虽然是k8s面试最入门的问题了,但很奇怪,还是有很多运维的童鞋说不清,只是说通过kubeadm安装,具体安装了哪些组件说的也很模糊。

k8s主要分为管理节点和计算节点:

为了保障集群高可用,管理节点通常部署三个节点。在管理节点上面首先需要安装 Etcd 用于保存k8s元数据信息。其次是k8s 管理三大件,kube-apiserver用于提供无状态的API服务,接收外部restful请求后将数据保存到Etcd中;kube-scheduler用于Pod调度,将pod调度合适的Node上面运行;kube-controller-manager用于资源管理,主要是通过状态对比,保障集群副本数。如果是通过kubeadm安装,管理节点是通过容器拉起,所以管理节点上面也需要安装Docker和kubelet。

计算节点,首先是需要安装运行时,譬如Docker或者Containerd等,然后是安装kubelet用于容器管理;安装kube-proxy用户service流量转发。

安装完k8s 以后,容器是不能跨主机互通的,还需要安装CNI插件。目前主流的CNI都已经支持了Daemonset方式部署。

容器中服务的访问还需要域名解析,所以还需要部署DNS组件coreDNS。

上面的安装基本都是k8s最小化的安装,如果需要完整搭建容器集群,还需要配置Prometheus性能监控,EFK之类的日志采集以及容器镜像仓储比如Harbor,还有容器挂载的存储比如Ceph、ingress等。但如果连基础组件都无法回答完整,这个就有点说不过去了。

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5