梦见你的名字 发表于 2023-8-13 09:35:06

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

原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。 邮箱: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。 
# kubectl get ns --show-labels<br># kubectl get ns创建ns
namespace创建完成后,结合授权把新创建的命名空间授权给制定的用户,实现用户和资源的绑定。
# kubectl createns   <new_namespace_name> 绑定namespace和用户。
 
删除ns
ns中有资源无法删除namespace,需要把namespace中的资源删除完成过后才能完成namespace的删除,删除ns中的资源的动作一般是自动的,状态为Terminating。
# kubectl delete ns <namespace_name> 
查看当前集群ns
# #查看配置文件资源获取上下文
# kubectlconfigget-contexts
# #查看当前的命名空间
# kubectlconfigget-contexts| awk'/\*/{print $5}'kubectl config get-contexts 命令结果中,*行表示现在正在生效的上下文文件。其中的NAMESPACE字段即为当前的命名空间。
 
新增上下文
新增加一个自定义名字的上下文,设置制定集群的命名空间为指定命名空间。
# 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及可以完成命名空间修改。 
# kubectl config set-context--current --namespace=<namespace_name> 
查看制定ns下所有资源
# kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n   <namespace_name> 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: k8s学习笔记-05(命名空间)