1. 程式人生 > 其它 >|NO.Z.00231|——————————|CloudNative|——|KuberNetes&細粒度許可權控制.V15|------------------------------------------------|准入控制.v01|limitranger&resourceQuota Example實驗|

|NO.Z.00231|——————————|CloudNative|——|KuberNetes&細粒度許可權控制.V15|------------------------------------------------|准入控制.v01|limitranger&resourceQuota Example實驗|



[CloudNative:KuberNetes&細粒度許可權控制.V15]                                                    [Applications.KuberNetes] [|DevOps|k8s|細粒度許可權控制|准入控制|kubernetes服務質量QoS|使用PodPreset預配置容器時區|]








一、准入控制
### --- 准入控制

~~~     # 請注意: 
~~~     k8s 1.20版本已經刪除PodPreset功能,低於1.20版本正常使用
~~~     # 准入控制:
~~~     就是在建立資源經過身份驗證之後,kube-apiserver在資料寫入etcd之前做一次攔截,
~~~     然後對資源進行更改、判斷正確性等操作。
### --- LimitRanger的default的用法

~~~     # 官方地址:
~~~     https://kubernetes.io/docs/concepts/policy/limit-range/
LimitRanger:
    limits:
    - default:                  # 沒有配置limit或者request的時候設定的預設值,limits
        cpu: 50m 
        memory: 50Mi
      defaultRequest:           # Request限制
        cpu: 10m
        memory: 20Mi
      type: Container
      
      max:                      # Limit配置不能超過max設定的值
         cpu:
         memory:
      min:                      # Request的值不能低於min的值
         cpu:
         memory:
    - max:                      # 指定Pod裡面所有的Container加在一起的CPU和記憶體不能超過這個值,limit
        cpu: 50m 
        memory: 50Mi
      type: Pod
      min: request
二、limitranger實驗
[root@k8s-master01 ~]# vim limitranger.yaml
apiVersion: v1
kind: LimitRange
metadata:
  name: limits-test
spec:
  limits:
  - max:
      cpu: "4"
      memory: 2Gi
    min:
      cpu: 200m
      memory: 6Mi
    maxLimitRequestRatio:
      cpu: 3
      memory: 2
    type: Pod
  - default:
      cpu: 300m
      memory: 200Mi
    defaultRequest:
      cpu: 200m
      memory: 100Mi
    max:
      cpu: "2"
      memory: 1Gi
    min:
      cpu: 100m
      memory: 3Mi
    maxLimitRequestRatio:
      cpu: 5
      memory: 4
    type: Container
[root@k8s-master01 ~]# kubectl create -f limitranger.yaml -n XXXX
三、resourceQuota Example:
### --- resourceQuota Example:

~~~     # 官網地址:
~~~     https://kubernetes.io/docs/concepts/policy/resource-quotas/
[root@k8s-master01 ~]# cat resourcequota.yaml 
apiVersion: v1
kind: ResourceQuota
metadata:
  name: resource-test
  labels:
    app: resourcequota
spec:
  hard:
    pods: 50
    requests.cpu: 0.5
    requests.memory: 512Mi
    limits.cpu: 5
    limits.memory: 16Gi
    configmaps: 20
    persistentvolumeclaims: 20
    replicationcontrollers: 20
    secrets: 20
    services: 50
[root@k8s-master01 ~]#  kubectl create -f resourcequota.yaml -n NAMESPACE-SELECT








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)