认识Kubernetes
1、Kubernetes是什么?
Kubernetes 是谷歌严格保密十几年的秘密武器—Borg 的一个开源版本。Borg 是谷歌的一个久负盛名的内部使用的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。十几年以来,谷歌一直通过 Borg系统管理着数量庞大的应用程序集群。由于谷歌员工都签署了保密协议,即便离职也不能泄露 Borg 的内部设计,所以外界一直无法了解关于它的更多信息。
 Kubernetes(简称:k8s) 是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。
官网地址: https://kubernetes.io
2、K8S集群架构:
K8S集群由master节点和node节点组成:
master节点:是k8s集群的管理节点,负责管理集群,提供集群的资源数据访问入口。拥有Etcd存储服务(可选),运行Api Server进程,Controller Manager服务进程及Scheduler服务进程,关联工作节点Node。
node节点:是工作节点监听API Server发送过来的新的工作分配;他们会执行分配给他们的工作,然后将结果报告给Kubernetes主节点。
集群的组件主要有以下几个:
1、etcd保存了整个集群的状态(关键数据);
2、apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
3、controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
4、scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
5、kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
6、kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
controller manager负责执行各种控制器,目前已经提供了很多控制器来保证Kubernetes的正常运行。
| 控制器 | 说明 | 
|---|---|
| Replication Controller | 管理维护Replication Controller,关联Replication Controller和Pod,保证Replication Controller定义的副本数 | 
| Node Controller | 管理维护Node,定期检查Node的健康状态,标识出(失效|未失效)的Node节点。 | 
| Namespace Controller | 管理维护Namespace,定期清理无效的Namespace,包括Namesapce下的API对象,比如Pod、Service等。 | 
| Service Controller | 管理维护Service,提供负载以及服务代理。 | 
| EndPoints Controller | 管理维护Endpoints,关联Service和Pod,创建Endpoints为Service的后端,当Pod发生变化时,实时更新Endpoints。 | 
| Service Account Controller | 管理维护Service Account,为每个Namespace创建默认的Service Account,同时为Service Account创建Service Account Secret。 | 
| Persistent Volume Controller | 管理维护Persistent Volume和Persistent Volume Claim,为新的Persistent Volume Claim分配Persistent Volume进行绑定,为释放的Persistent Volume执行清理回收。 | 
| DaemonSet Controller | 管理维护Daemon Set,负责创建Daemon Pod,保证指定的Node上正常的运行Daemon Pod。 | 
| Deployment Controller | 管理维护Deployment,关联Deployment和Replication Controller,保证运行指定数量的Pod。当Deployment更新时,控制实现Replication Controller和Pod的更新。 | 
| Job Controller | 管理维护Job,为Jod创建一次性任务Pod,保证完成Job指定完成的任务数目 | 
| Pod Autoscaler Controller | 实现Pod的自动伸缩,定时获取监控数据,进行策略匹配,当满足条件时执行Pod的伸缩动作。 | 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号