k8s命名空间Namespace介绍使用,以及用kubens插件管理namespace

k8s命名空间Namespace介绍使用,以及用kubens插件管理namespace1 简介命名空间适用于存在很多跨越多个团队或项目的用户的场景 对于只有几到几十个用户的集群 根本不需要创建或考虑命名空间 当需要名称空间提供的功能时 请开始使用它们 简单理解 不同团队之间的项目 隔离作用 互不干扰 但是必要情况下 也是可以

大家好,欢迎来到IT知识分享网。

1、简介

命名空间适用于存在很多跨越多个团队或项目的用户的场景。对于只有几到几十个用户的集群,根本不需要创建或考虑命名空间。当需要名称空间提供的功能时,请开始使用它们。

简单理解,不同团队之间的项目,隔离作用,互不干扰。但是必要情况下,也是可以互相通信的。

Kubernetes中的集群默认会有一个叫default的namespace。实际上,应该是3个:

  • default:你的service和app默认被创建于此。
  • kube-system:kubernetes系统组件使用。
  • kube-public:公共资源使用。但实际上现在并不常用。

命令 kubectl get ns 可查看命名空间。

ubuntu@k8s-master:~$ kubectl get ns NAME STATUS AGE default Active 42h kube-node-lease Active 42h kube-public Active 42h kube-system Active 42h

所有没有指定namespace下,集群都默认在default 命名空间。

2、创建Namespace

两种方式:命令和yaml文件

1)命令:kubectl create namespace test

2)使用yaml文件:

sudo vim namespace.yaml
 kind: Namespace apiVersion: v1 metadata: name: test labels: name: test

然后,执行

kubectl apply -f namespace.yaml

3、在namespace中创建资源

也有两种方式:

1)命令最后指定命名空间:

kubectl apply -f pod.yaml --namespace=test

2)在yaml文件指定:

apiVersion: v1 kind: Pod metadata: name: mypod namespace: test #指定命名空间 labels: name: mypod spec: containers: - name: mypod image: nginx

一旦指定命名空间后,在查看Pod或者Service,也必须指定命名空间,否则查看不到,因为没指定之前,所有命令默认是default的命名空间。

查看test命名空间的pod

kubectl get pods --namespace=test

4、kubens切换namespace

如上所示,所有命令默认是default的命名空间,所有用其他命名空间,必须指定命令。所以可以切换至命名空间,就不需要在命令后指定了。

所以需要用到插件kubens,插件地址:https://github.com/ahmetb/kubectx#manual-installation-macos-and-linux

这里面包含两个插件,需要的话都可以安装。下载安装:

sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens

安装完成,当你运行 kubens 命令,它会高亮当前的namespace,

切换 test 空间, kubens test ,再次查看所在空间,已切换完成,查看test所在空间的资源,输入命令也无需再次指定test的命名空间。

k8s命名空间Namespace介绍使用,以及用kubens插件管理namespace

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/91711.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信