K8S Learning(4)——Namespace
一、Namespace簡介
Namespace是kubernetes系統中的一種非常重要資源,它的主要作用是用來實現多套環境的資源隔離或者多租戶的資源隔離。
默認情況下,kubernetes集群中的所有的Pod都是可以相互訪問的。但是在實際中,可能不想讓兩個Pod之間進行互相的訪問,那此時就可以將兩個Pod劃分到不同的namespace下。kubernetes通過將集群內部的資源分配到不同的Namespace中,可以形成邏輯上的"組",以方便不同的組的資源進行隔離使用和管理。
可以通過kubernetes的授權機制,將不同的namespace交給不同租戶進行管理,這樣就實現了多租戶的資源隔離。此時還能結合kubernetes的資源配額機制,限定不同租戶能占用的資源,例如CPU使用量、內存使用量等等,來實現租戶可用資源的管理。
kubernetes在集群啟動之后,會默認創建幾個namespace
default? ? ? ? ? ? ? ? ? ? 所有未指定Namespace的對象都會被分配在default命名空間
kube-node-lease? ? 集群節點之間的心跳維護,v1.13開始引入
kube-public? ? ? ? ? ? 此命名空間下的資源可以被所有人訪問(包括未認證用戶)
kube-system? ? ? ? ? 所有由Kubernetes系統創建的資源都處于這個命名空間
二、命令式管理namespace
(1)查看所有的namespace
kubectl get ns
(2)查看指定的namespace
kubectl get ns <namespace名稱>
如:kubectl get ns default
(3)指定輸出格式
kubectl get ns <namespace名稱>? -o <格式參數:json或者yaml>
如:kubectl get ns default -o yaml
(4)查看namespace詳情
kubectl describe ns <namespace名稱>
如:kubectl describe ns default
(5)創建namespace
kubectl create ns <namespace名稱>
如:kubectl create ns mk
(6)刪除namespace
kubectl delete ns <namespace名稱>
如:kubectl delete ns mk
三、命令式配置
準備一個yaml文件:ns-mk.yaml
apiVersion: v1
kind: Namespace
metadata:
? name: mk
執行對應的創建和刪除命令了:
創建:kubectl create -f ns-mk.yaml
刪除:kubectl delete -f ns-mk.yaml
總結
以上是生活随笔為你收集整理的K8S Learning(4)——Namespace的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fairy什么意思 fairy的解释及读
- 下一篇: K8S Learning(5)——Pod