K8s(Kubernetes)专有名词解释

K8s(Kubernetes)专有名词解释

学习K8s架构之前,需要了解一些K8s特有的概念:

  • Cluster 集群 K8s可利用的主机、存储和网络资源的集合

  • Node 结点 单台主机,可以是物理的或虚拟的计算机。结点分为主结点(master)和工作结点(worker)。

  • Pod K8s中的工作单元,K8s是以Pod而非容器为单位排程的。Pod可以理解为Docker单机环境,每个Pod中包含一至多个容器,总是被启动在一个结点;一个Pod的容器在K8s集群中有相同的地址和端口范围,即容器暴露于K8s集群的端口号不可重复。

  • etcd 一款开源软件。提供可靠的分布式数据存储服务,用于持久化存储K8s集群的配置和状态

  • K8s API server 用户程序(如kubectl)、K8s其它组件之间通信的接口。K8s其它组件之间不直接通信,而是通过API server通信的。这一点在上图的连接中可以体现,例如,只有API server连接了etcd,即其它组件更新K8s集群的状态时,只能通过API server读写etcd中的数据。Scheduler 排程组件,为用户应用的每一可部署组件分配工作结点。

  • Controller Manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;

  • kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡;

  • Kubelet 管理工作结点上的容器。

  • Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);

  • etcd保存了整个集群的状态;apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;

  • scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

    除了核心组件,还有一些推荐的Add-ons:

  • kube-dns负责为整个集群提供DNS服务

  • Ingress Controller为服务提供外网入口

  • Heapster提供资源监控

  • Dashboard提供GUI

  • Federation提供跨可用区的集群

  • Fluentd-elasticsearch提供集群日志采集、存储与查询

你可能感兴趣的:(java,kubernetes,kubernetes,docker,java)