初识K8S
Kubernetes(k8s)是自动化容器操作的开源平台。这些容器操作包括:部署、调度和节点集群间扩展。
K8S的功能
- 自动化容器部署和复制。
- 实时弹性收缩容器规模。
- 容器编排成组,并提供容器间的负载均衡
K8S的架构及组件
Kubernetes的核心组件:
Master节点:
集群控制管理节点,所有的命令都经由master通过kubectl命令行管理工具处理。
-
etcd:保存了整个集群的状态(存放配置信息),k/v结构,一旦故障,可能导致整个集群的瘫痪或者数据丢失,它通常是有奇数个集群(高可用,选举产生);
-
apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;它通常是有奇数个集群(高可用,选举产生)
-
controller manager:副本控制器(期望),负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
-
scheduler:资源调度器,负责资源的调度,按照预定的调度策略将新建立的Pod调度到相应的机器上;
Node节点:
职责是运行容器应用。Node 由 Master 管理,Node 负责监控并汇报容器的状态,并根据 Master 的要求管理容器的生命周期。Node 运行在 Linux 操作系统,可以是物理机或者是虚拟机。
-
kubelet:负责Pad对容器的创建、停止等事务,同时与master节点密切协作,实现集群管理的基本功能,负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;
-
Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI);
-
kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡;
可选组件:
-
CoreDNS:负责为整个集群提