cat ftc_demo_limitRange.yaml
apiVersion: v1
kind: LimitRange
metadata:
name: ftc-demo-limit
namespace: ftc-demo
spec:
limits:
- max : # 在一個pod 中最高使用資源
cpu: "2"
memory: "6Gi"
min: # 在一個pod中最低使用資源
cpu: "100m"
memory: "2Gi"
type: Pod
- default: # 啟動一個Container 默認資源規則
cpu: "1"
memory: "4Gi"
defaultRequest:
cpu: "200m"
memory: "2Gi"
max: #匹配用戶手動指定Limits 規則
cpu: "1"
memory: "4Gi"
min:
cpu: "100m"
memory: "256Mi"
type: Container
限制規則說明
* CPU 資源可以超限使用,內存不能超限使用。
* Container 資源限制總量必須 <= Pod 資源限制總和
* 在一個pod 中最高使用2 核6G 內存
* 在一個pod中最低使用100m核 2G 內存
* 默認啟動一個Container服務 強分配cpu 200m,內存2G。Container 最高使用 1 cpu 4G 內存。
* 如果用戶私有指定limits 規則。最高使用1 CPU 4G內存,最低使用 cpu 100m 內存 256Mi
默認創建一個pod 效果如下
kubectl describe pod -l app=ftc-saas-service -n ftc-demo
Controlled By: ReplicaSet/ftc-saas-service-7f998899c5
Containers:
ftc-saas-service:
Container ID: docker://9f3f1a56e36e1955e6606971e43ee138adab1e2429acc4279d353dcae40e3052
Image: dl-harbor.dianrong.com/ftc/ftc-saas-service:6058a7fbc6126332a3dbb682337c0ac68abc555e
Image ID: docker-pullable://dl-harbor.dianrong.com/ftc/ftc-saas-service@sha256:a96fa52b691880e8b21fc32fff98d82156b11780c53218d22a973a4ae3d61dd7
Port: 8080/TCP
Host Port: 0/TCP
State: Running
Started: Tue, 21 Aug 2018 19:11:29 +0800
Ready: True
Restart Count: 0
Limits:
cpu: 1
memory: 4Gi
Requests:
cpu: 200m
memory: 2Gi
### 生產案列
apiVersion: v1
kind: LimitRange
metadata:
name: jccfc-prod-limit
namespace: jccfc-prod
spec:
limits:
- max: # pod 中所有容器,Limit值和的上限,也是整個pod資源的最大Limit
cpu: "4000m"
memory: "8192Mi"
min: # pod 中所有容器,request的資源總和不能小于min中的值
cpu: "1000m"
memory: "2048Mi"
type: Pod
- default: # 默認的資源限制
cpu: "4000m"
memory: "4096Mi"
defaultRequest: # 默認的資源需求
cpu: "2000m"
memory: "4096Mi"
maxLimitRequestRatio:
cpu: 2
memory: 2
type: Container
- 方案設計
- 使用kubespray部署k8s集群
- 使用ingress 訪問dashboard v1.8.3
- 在 Kubernetes 中配置私有 DNS 和上游域名服務器(coredns forward)
- master 節點添加taint
- limitrang
- 配置私有倉庫
- 利用NFS動態提供Kubernetes后端存儲卷
- ingress 添加https 客戶端雙向認證
- 應用日采集
- eureka 遷移 k8s 集群
- 鏡像下載地址
- helm install
- Install istio
- zookeeper 集群部署
- 基于prometheus自定義rabbitmq—exporter指標HPA彈性伸縮
- nacos huaweicloud