目錄
命名空間
?什么是命名空間?
?namespace應用場景
namespacs使用案例分享
namespace資源限額
文檔中的YAML文件配置直接復制粘貼可能存在格式錯誤,故實驗中所需要的YAML文件以及本地包均打包至網盤
鏈接:https://pan.baidu.com/s/1qv8TcgCVugsm5TwXtOzz0w?
提取碼:5h16?
作者:韓先超老師
命名空間
?什么是命名空間?
Kubernetes 支持多個虛擬集群,它們底層依賴于同一個物理集群。 這些虛擬集群被稱為命名空間。
命名空間namespace是k8s集群級別的資源,可以給不同的用戶、租戶、環境或項目創建對應的命名空間,例如,可以為test、devlopment、production環境分別創建各自的命名空間。
?namespace應用場景
命名空間適用于存在很多跨多個團隊或項目的用戶的場景。對于只有幾到幾十個用戶的集群,根本不需要創建或考慮命名空間。
namespacs使用案例分享
#創建一個test命名空間
[root@xianchaomaster1~]# kubectl create ns test
namespace資源限額
如何對namespace資源做限額呢?
[root@xianchaomaster1~]# vim namespace-quota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
? name: mem-cpu-quota
??namespace: test
spec:
? hard:
??? requests.cpu: "2"
??? requests.memory: 2Gi
??? limits.cpu: "4"
??? limits.memory: 4Gi
[root@xianchaomaster1]# kubectl apply -f namespace-quota.yaml
#創建的ResourceQuota對象將在test名字空間中添加以下限制:
每個容器必須設置內存請求(memory request),內存限額(memory limit),cpu請求(cpu request)和cpu限額(cpu limit)。
??? 所有容器的內存請求總額不得超過2GiB。
??? 所有容器的內存限額總額不得超過4 GiB。
??? 所有容器的CPU請求總額不得超過2 CPU。
??? 所有容器的CPU限額總額不得超過4CPU。
ResouceQuota 對象是在我們的名稱空間中創建的,并準備好控制該名稱空間中的所有容器的總請求和限制。讓我們看看
#創建pod時候必須設置資源限額,否則創建失敗,如下:
[root@xianchaomaster1 ~]# vim pod-test.yaml
apiVersion: v1
kind: Pod
metadata:
? name: pod-test
? namespace: test
? labels:
??? app: tomcat-pod-test
spec:
? containers:
? - name:? tomcat-test
??? ports:
??? - containerPort: 8080
??? image: xianchao/tomcat-8.5-jre8:v1
??? imagePullPolicy: IfNotPresent
??? resources:
????? requests:
??????? memory: "100Mi"
??????? cpu: "500m"
????? limits:
??????? memory: "2Gi"
??????? cpu: "2"
[root@xianchaomaster1 ~]# kubectl apply -f pod-test.yaml