美文网首页
k8s的核心概念(Concepts)【译】

k8s的核心概念(Concepts)【译】

作者: 天冷请穿衣 | 来源:发表于2019-10-25 10:39 被阅读0次

    概述

    可以使用k8s的API对象(objects)来描述集群要达到的期望状态(desired state): 要运行什么应用(Applications)或工作负载(Workloads),要使用哪个容器镜像(container images),要运行的副本集(replicas)的数量,要使用多少网络和磁盘资源,等等。也可以使用k8s API创建k8s对象来给出集群的期望状态(一般通常是借助命令行接口工具-kubectl来实现的)。
    一旦设置了集群的期望状态,Kubernetes控制器(Kubernetes Control Plane)就会通过Pod生命周期事件发生器(Pod Lifecycle Event Generator,PLEG)来使集群当前的状态达到期望的状态。为了达到这一结果,k8s会自动的执行一系列的任务,例如启动或重启容器、扫描副本集的数量,等等。k8s控制器由一个运行在集群上的进程集构成:

    • kubenetes master,是一个包含了三个进程的集合,运行在被指定为集群主节点(master node)的单节点(single node)上,这三个进程是:kube-apiserver, kube-controller-managerkube-scheduler.
      每一个非主节点(non-master node)运行着两个进程:
    • kubelet,用于和主节点通信。
    • kube-proxy,网络代理,映射k8s的网络服务到每个节点上。

    k8s的对象(Kubernetes Objects)

    k8s包含各种代表系统状态的抽象:已部署的容器应用和负载,关联的网络和磁盘资源,还有其它集群中正在执行的动作信息。这些抽象在k8s API中由各种对象来表示。更多请看 Understanding Kubernetes Objects

    k8s的基础对象:
    k8s的高级对象:

    k8s同样包括更高级的抽象类,它们依赖Controller类来构建上述的基础对象,并提供额外的功能和便捷的特性。这些对象有:

    k8s控制器(Kubernetes Control Plane)

    k8s控制器的各个部分,如k8s Master和kubelet进程集,一起管控着k8s怎么和集群进行通讯。控制器维持着系统中所有对象的记录,同时运行持续的控制环(control loops)去管理这些对象的状态。不管在什么时候,控制器的控制环都会响应集群中的改变,让系统中所有的对象的实际状态去适配到给予的期望的状态。
    例如,当我们使用k8s API创建一个Deployment,我们就给系统提供了一个新的期望状态,k8s控制器记录这个Deployment对象的创建,然后执行某些指令(启动必要的应用,同时安排到集群节点中),于是就使集群的实际状态适配到了期望的状态。

    k8s主节点(Kubernetes Master)
    k8s masterk负责维护集群的期望的状态。当我们和k8s进行交互时,如使用kubectl命令行接口,我们是在和集群的k8s master进行通讯。
    这个“master”涉及到管理着集群状态的数个进程。显然的,所有这些进程都运行在集群的一个单节点上,这个节点也是被用作为master的。当然,master同样也能够被复制来进行扩容和缩减。

    k8s节点(Kubernetes Nodes)
    集群节点就是那些运行着应用程序和云负载的机器(虚拟机,物理服务器,等等)。k8s master控制着每一个节点,一般将很少和这些节点进行直接的交互。

    2019-10-24

    相关文章

      网友评论

          本文标题:k8s的核心概念(Concepts)【译】

          本文链接:https://www.haomeiwen.com/subject/uwgrvctx.html