管理名称空间资源

名称空间(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)资源的功能。

管理名称空间资源(Kubernetes)的更多相关文章

  1. k8s名称空间资源

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

  2. k8s核心资源之:名称空间(ns)

    简介 是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或者用户组. 常见的pod.service.replicaSet和deployment等都是属于某一个namespac ...

  3. wpf多程序集之间共享资源字典--CLR名称空间未定义云云

    wpf多程序集之间共享资源字典--CLR名称空间未定义云云 分类: WPF 2012-10-28 10:57 1162人阅读 评论(0) 收藏 举报 以下介绍如何创建可用于在多个程序集之间共享的资源字 ...

  4. kubernetes之创建基于名称空间的内存和cpu限额示例

    系列目录 首先我们创建一个名称空间 kubectl create namespace quota-mem-cpu-example 创建资源配额 apiVersion: v1 kind: Resourc ...

  5. Kubernetes K8S之Pod跨namespace名称空间访问Service服务

    Kubernetes的两个Service(ServiceA.ServiceB)和对应的Pod(PodA.PodB)分别属于不同的namespace名称空间,现需要PodA和PodB跨namespace ...

  6. 授予用户/用户组访问 Kubernetes 的一个名称空间

    转载地址:https://www.kuboard.cn/learning/k8s-advanced/sec/rbac/auth-namespace.html 前提条件 已安装 Kuboard v3,版 ...

  7. IoC容器-Bean管理XML方式(p名称空间注入)

    5,p名称空间注入(简化xml配置) (1)使用p名称空间注入,可以简化基于xml配置方式 (了解实际用不多) 第一步 添加 p 名称空间在配置文件中   第二步 进行属性注入,在bean标签里面进行 ...

  8. 同一个POD中默认共享哪些名称空间

    如果通过POD的形式来启动多个容器那么它们的名称空间会是共享的么,所以我这里讨论是在默认情况下同一个POD的不同容器的哪些名称空间是打通的.这里先说一下结论,共享的是UTS.IPC.NET.USER. ...

  9. Python 的名称空间和作用域

    最开始对名称空间的了解是在学习函数的时候,那时候知道了作用域的查找顺序,以及全局名称空间和局部名称空间,产生疑惑的时候为学递归的时候,那时候还没有名称空间这个概念,只知道递归有个最大深度,那时候以后递 ...

  10. 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

    一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...

随机推荐

  1. 爬B站并保存成csv文件。提供数据

    """b站排行榜爬虫(scrapy)https://www.bilibili.com/ranking#!/all/0/0/7/爬取编号,标题,url,综合评分,播放量,评 ...

  2. bpmn的依赖注入

    主要对象 new BPMN对象时,流程及对象结构如下图 依赖注入 在初始化bpmn对象时有传入additionalModules进行自定义操作,具体是如何实现这种模块化的管理,主要是用到了依赖注入ht ...

  3. Mac下配置Groovy

    官网:http://www.groovy-lang.org/ Step 1:下载Groovy 地址:https://groovy.apache.org/download.html 下载后解压 Step ...

  4. Blog-3

    前言 这几周的作业所涉及的知识点有数据的封装和.继承与多态.正则表达式,还有抽象类和接口,另外还有javafx的一些基本知识.题量适中,但是难度对于我来说是比较大的.总的来说就是跟以前的题目差不多,只 ...

  5. ElasticSearch (Es) 分组查询 记录

    首先表对应的实体类型: public class bm_info{ /// <summary> /// 单位 /// </summary> public  string sou ...

  6. hdu 4283You Are the One

    The TV shows such as You Are the One has been very popular. In order to meet the need of boys who ar ...

  7. TP开发项目时遇到的问题记录

    1.下载功能. TP自带Http下载类,使用时new一个就行,示例代码: public function download(){ //接收公文id $id = I('get.fid'); //根据公文 ...

  8. 使用ts二次封装storage(sessionStorage/localStorage)

    export class LocalCache { setCache<T = any>(key: string, value: T): boolean; setCache<T = a ...

  9. Linux的top命令原理简单了解

    top命令描述机器的cpu.内存等状态信息. 每3s刷新一次. 是procps工具集中的一个,该工具集还包括free.ps等等 top命令的代码实现逻辑是:由内核动态生成一个伪文件系统,提供一个内核状 ...

  10. Linux下clang、gcc、intel编译器最新版本安装笔记

    转自 http://t.zoukankan.com/opangle-p-2838554.html