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间通信,那是网络策略资源的功能

 

转载于:https://www.cnblogs.com/caibao666/p/11157850.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值