欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

k8s学习(四)Namespace的使用

程序员文章站 2022-03-12 11:50:43
...


前言

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

    Kubernetes 自带的服务一般运行在 kubesystem namespace 中;

    node, persistent volume,namespace 等资源则不属于任何 namespace;

    可以通过创建不同的Namespace 来隔离不同的项目或用户。


Namespace 操作

1、查询

[[email protected]-master k8s]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   22h
kube-node-lease   Active   22h
kube-public       Active   22h
kube-system       Active   22h

2、创建

(1)命令行创建

[[email protected]-master k8s]# kubectl create namespace app-namespace
namespace/app-namespace created

(2)yaml创建

[[email protected]-master k8s]# cat app2-namespace.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: app2-namespace

[[email protected]-master k8s]# kubectl create -f app2-namespace.yaml 
namespace/app2-namespace created
[[email protected]-master k8s]# kubectl get namespace
NAME              STATUS   AGE
app-namespace     Active   5m41s
app2-namespace    Active   47s
default           Active   22h
kube-node-lease   Active   22h
kube-public       Active   22h
kube-system       Active   22h

3、删除

[[email protected]-master k8s]# kubectl delete namespace app2-namespace
namespace "app2-namespace" deleted

删除一个 namespace 会自动删除所有属于该 namespace 的资源。

default 和 kube-system 命名空间不可删除。

相关标签: k8s kubernetes