k8s——资源管理基础

1.资源对象及API群组

  1)kubernetes的资源对象

    k8s的对象大体可分为工作负载、发现和负载均衡、配置和存储、集群以及元数据

    工作负载型资源:

      ReplicationController:用于确保每个pod副本在任一时刻均能满足目标数量。

      ReplicaSet:新一代ReplicationController,与ReplicationController唯一不同之处在于支持别的标签选择器不同,ReplicationController只支持等值选择器,ReplicaSet还额外支持基于集合的选择器。

      Deployment:用于管理无状态的持久化应用,如HTTP服务器;它用于为pod何ReplicaSet提供声明式更新,是构建在ReplicaSet之上的更为高级的控制器。

      StatefulSet:用于管理有状态持久化应用,如database服务程序;与Deployment不同之处在于STS会为每个pod创建一个独有的持久性标识符,并会确保各pod之间的顺序性。

      DaemonSet:用于确保每个节点都运行了某pod的一个副本,新增的节点一样会被添加此类pod。

      Job:用于管理运行完成后即可终止的应用。

    发现和负载均衡:

      service资源、endpoint资源。

    配置和存储:

      GlusterFS、CEPH RBD和Flocker

      ConfigMap

    集群级资源:

      用于定义集群自身配置信息的对象,它们仅应该由集群管理员进行操作:

      Namespace:资源对象名称的作用范围;

      Node:k8s集群的工作节点;

      Role:名称空间级别的由规则组成的权限集合;

      ClusterRole:Cluster级别的由规则组成的权限集合;

      RoleBinding:将Role中的许可权限绑定在一个或一组用户之上,它隶属于且仅能作用一个名称空间;

      ClusterRoleBinding:将ClusterRole中定义的许可权限绑定在一个或一组用户之上

 2.管理名称空间资源

  名称空间(namespace)是k8s集群级别的资源,用于将集群分隔为多个隔离的逻辑分区配置给不同的用户、租户、环境或项目使用。同一名称空间内的同一类型资源名必须是唯一的,但是跨名称空间时并无此限制。k8s还有一些资源隶属于集群级别,如node/namespace/persistentvolume等,它们不属于任何名称空间,因此资源对象的名称必须全局唯一。

  k8s的名称空间资源不同于linux系统的名称空间,它们是各自独立的概念。另外,k8s名称空间并不能实现pod间的通信隔离,它仅用于限制资源对象名称的作用域。

 

 

 

 

 

 

 

 

 

 

 

    

 

posted @ 2021-04-06 19:07  顽强的allin  阅读(128)  评论(0编辑  收藏  举报