改版通知

巨人肩膀网站已全新改版。若您仍依赖旧站功能或数据,欢迎联系我们,我们会协助处理。联系我们

什么是Kubernetes(K8S)命名空间?

海星之梦2024年7月30日0 回答122 浏览

1.K8S命名空间

Kubernetes 命名空间(Namespace)是一种将集群资源划分为多个独立的部分的方法,每个部分都可以操作自己的资源,而不会影响其他部分。这为不同的项目、团队或客户提供了一种逻辑隔离。在 kubernetes中,命名空间提供了一种在单个集群中隔离资源组的机制。

命名空间不能互相嵌套,每个kubernetes资源只能位于一个命名空间中。

2.创建命名空间

kubectl create namespace <namespace-name>
kubectl create namespace myfirst_namespace
[root@K8S1 work]# kubectl create namespace myfirst-namespace
namespace/myfirst-namespace created


[root@K8S1 work]# kubectl get ns
NAME                   STATUS   AGE
app-fgedu              Active   15h
default                Active   16h
ingress-nginx          Active   16h
kube-node-lease        Active   16h
kube-public            Active   16h
kube-system            Active   16h
kubernetes-dashboard   Active   16h
myfirst-namespace      Active   5s

[root@K8S1 work]# kubectl get namespace
NAME                   STATUS   AGE
app-fgedu              Active   15h
default                Active   16h
ingress-nginx          Active   16h
kube-node-lease        Active   16h
kube-public            Active   16h
kube-system            Active   16h
kubernetes-dashboard   Active   16h
myfirst-namespace      Active   12s

创建容器时,可以指定特定的名称空间。

3.使用yaml的方式创建名称空间

[root@K8S1 work]# cat mynamespace-1.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: mynamespace-1
 
 
[root@K8S1 work]# kubectl apply -f mynamespace-1.yaml 
namespace/mynamespace-1 created

[root@K8S1 work]# kubectl get ns
NAME                   STATUS   AGE
app-fgedu              Active   15h
default                Active   16h
ingress-nginx          Active   16h
kube-node-lease        Active   16h
kube-public            Active   16h
kube-system            Active   16h
kubernetes-dashboard   Active   16h
myfirst-namespace      Active   3m3s
mynamespace-1          Active   12s     --这个就是我们使用yaml文件创建的namespace



原文阅读