k8s名稱空間
阿新 • • 發佈:2022-03-26
Kubernetes 支援多個虛擬叢集,它們底層依賴於同一個物理叢集。 這些虛擬叢集被稱為名稱空間。
名稱空間 namespace 是 k8s 叢集級別的資源,可以給不同的使用者、租戶、環境或專案建立對應的名稱空間,例如,可以為 test、devlopment、production 環境分別建立各自的名稱空間。
名稱空間適用於存在很多跨多個團隊或專案的使用者的場景。對於只有幾到幾十個使用者的叢集,根本不需要建立或考慮名稱空間。
1、檢視名稱空間及其資源物件
k8s 叢集預設提供了幾個名稱空間用於特定目的,例如,kube-system 主要用於執行系統級資源,存放 k8s 一些元件的。而 default 則為那些未指定名稱空間的資源操作提供一個預設值。
使用 kubectl get namespace 可以檢視 namespace 資源,使用 kubectl describe namespace
$NAME 可以檢視特定的名稱空間的詳細資訊。
2、管理 namespace 資源
namespace 資源屬性較少,通常只需要指定名稱即可建立,如“kubectl create namespace qa”。namespace 資源的名稱僅能由字母、數字、下劃線、連線線等字元組成。刪除 namespace 資源會級聯刪除其包含的所有其他資源物件。
#建立一個 test 名稱空間
[root@master1 ~]# kubectl create ns test
#切換名稱空間
[root@master1 ~]# kubectl config set-context --current --namespace=kube-system
#檢視哪些資源屬於空間級的
kubectl api-resources --namespaced=true
#namespace資源限制額度
建立一個test的名稱空間
每個容器必須設定記憶體請求(memory request),記憶體限額(memory limit),cpu 請求(cpurequest)和 cpu 限額(cpu limit)。 所有容器的記憶體請求總額不得超過 2GiB。 所有容器的記憶體限額總額不得超過 4 GiB。 所有容器的 CPU 請求總額不得超過 2 CPU。 所有容器的 CPU 限額總額不得超過 4CPU。#檢視test名稱空間下的pod
kubectl get pods -n test