管理名称空间资源

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

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

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

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

Kubernetes集群more提供了几个名称空间用于特定的目的,比如,kube-system主要用于系统级资源,而default则为那些未指定名称空间的资源操作提供一个默认值。“ kubectl get namespace ”命令可以查看namespace资源

“ kubectl describe namespace ”查看特定名称空间的详细信息

kubectl describe namespace default

kubectl的资源查看命令在多数情况下应该针对特定的名称空间进行,使用“ -n ”或者“ --namespace ” 即可,比如,查看kube-system下的所有Pod资源

kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7f89b7bc75-jjmz8 1/1 Running 2 95d
coredns-7f89b7bc75-szs8v 1/1 Running 2 95d
······

  

命令结果显示kube-system于default名称空间的Pod资源对象并不相同,这正是Namespace资源的名称隔离功能的体现。有了Namespace对象,妈妈再也不用担心我去精心安排资源名称啦也不用担心误操作其他用户的资源啦。。。。

管理Namespace资源

Namespace是Kubernetes API的标准资源类型之一,配置主要有kind、apiVersion、metadata、spec等一字段组成。将写好的名称空间资源清单保存于配置文件中,然后使用陈述式对象配置命令create或声明式对象配置命令apply便能完成创建。

kubectl apply -f namespace-example.yaml

  

名称空间资源属性较少(通常只需要指定名称即可),简单起见,kubectl提供了一个封装的专用陈述式命令 “ kubectl create namespace ”。Namespace资源的名称仅能由字母、数字、下划线、连接线等字符组成。比如,下面的命令可用于创建名为qa的Namespace对象:
kubectl create namespace qa

注意:namespace资源的名称仅能由字母、数字、连接线、下划线等字符组成。

非测试不建议混用不同类别的管理方式。apply和patch等命令可以进行资源创建及修改一类的管理操作。

使用kubectl管理资源时,如果一并提供了名称空间选项,就表示这个管理操作仅针对指定名称空间进行,而删除Namespace资源会级联删除其包含的所有其他资源对象。

结合名称空间使用的删除命令:

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

  需要再次指出的是Namespace对象仅用于资源对象名称的隔离,它自身并不能隔绝跨名称空间的Pod间通信,那是网络策略(network policy)资源的功能。

最新文章

  1. Script component 用法
  2. 疯狂Android讲义 - 学习笔记(六)
  3. js小知识归纳(待续)
  4. POS管理系统之设备出库
  5. BZOJ3417 : Poi2013 Tales of seafaring
  6. CentOS 下如何查看并清理系统内存空间
  7. bzoj 3293 数学整理
  8. KMP算法具体解释(转)
  9. Java中的Filter过滤器
  10. 安装交叉编译arm-linux-gcc环境
  11. 链表-Reverse Linked List
  12. IP、子网的详述 ——IP分类、网关地址,子网掩码、子网作用(转)
  13. 【m元素集合的n个元素子集】
  14. 十六、Spring Boot 部署与服务配置
  15. weka安装&配置&使用
  16. UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence
  17. linux系统下php通过php_oci8扩展连接oracle数据库 Nginx
  18. ArcGIS 10——地理数据库管理GIS数据
  19. 第六届CCF软件能力认证
  20. 【独立开发人员er Cocos2d-x实战 001】csb文件导出和载入

热门文章

  1. 【QT+MSVC2015】不安装VS2015,QT配置MSVC2015编译环境
  2. LCP 03.机器人大冒险
  3. RN 报错信息总结
  4. 原生js创建节点,添加节点,删除节点
  5. 莫烦Python 4
  6. C#笔记誊录
  7. k8s中pv和pvc
  8. Ubuntu下shell 左侧补零
  9. 【Java学习Day09】Java知识点及面试题微讲
  10. js单线程工作