八. Kubernetes 名称空间与隔离

一. 基础解释

  1. 在k8s中还存在一种资源,namespace名称空间, 默认提供了3个
  1. default: 在创建k8s对象时,不指定metadata.namespace时的默认值
  2. kube-system: k8s中系统创建的对象放在此名称空间下
  3. kube-public: 此名称空间自动在安装集群是自动创建,并且所有用户都是可以读取的(即使是那些未登录的用户)。主要是为集群预留的,例如,某些情况下,某些Kubernetes对象应该被所有集群用户看到
  1. 同一名称空间下资源可以共享, 不同名称空间下则不可,但是不同名称空间下网了是互通的(实际也可以隔离),通过该资源在k8s中可以实现隔离功能,例如使用名称空间实现
  1. 基于环境创建名称空间隔离
  2. 基于产品线创建名称空间隔离
  3. 基于团队创建名称空间隔离
  1. 默认情况下安装Kubernetes集群时会初始化一个default名称空间,用来承载那些未指定名称空间的Pod、Service、Deployment等对象,大多数kubernetes资源(例如Pod、Service、副本控制器等)都位于某些命名空间中。但是命名空间资源本身并不在命名空间中。而且底层资源,例如nodes和持久化卷不属于任何命名空间
  2. 查看哪些资源在命名空间中,哪些不在命名空间中命令:
//Inanamespace
kubectlapi-resources--namespaced=true

//Notinanamespace
kubectlapi-resources--namespaced=false

二. 名称空间的创建

  1. 删除名称空间命令
//ns是k8s中提供的名称空间别名缩写
kubectl delete ns 指定名称空间名字
  1. 查看名称空间信息
kubectl get -n 指定名称空间
  1. 创建名称空间命名规则:由数字,小写字母,减号-字符串组成,不能带小数点,不能使用下划线,
  2. 命令方式创建名称空间
kubectl create ns 名称空间命中
  1. 通过dry命令尝试创建一个名称空间并输出yaml,获取这个yaml作为base创建自己的名称空间
kubectl create ns 名称空间名字 --dry-run=client -o yaml

在这里插入图片描述

apiVersion: v1 #版本
kind: Namespace #类型,当前创建的是名称空间
metadata:
name: <名称空间的名字> #自定义名字
  1. yaml创建完成后,应用生效
kubectl apply -f 名称.yaml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值