中國十大電商做的好的網(wǎng)站seo推廣是什么意懌
Namespace的理論和實操
- Namespace理論說明
- Namespace實操
- 創(chuàng)建、查看命名空間
- 使用ResouceQuota 對Namespace做資源限額
- 更多ResouceQuota 的使用
Namespace理論說明
命名空間定義
K8s支持多個虛擬集群,它們底層依賴于同一個物理集群。 這些虛擬集群被稱為命名空間(Namespace)。
Namespace應(yīng)用場景
Namespace是k8s集群級別的資源,可以給不同的用戶、租戶、環(huán)境或項目創(chuàng)建對應(yīng)的命名空間。
例如,可以為devlopment、test、production環(huán)境分別創(chuàng)建各自的命名空間。
Namespace實操
創(chuàng)建、查看命名空間
創(chuàng)建一個Namespace為test
kubectl create ns test
查看Namespace
kubectl get ns
使用ResouceQuota 對Namespace做資源限額
在K8s集群中通過 ResouceQuota 對象定義每個Namespace的資源配額,從而實現(xiàn)資源消耗總量的限制。
ResouceQuota 有兩個作用:
- 可以按類型限制Namespace下所創(chuàng)建對象的數(shù)量
- 限制所消耗計算資源的總量
示例說明:
創(chuàng)建ResouceQuota 對象,對 test 命名空間中添加以下限制:
只能建4個pod、每個容器必須設(shè)置內(nèi)存請求、內(nèi)存限額、cpu請求和cpu限額。
步驟:
1、創(chuàng)建ResouceQuota 對象
編寫ResouceQuota 資源文件
vim namespace-quota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:name: mem-cpu-quotanamespace: test # 指定限制的命名空間名稱
spec:hard:pods: "4" requests.cpu: "2" # 所有容器的CPU請求總額不得超過2 CPUrequests.memory: 2Gi # 所有容器的內(nèi)存請求總額不得超過2GiBlimits.cpu: "4" # 所有容器的CPU限額總額不得超過4CPUlimits.memory: 4Gi # 所有容器的內(nèi)存限額總額不得超過4 GiB
創(chuàng)建ResouceQuota
kubectl apply -f namespace-quota.yaml
ResouceQuota 對象是在Namespace為test中創(chuàng)建的,并準(zhǔn)備好控制該名稱空間中的所有容器的總請求和限制。
kubectl get resourcequota -n test
2、創(chuàng)建Pod 對象
創(chuàng)建Pod 時候必須設(shè)置資源限額,否則創(chuàng)建失敗
編寫Pod 資源文件
vim pod-test.yaml
apiVersion: v1
kind: Pod
metadata:name: pod-testnamespace: testlabels:app: tomcat-pod-test
spec:containers:- name: tomcat-testimage: tomcat-8.5-jre8:v1imagePullPolicy: IfNotPresentports:- containerPort: 8080resources:requests:memory: "100Mi"cpu: "500m"limits:memory: "2Gi"cpu: "2"
創(chuàng)建Pod
kubectl apply -f pod-test.yaml
再看命名空間下的資源
kubectl get resourcequota -n test
更多ResouceQuota 的使用
官網(wǎng)文檔:https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/