1. 什么是K8s?
K8s是一个容器管理调度的框架,主要用于跨机器的容器的管理、调度、监控,可以实现应用的快速部署、弹性伸缩、无缝的迭代更新。
2. K8s有什么优势?
它是来源于Google内部的开源项目Brog,打败了compose、swarm、Memos,成为容器的管理标准框架。
3.主要有哪些应用场景?
应用容器化、Devops、微服务和云原生
4.K8s框架组成及原理?
K8s是由master节点和worker节点组成,其中master上面主要是controller-manager、scheduler、api-server、etcd组成;worker节点上运行的有kubelete、kube-proxy、容器运行时;下面逐一介绍这些组件的功能和作用:
- Master
controller-manager:
负责整个集群故障检测、状态维护;
Scheduler
负责容器的调度;
api-server
所有对集群的操作,都必须通过api-server;
etcd
集群内所有资源对象的状态均存放在etcd中
- Worker
Kubelete
负责pod的生命周期管理和与master节点的通信
Kube-proxy
kube-proxy 是集群中每个节点上运行的网络代理,负责维护节点上的网络规则,允许通过集群外部和内部与POD进行网络通信
kube-proxy 会监视 Kubernetes 控制节点对 Service 对象和 Endpoints 对象的添加和移除。 对每个 Service,它会配置 iptables 规则,从而捕获到达该 Service 的 clusterIP 和端口的请求,进而将请求重定向到 Service 的一组后端中的某个 Pod 上面。 对于每个 Endpoints 对象,它也会配置 iptables 规则,这个规则会选择一个后端组合。
容器运行时
容器运行环境是负责运行容器的软件。Kubernetes 支持多个容器运行环境: Docker、 containerd、CRI-O 以及任何实现 Kubernetes CRI (容器运行环境接口)。