学习内容:k8s详细教程-调整版/k8s详细教程.md · yooome/LearningNotes - Gitee.com
Namespace的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。
kubernetes在集群启动之后,会默认创建几个namespace:
[root@master01 ~]# kubectl get namespace
NAME STATUS AGE
default Active 16m #所有未指定Namespace的对象都会被分配在default命名空间
kube-node-lease Active 16m #集群节点之间的心跳维护,v1.13开始引入
kube-public Active 16m #此命名空间下的资源可以被所有人访问(包括未认证用户)
kube-system Active 16m #所有由Kubernetes系统创建的资源都处于这个命名空间
[root@master01 ~]#
1、查看
[root@master01 ~]# kubectl get ns
NAME STATUS AGE
default Active 19m
kube-node-lease Active 19m
kube-public Active 19m
kube-system Active 19m
[root@master01 ~]# kubectl get ns default
NAME STATUS AGE
default Active 19m
[root@master01 ~]# kubectl get ns default -o yaml
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: "2022-12-05T14:44:53Z"
name: default
resourceVersion: "146"
selfLink: /api/v1/namespaces/default
uid: 9d651d90-4511-40e5-86b0-13a2e14d3967
spec:
finalizers:
- kubernetes
status:
phase: Active
[root@master01 ~]# kubectl describe ns default
Name: default
Labels: <none>
Annotations: <none>
Status: Active
No resource quota.
No LimitRange resource.
[root@master01 ~]#
2、创建
[root@master01 ~]# kubectl create ns dev
namespace/dev created
[root@master01 ~]#
3、删除
[root@master01 ~]# kubectl delete ns dev
namespace "dev" deleted
[root@master01 ~]#
4、配置方式
[root@master01 4.1]# cat ns-dev.yaml
apiVersion: v1
kind: Namespace
metadata:
name: dev
[root@master01 4.1]# kubectl create -f ns-dev.yaml
namespace/dev created
[root@master01 4.1]# kubectl delete -f ns-dev.yaml
namespace "dev" deleted
[root@master01 4.1]#