1、理论篇
1.1 简要说下Kubernetes有哪些核心组件以及这些组件负责什么工作?
etcd:提供数据库服务保存了整个集群的状态
kube-apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
kube-controller-manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
cloud-controller-manager:是与底层云计算服务商交互的控制器
kub-scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
kubelet:负责维护容器的生命周期,同时也负责Volume和网络的管理
kube-proxy:负责为Service提供内部的服务发现和负载均衡,并维护网络规则
container-runtime:是负责管理运行容器的软件,比如docker
1.2 你对 Kubernetes 的负载均衡器有什么了解?
负载均衡器是暴露服务的最常见和标准方式之一。
根据工作环境使用两种类型的负载均衡器,即内部负载均衡器或外部负载均衡器。内部负载均衡器自动平衡负载并使用所需配置分配容器,而外部负载均衡器将流量从外部负载引导至后端容器。
1.3 经典pod的生命周期
Pod都处于以下几种状态之一,可通过查询Pod详情查看。
Pending 部署Pod事务已被集群受理,但当前容器镜像还未下载完。
Running 所有容器已被创建,并被部署到k8s节点。
Successed Pod成功退出,并不会被重启。
Failed Pod中容器(非正常状态)被终止。
Unknown 未知原因,如kube-apiserver无法与Pod进行通讯。
详细叙述如下:
首先拖取Pod内容器的镜像,选择某个Node节点并启动Pod。 监控Pod状态,若Pod终止则根据策略决定是否重新调度。 Pod退出,并根据策略决定是否重启。
容器的状态有三种:Waiting(等待)、Running(运行中)和 Terminated(已终止)。
1.