Kubernetes集群命名空间(Namespace)

目录

一、命名空间(namespace)作用

二、查看namespace

三、查看namespace里的资源

四、创建namespace

4.1 命令创建

4.2 YAML文件创建

五、删除namespace

5.1 命令删除

5.2 通过YAML文件来删除ns


一、命名空间(namespace)作用

  • Namespace是对一组资源和对象的抽象集合,可以作资源的逻辑隔离.

  • 常见的 pod, service, deployment 等都是属于某一个namespace的(默认是 default)

  • 不是所有资源都属于namespace,如nodes, persistent volume,namespace 等资源则不属于任何 namespace

二、查看namespace

[root@k8s-master1 ~]# kubectl get namespaces       # namespaces可以简写为namespace或ns
NAME              STATUS   AGE
default           Active   130m            # 所有未指定Namespace的对象都会被默认分配在default命名空间
kube-node-lease   Active   130m            
kube-public       Active   130m            # 此命名空间下的资源可以被所有人访问
kube-system       Active   130m            # 所有由Kubernetes系统创建的资源都处于这个命名空间

三、查看namespace里的资源

使用kubectl get all --namespace=命名空间名称可以查看此命名空间下的所有资源

[root@k8s-master1 ~]# kubectl get all --namespace=kube-system
NAME                                             READY   STATUS    RESTARTS   AGE
pod/calico-kube-controllers-7fdc86d8ff-cskfq     1/1     Running   3          5d1h
pod/calico-node-9dpc9                            1/1     Running   2          5d1h
pod/calico-node-jdmxw                            1/1     Running   3          5d1h
pod/calico-node-krwps                            1/1     Running   2          5d1h
pod/calico-node-tttlr                            1/1     Running   2          5d1h
pod/coredns-65dbdb44db-mm7cr                     1/1     Running   2          5d1h
pod/dashboard-metrics-scraper-545bbb8767-q66bc   1/1     Running   2          5d1h
pod/kubernetes-dashboard-65665f84db-nll6k        1/1     Running   4          5d1h
pod/metrics-server-869ffc99cd-8f4jd              1/1     Running   3          5d1h

使用kubectl get 资源类型 --namespace=命名空间名称可以查看此命名空间下的对应的资源

[root@k8s-master1 ~]# kubectl get pod --namespace=kube-system
NAME                                         READY   STATUS    RESTARTS   AGE
calico-kube-controllers-7fdc86d8ff-cskfq     1/1     Running   3          5d1h
calico-node-9dpc9                            1/1     Running   2          5d1h
calico-node-jdmxw                            1/1     Running   3          5d1h
calico-node-krwps                            1/1     Running   2          5d1h
calico-node-tttlr                            1/1     Running   2          5d1h
coredns-65dbdb44db-mm7cr                     1/1     Running   2          5d1h
dashboard-metrics-scraper-545bbb8767-q66bc   1/1     Running   2          5d1h
kubernetes-dashboard-65665f84db-nll6k        1/1     Running   4          5d1h
metrics-server-869ffc99cd-8f4jd              1/1     Running   3          5d1h

四、创建namespace

4.1 命令创建

[root@k8s-master1 ~]# kubectl create namespace ns1
namespace/ns1 created

[root@k8s-master1 ~]# kubectl get ns

ns1               Active   10s

4.2 YAML文件创建

编写创建namespace的YAML文件

[root@k8s-master1 ~]# vim create_ns2.yml
apiVersion: v1                            # api版本号
kind: Namespace                            # 类型为namespace
metadata:                                # 定义namespace的元数据属性
  name: ns2                                # 定义name属性为ns2

使用kubctl apply -f应用YAML文件

[root@k8s-master1 ~]# kubectl apply -f create_ns2.yml
namespace/ns2 created

可以使用kubectl edit 资源类型 资源名编辑资源的YAML语法

[root@k8s-master1 ~]# kubectl edit namespace ns2

五、删除namespace

注意:

  • 删除一个namespace会自动删除所有属于该namespace的资源(生产环境严禁这种操作)

  • default,kube-system,kube-public命名空间不可删除

5.1 命令删除

[root@k8s-master1 ~]# kubectl delete namespace ns1
namespace "ns1" deleted

5.2 通过YAML文件来删除ns

[root@k8s-master1 ~]# kubectl delete -f create_ns2.yml
namespace "ns2" deleted

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值