认识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的伸缩动作。
posted @   何二  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示