命名空间(Namespace):Kubernetes将资源对象逻辑上隔离,从而形成多个虚拟集群。
应用场景:
• 根据不同团队划分命名空间
• 根据项目划分命名空间
kubectl get namespace
• default:默认命名空间
• kube-system:K8s系统方面的命名空间
• kube-public:公开的命名空间,谁都可以访问,
• kube-node-lease:K8s内部命名空间
两种方法指定资源命名空间:
• 命令行加 -n
• yaml资源元数据里指定namespace字段
1.查看当前系统所有命名空间
[root@k8s-master ~]# kubectl get namespaces
NAME STATUS AGE
default Active 4d1h
kube-node-lease Active 4d1h
kube-public Active 4d1h
kube-system Active 4d1h
kubernetes-dashboard Active 3d22h
2.新建一个命名空间:test-name
[root@k8s-master ~] kubectl create namespace test-name
namespace/test-name created
3.新建一个pod 将其放到test-name命名空间
root@k8s-master ~] kubectl create deployment web-java --namespace=test-name --image=lizhenliang/java-demo
deployment.apps/web-java created
[root@k8s-master ~] kubectl get pod -n test-name
NAME READY STATUS RESTARTS AGE
web-java-8498b54f99-f2h9x 1/1 Running 0 67s
3.删除一个命名空间:test-name
[root@k8s-master ~]# kubectl delete namespace test-name
namespace "test-name" deleted