k8s面经
最近面了几场,k8s技能几乎成了运维的必备品了。
容器一直pending可能的原因
调度问题。容器的调度策略,比如标签选择、容忍度或者亲和度,导致没有合适的节点可供调度
资源问题,比如宿主机的CPU内存磁盘不足,或者要挂载的卷或NFS异常,无法满足新申请的容器的需求
镜像问题,镜像拉取失败,或者是镜像太大或者带宽不足,导致拉取时间太长
网络问题,网络插件故障,导致容器分配不到IP
启动问题,服务启动异常,比如启动命令或者参数错误,比如依赖的中间件或数据库异常,或者代码问题,导致该有的端口起不来,导致无法通过存活性探测
容器启动到销毁的过程
kubectl说创建三个容器,
一条命令发给apiserver,说要创建容器的副本数量为3.
这时候scheduler收到消息,查看有那些node,选一个空闲的,让他创建
此时apiserver 就会通知node节点上的kubelet,这时候kubelet就会帮他创建容器。
controller manager 里面有个复制控制器replication controller,它看创建了几个容器,是两个就改成三个。(复制容器)
所有数据存在ectd中
kube-proxy来实现三个容器的负载均衡
容器磁盘挂载的逻辑,挂载特别慢,如何排查
k8s 升级如何实现的过程