ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

5.K8s命名空间

2021-10-08 16:33:06  阅读:197  来源: 互联网

标签:kube namespace 空间 master 命名 ns1 K8s root Active


image-20211008152850093

命名空间的出现,原理上是为了划分组的方式来管理pod在哪个namespace上运行,而不需要去关心这些pod具体在哪个节点上工作,就好像QQ群一样。

查看ns

[root@master ~]# kubectl get ns       
NAME              STATUS   AGE
default           Active   166m
kube-node-lease   Active   166m
kube-public       Active   166m
kube-system       Active   166m

新建一个ns

[root@master ~]# kubectl create ns ns1
namespace/ns1 created
[root@master ~]# kubectl get ns       
NAME              STATUS   AGE
default           Active   166m
kube-node-lease   Active   166m
kube-public       Active   166m
kube-system       Active   166m
ns1               Active   1s

删除一个命名空间

[root@master ~]# kubectl delete ns ns1
namespace "ns1" deleted

如果删不掉ns1就需要特别处理

kubectl delete ns ns1 #先用delete删除
kubectl proxy --port=8081 #单独开一个终端,做api代理
#下面通过强制删除ns1
kubectl get ns ns1 -o json | jq 'del(.spec.finalizers)' |curl -v -H "Content-Type: application/json"  -X PUT --data-binary @- http://127.0.0.1:8081/api/v1/namespaces/ns1/finalize
[root@master ~]#kubectl get ns
NAME              STATUS   AGE
default           Active   3h24m
kube-node-lease   Active   3h24m
kube-public       Active   3h24m
kube-system       Active   3h24m
#这样就删除干净了

没有jq的话,可以按照如下方式安装jq

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist
yum install -y jq

namespace快速切换器kubectx的安装

git clone https://github.com/ahmetb/kubectx.git
cp kubectx/kube* /usr/local/bin/ ##把相关文件放到可执行目录里
[root@master kubectx-master]# kubens 
default
kube-node-lease
kube-public
kube-system
ns1
[root@master kubectx-master]# kubens --help
USAGE:
  kubens                    : list the namespaces in the current context  #list namespace
  kubens <NAME>             : change the active namespace of current context   #切换namespace
  kubens -                  : switch to the previous namespace in this context  #切到原来的
  kubens -c, --current      : show the current namespace #显示当前namespace
  kubens -h,--help          : show this message
[root@master kubectx-master]# kubens ns1
Context "kubernetes-admin@kubernetes" modified.
Active namespace is "ns1".
[root@master kubectx-master]# kubens 
default
kube-node-lease
kube-public
kube-system
ns1
[root@master kubectx-master]# kubens -c
ns1

[root@master kubectx-master]# kubectl config set-context --current --namespace=ns1  #还可以原生的切换
Context "kubernetes-admin@kubernetes" modified.
[root@master kubectx-master]# kubens -   #查看之前的namespace
Context "kubernetes-admin@kubernetes" modified.
Active namespace is "ns1".
[root@master kubectx-master]# kubens -
Context "kubernetes-admin@kubernetes" modified.
Active namespace is "ns1".
[root@master kubectx-master]# kubens -c #查看当前的namespace
ns1
[root@master kubectx-master]# kubectl get pods #查当前的namespace下有什么资源
No resources found in ns1 namespace.
[root@master kubectx-master]# kubens  #查看所有的namespace
default
kube-node-lease
kube-public
kube-system
ns1
[root@master kubectx-master]# kubens default   #切换回default
Context "kubernetes-admin@kubernetes" modified.
Active namespace is "default".
[root@master kubectx-master]# kubectl get pods #查当前的namespace下有什么资源,发现有了原来的资源了
NAME                               READY   STATUS    RESTARTS   AGE
nginx-deployment-c7c9d97b4-7vdrh   1/1     Running   0          103m
nginx-deployment-c7c9d97b4-gcn4f   1/1     Running   0          78m

标签:kube,namespace,空间,master,命名,ns1,K8s,root,Active
来源: https://www.cnblogs.com/baishancunfu/p/15380446.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有