胡文成的个人博客

Kubernetes对象

2024-08-11

Kubernetes中的对象,是持久化的实体

说明:持久化,说明这些对象是持久保存到了磁盘或其他存储中

这些实体作用:用来表示集群的状态

一、四类常用对象

1. 资源对象
1)用来管理Pod的对象
  • (Pod、)Replication Controller(旧版本使用, 现已废弃)

    这是kubernetes之前版本中管理副本的组件

  • (Pod、)Deployment、ReplicaSet

    Deployment是管理应用副本的API对象,一般用于运行无状态的应用;

    ReplicaSet类似于上面的ReplicationController。

    一般不会直接操作ReplicaSet,而是通过Deployment对象来管理ReplicaSet,从而间接实现对Pod的管理

  • (Pod、)StatefulSet

    • 两个功能

      ① 管理某Pod集合的部署、扩容与伸缩

      ② 为这些Pod提供持久化存储和持久化标识符(ID)

    • 说明

      StatefulSet为每个Pod维护了一个永久不变的ID

  • (Pod、)DaemonSet

    确保全部或某些Node上运行一个Pod的副本

    说明:

    • 当有节点加入集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被回收
    • 删除 DaemonSet 将会删除它创建的所有 Pod
  • (Pod、)Job、CronJob

    功能:批量处理短暂的一次性任务,保证了批处理任务中的多个Pod能成功结束

2. 存储对象
  • Volume(卷)

    提出的必要性(解决了两个问题)

    ① 防止容器崩溃而导致的数据丢失

    ② 解决多个容器在同一个Pod中运行且需要共享文件的问题

  • PersistentVolume(持久化卷)

  • ConfigMap(配置映射表)

  • Secret(受信任的数据)

3. 策略对象
  • SecurityContext
  • ResourceQuota
  • LimitRange
4. 身份对象
  • ServiceAccount
  • Role
  • ClusterRole
Tags: k8s

扫描二维码,分享此文章