k8s基础篇-基本概念
k8s基础篇-基本概念
云原生基石
Kubernetes是谷歌开发的第三个容器管理系统,提供了资源调度、扩容缩容服务发现、存储编排、自动部署和回滚,并且具有天生高可用、负载均衡、故障自动恢复等功能的“生态系统”,目前己成为云原生领域的标准。
k8s架剖析

控制节点组件部析

- etcd 保存了整个集群的状态;
- API Server 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
- Controller Manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
- Scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
- Kubelet 负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
- Container Runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI);
- Kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡;

Scheduler 和Controller Manager 在多master集群中只会有一个master节点在工作
[root@k8s-master ~]# kubectl get leases -n kube-system
NAME HOLDER AGE
apiserver-b2skeeyu3yumdvmtujjcrxk7ey apiserver-b2skeeyu3yumdvmtujjcrxk7ey_6304db1a-d1f9-4ee1-8d49-a949295cc580 4d20h
kube-controller-manager k8s-master_8145c6aa-1c02-4f6d-8dd0-4fc6f5e20ff8 4d20h
kube-scheduler k8s-master_78326de5-2a2a-445f-8de4-c1d8ed8f1f98 4d20h
工作节点组件剖析

什么是Pod?
Pod是Kubernetes中的最小调度单元,一个Pod封装一个容器(也可以封装多个容器),Pod里的容器共享存储、网络等。也就是说,可以把整个pod看作虚拟机,然后每个容器相当于运行在虚拟机的进程。同一个pod里的所有容器都被统一安排和调度。
可以把pod看成是一个“豌豆荚”,里面有很多“豆子”(容器)。一个豌豆荚里的豆子,它们吸收着共同的营养成分、肥料、水分等,Pod和容器的关系也是一样,Pod里面的容器共享pod的空间、资源、网络、存储等。
每个Pod里运行着一个特殊的被称之为Pause的容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volume挂载卷,因此他们之间通信和数据交换更为高效,在设计时我们可以充分利用这一特性将一组密切相关的服务进程放入同一个Pod中。同一个Pod里的容器之间仅需通过localhost就能互相通信。


浙公网安备 33010602011771号