认识k8s
简介
k8s是一个基于容器技术的分布式架构,由google经历了十几年的大规模应用容器技术的一个成果。它提供了完备的集群管理能力,包括安全防护,多租户应用,服务发现和注册,负载均衡,故障发现和自我修复,服务滚动升级和在线扩容等等。
组成
术语
Master
集群控制点点,负责整个集群的管理和控制,k8s上所有的控制命令都会发给它,通常需要单独的虚拟机来部署。
master内部主要有:
kube-apiserver
对外提供rest接口,支持k8s中资源的crud。
kube-crontroller-manager
资源自动化控制中心。
kube-scheduler
资源调度中心。
etcd
存储着每个服务的具体信息。
Node
集群中除了master之外的节点。进行具体的工作负载。每个node节点都包含:
kubelet
负责Pod中容器的创建和启动,同时和master实现集群管理功能。
kube-proxy
实现服务间的通信和负载均衡。
docker-engine
docker引擎,负载本机的容器的管理。
Pod
k8s操作的最小单元,内部包含2个容器:
pause容器
负责监测pod的是否存活。
业务容器
具体业务容器。
Replication Controller
控制着每个pod个数的期望值,主要负责用户集群的高可用。
Deployment
Rc的一次升级,增加了任务执行的反馈。常用场景:
创建deployment对象,完成pod副本的创建。
检查pod部署状态。
部署新的deployment,进行镜像升级。
回退到上一次部署。
HPA
pod横向自动扩容。
Label
标签,提供了label selector标签选择器,来聚合一组pod。
Service
和微服务中的服务一样,定义一个服务的访问入口,通过label selector来选择具体的pod。
运作流程:
Namespace
来实现资源的隔离。
volume
基于pod的存储卷。
Last updated
Was this helpful?