k8s名词解释

参考:http://docs.kubernetes.org.cn/312.html

Kubernetes名词

Pod

  • Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程。
  • 相当于一个共享context的配置组,context可以理解成多个linux命名空间的联合。
    PID 命名空间(同一个Pod中应用可以看到其它进程)
    网络 命名空间(同一个Pod的中的应用对相同的IP地址和端口有权限)
    IPC 命名空间(同一个Pod中的应用可以通过VPC或者POSIX进行通信)
    UTS 命名空间(同一个Pod中的应用共享一个主机名称)
  • 一个Pod封装一个应用容器(也可以有多个容器),存储资源、一个独立的网络IP以及管理控制容器运行方式的策略选项。
  • Pod可以封装紧密耦合的应用,它们需要由多个容器组成,它们之间能够共享资源,这些容器可以形成一个单一的内部service单位。
    一个容器共享文件,另一个“sidecar”容器来更新这些文件。Pod将这些容器的存储资源作为一个实体来管理。

Pod提供2种资源

网络

  • 每个Pod被分配一个独立的IP地址,Pod中的每个容器共享网络命名空间,包括IP地址和网络端口。
  • Pod内的容器可以使用localhost相互通信。

存储

  • Pod可以指定一组共享存储volumes。Pod中的所有容器都可以访问共享volumes,允许这些容器共享数据。
  • volumes 用于Pod中的数据持久化,以防其中一个容器需要重新启动而丢失数据。

生命周期

  • Pod的生命周期是短暂的,用后即焚的实体.
  • Pod不会自愈。如果Pod运行的Node故障,或者是调度器本身故障,这个Pod就会被删除。
  • Kubernetes通常使用Controller来管理Pod实例。
  • Controller可以创建和管理多个Pod,提供副本管理、滚动升级和集群级别的自愈能力。例如,如果一个Node故障,Controller就能自动将该节点上的Pod调度到其他健康的Node上。

Node

概念

  • Node是Kubernetes中的工作节点,可以是VM或物理机。
  • 每个Node(节点)具有运行pod的一些必要服务,并由Master组件进行管理,Node节点上的服务包括Docker、kubelet和kube-proxy。

状态信息

Addresses

  • HostName:可以通过kubelet 中 --hostname-override参数覆盖。
  • ExternalIP:可以被集群外部路由到的IP。
  • InternalIP:只能在集群内进行路由的节点的IP地址。

Conditions

conditions字段描述所有Running节点的状态,被表示为一个JSON对象。

  • OutOfDisk 节点上是否有足够的可用空间来添加新的pod,无则为true
  • Ready 节点是健康的并准备好接收pod为true;节点控制器在过去40秒内没有收到node的状态报告为Unknown
  • MemoryPressure 节点存储器上内存过低为true
  • DiskPressure 磁盘容量存在压力,即磁盘容量低为true

Capacity

描述节点上可用的资源:CPU、内存和可以调度到节点上的最大pod数。

Info

关于节点的一些基础信息,如内核版本、Kubernetes版本(kubelet和kube-proxy版本)、Docker版本(如果有使用)、OS名称等。信息由Kubelet从节点收集。

Node Controller

节点控制器(Node Controller)是管理节点的Kubernetes master组件。

  • 在注册时将CIDR块分配给节点。
  • 使节点控制器的内部列表与云提供商的可用机器列表保持最新。
  • 监测节点的健康状况。

Node容量

  • 节点的容量(cpu数量和内存数量)是节点对象的一部分。通常,节点在创建节点对象时注册并通知其容量。
  • Kubernetes调度程序可确保节点上的所有pod都有足够的资源。它会检查节点上容器的请求的总和不大于节点容量。
posted @ 2022-01-11 19:11  zjcfrancis  阅读(178)  评论(0编辑  收藏  举报