k8s学习笔记-05(命名空间)

打印 上一主题 下一主题

主题 495|帖子 495|积分 1485

原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。 邮箱:yinwanit@163.com
概述

k8s中资源通过命名空间进行资源与资源间的隔离。不同的命名空间中的资源相互独立。可以理解为租户。k8s安装完成过后默认自带四个命名空间:default、kube-node-lease、kube-pubic、kube-system。
namespace是通过上下文控制的,切换上下文即可以完成对应配置的改变。
命名空间说明:

  • default: 默认的namespace名,k8s环境安装完成后初始默认设置即为default命名空间。
  • kube-node-lease:k8s中用来维护集群心跳状态的命名空间。
  • kube-public:k8s中公用的命名空间,该空间下的资源可以被所有人访问,包括匿名账户、未制定用户。
  • kube-system:k8s系统资源命名空间,k8s集群相关的资源均放在这个目录中,一般情况下不要在这个命名空间中增删资源。
常用命令

查看ns
查看当前环境中有多少个ns,只有管理员或授权的用户可以看到集群环境完全的namespace。 
  1. # kubectl get ns --show-labels<br># kubectl get ns
复制代码
创建ns
namespace创建完成后,结合授权把新创建的命名空间授权给制定的用户,实现用户和资源的绑定。
  1. # kubectl create  ns   <new_namespace_name>
复制代码
 绑定namespace和用户。
 
删除ns
ns中有资源无法删除namespace,需要把namespace中的资源删除完成过后才能完成namespace的删除,删除ns中的资源的动作一般是自动的,状态为Terminating。
  1. # kubectl delete ns <namespace_name>
复制代码
 
查看当前集群ns
  1. # #查看配置文件资源获取上下文
  2. # kubectl  config  get-contexts
  3. # #查看当前的命名空间
  4. # kubectl  config  get-contexts  | awk  '/\*/{print $5}'
复制代码
kubectl config get-contexts 命令结果中,*行表示现在正在生效的上下文文件。其中的NAMESPACE字段即为当前的命名空间。
 
新增上下文
新增加一个自定义名字的上下文,设置制定集群的命名空间为指定命名空间。
  1. # kubectl config set-context  --cluster=<cluster_name> <new-context-name> --namespace=<namespace_name><br># #切换上下文<br># kubectl config  use-context <context-name>
复制代码
参数详解:

  • cluser_name:填入需要设置的集群的名称。可以通过 kubectl config get-cluster命令查看当前环境的集群名。
  • namespace_name:填入需要设置的默认命名空间名称。
  • new-context-name:需要创建的上下文的名称。
设置当前ns
修改当前上下文中的namespace及可以完成命名空间修改。 
  1. # kubectl config set-context  --current --namespace=<namespace_name>
复制代码
 
查看制定ns下所有资源
  1. # kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n   <namespace_name>
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表