zoukankan      html  css  js  c++  java
  • k8s名称空间资源

    namespace是k8s集群级别的资源,用于将集群分隔为多个隔离的逻辑分区以配置给不同的用户、租户、环境或项目使用,例如,可以为development、qa、和production应用环境分别创建各自的名称空间。

    k8s的绝大多数资源都隶属于名称空间级别(另一个是全局级别或集群级别),namespace为这类资源提供了隔离的作用域,同一名称空间内的同一类资源名必须是唯一的,但跨名称空间时并无此限制。k8s还有一些资源隶属于集群级别的,如node、namespace、PersistentVolume等资源,它们不属于任何名称空间,因此资源对象的名称必须全局唯一。

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

    1、查看名称空间及其资源对象

    k8s集群默认提供了几个名称空间用于特定目的,例如,kube-system主要用于运行系统级资源,而default则为那些未指定名称空间的资源操作提供一个默认值。

    使用kubectl get namespace可以查看namespace资源,使用kubectl describe namespace $NAME可以查看特定的名称空间的详细信息。

    2、管理namespace资源

    namespace是k8sapi的标准资源类型之一,namespace资源属性较少,通常只需要指定名称即可创建,如“kubectl create namespace qa”。namespace资源的名称仅能由字母、数字、下划线、连接线等字符组成。然而考虑到声明式对象配置管理机制的强大功能,推荐使用apply和patch等命令进行资源创建及修改等一类的管理操作。而删除namespace资源会级联删除其包含的所有其他资源对象:

    命令格式  功能
    kubectl delete TYPE RESOURCE -n NS 删除指定名称空间内的指定资源
    kubectl delete TYPE --all -n NS    删除指定名称空间内的指定类型的所有资源
    kubectl delete all -n -NS 删除指定名称空间内的所有资源
    kubectl delete all --all 删除所有名称空间中的所有资源

    PS:namespace对象仅用于资源对象名称的隔离,它自身并不能隔绝跨名称空间的pod间通信,那是网络策略资源的功能

  • 相关阅读:
    第一次程序改错
    趣拼图——项目演示及代码
    数据流图和数据流程图
    UML图
    UML用例图
    第二次迭代目标的分配
    小组分工
    迭代目标
    我们的项目
    2017-4-18 关于小组APP
  • 原文地址:https://www.cnblogs.com/caibao666/p/11157850.html
Copyright © 2011-2022 走看看