国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

學(xué)習(xí)筆記三十三:準(zhǔn)入控制

這篇具有很好參考價值的文章主要介紹了學(xué)習(xí)筆記三十三:準(zhǔn)入控制。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

ResourceQuota準(zhǔn)入控制器

ResourceQuota準(zhǔn)入控制器是k8s上內(nèi)置的準(zhǔn)入控制器,默認(rèn)該控制器是啟用的狀態(tài),它主要作用是用來限制一個名稱空間下的資源的使用,它能防止在一個名稱空間下的pod被過多創(chuàng)建時,導(dǎo)致過多占用k8s資源,簡單講它是用來在名稱空間級別限制用戶的資源使用。

限制cpu、內(nèi)存、pod、deployment數(shù)量

創(chuàng)建resourcequota資源

kubectl create ns quota
cat resourcequota-1.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: quota-test
  namespace: quota
spec:
  hard:
    pods: "6"
    requests.cpu: "2"
    requests.memory: 2Gi
    limits.cpu: "4"
    limits.memory: 10Gi
    count/deployments.apps: "6"
    persistentvolumeclaims: "6"
kubectl apply -f resourcequota-1.yaml

創(chuàng)建pod進(jìn)行測試

資源清單YAML文件解讀:
spec.hard字段是用來定義對應(yīng)名稱空間下的資源限制規(guī)則;pods用來限制在對應(yīng)名稱空間下的pod數(shù)量,requests.cpu字段用來限制對應(yīng)名稱空間下所有pod的cpu資源的下限總和;requests.memory用來限制對應(yīng)名稱空間下pod的內(nèi)存資源的下限總和;limits.cpu用來限制對應(yīng)名稱空間下的podcpu資源的上限總和,limits.memory用來限制對應(yīng)名稱空間下pod內(nèi)存資源上限總和;count/deployments.apps用來限制對應(yīng)名稱空間下apps群組下的deployments的個數(shù);
以上配置清單表示,在quota名稱空間下運(yùn)行的pod數(shù)量不能超過6個,所有pod的cpu資源下限總和不能大于2個核心,內(nèi)存資源下限總和不能大于2G,cpu上限資源總和不能大于4個核心,內(nèi)存上限總和不能超過10G,apps群組下的deployments控制器不能超過6個, pvc個數(shù)不能超過6個;以上條件中任意一個條目不滿足,都將無法在對應(yīng)名稱空間創(chuàng)建對應(yīng)的資源。

cat quota-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: quota
  namespace: quota
spec:
  replicas: 7
  selector:
    matchLabels:
      app: quota
  template:
    metadata:
      labels:
         app: quota
    spec:
      containers:
      - name: myapp
        image: janakiramm/myapp:v1
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
        resources:
         requests:
            cpu: 10m
            memory: 10Mi
         limits:
            cpu: 10m
            memory: 10Mi
kubectl apply -f quota-deployment.yaml
kubectl get pods -n quota
NAME                     READY   STATUS    RESTARTS   AGE
quota-6d5c459f69-4q86p   1/1     Running   0          8s
quota-6d5c459f69-7kchv   1/1     Running   0          8s
quota-6d5c459f69-dgzl7   1/1     Running   0          8s
quota-6d5c459f69-g6c8j   1/1     Running   0          9s
quota-6d5c459f69-hfdng   1/1     Running   0          9s
quota-6d5c459f69-nfb7p   1/1     Running   0          9s

限制存儲空間大小

vim resourcequota-2.yaml 
apiVersion: v1
kind: ResourceQuota
metadata:
  name: quota-storage-test
  namespace: quota
spec:
  hard:
    requests.storage: "5Gi"
    persistentvolumeclaims: "5"
    requests.ephemeral-storage: "1Gi"
    limits.ephemeral-storage: "2Gi"
kubectl apply -f resourcequota-2.yaml

備注:requests.storage用來限制對應(yīng)名稱空間下的存儲下限總和,persistenvolumeclaims用來限制pvc總數(shù)量,requests.ephemeral-storage用來現(xiàn)在使用本地臨時存儲的下限總?cè)萘?;limits.ephemeral-storage用來限制使用本地臨時存儲上限總?cè)萘浚灰陨吓渲帽硎驹赿efault名稱空間下非停止?fàn)顟B(tài)的容器存儲下限總?cè)萘坎荒艹^5G,pvc的數(shù)量不能超過5個,本地臨時存儲下限容量不能超過1G,上限不能超過2G。

LimitRanger準(zhǔn)入控制器

LimitRanger準(zhǔn)入控制器是k8s上一個內(nèi)置的準(zhǔn)入控制器,LimitRange是k8s上的一個標(biāo)準(zhǔn)資源,它主要用來定義在某個名稱空間下限制pod或pod里的容器對k8s上的cpu和內(nèi)存資源使用;它能夠定義我們在某個名稱空間下創(chuàng)建pod時使用的cpu和內(nèi)存的上限和下限以及默認(rèn)cpu、內(nèi)存的上下限。
如果我們創(chuàng)建pod時定義了資源上下限,但不滿足LimitRange規(guī)則中定義的資源上下限,此時LimitRanger就會拒絕我們創(chuàng)建此pod;如果我們在LimitRange規(guī)則中定義了默認(rèn)的資源上下限制,我們創(chuàng)建資源沒有指定其資源限制,它默認(rèn)會使用LimitRange規(guī)則中的默認(rèn)資源限制;同樣的邏輯LimitRanger可以限制一個pod使用資源的上下限,它還可以限制pod中的容器的資源上下限,比限制pod更加精準(zhǔn);不管是針對pod還是pod里的容器,它始終只是限制單個pod資源使用。

cat limitrange.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: limit
---
apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-memory
  namespace: limit
spec:
  limits:
  - default:
      cpu: 1000m
      memory: 1000Mi
    defaultRequest:
      cpu: 500m
      memory: 500Mi
    min:
      cpu: 500m
      memory: 500Mi
    max:
      cpu: 2000m
      memory: 2000Mi
    maxLimitRequestRatio:
      cpu: 4
      memory: 4
    type: Container
kubectl apply -f limitrange.yaml
  • 備注:以上清單主要定義了兩個資源,一個創(chuàng)建limit名稱空間,一個是在對應(yīng)limit名稱空間下定義了LimitRange資源;其中LimitRange資源的名稱為cpu-memory,default字段用來指定默認(rèn)容器資源上限值;defaultRequest用來指定默認(rèn)容器資源下限值;min字段用來指定限制用戶指定的資源下限不能小于對應(yīng)資源的值;max是用來限制用戶指定資源上限值不能大于該值;maxLimitRequestRatio字段用來指定資源的上限和下限的比值;即上限是下限的多少倍;type是用來描述對應(yīng)資源限制的級別,該字段有兩個值pod和container。
  • 上述資源清單表示在該名稱空間下創(chuàng)建pod時,默認(rèn)不指定其容器的資源限制,就限制對應(yīng)容器最少要有0.5個核心的cpu和500M的內(nèi)存;最大為1個核心cpu,1g內(nèi)存;如果我們手動定義了容器的資源限制,那么對應(yīng)資源限制最小不能小于cpu為0.5個核心,內(nèi)存為500M,最大不能超過cpu為2個核心,內(nèi)存為2000M;
  • 如果我們在創(chuàng)建pod時,只指定了容器的資源上限或下限,那么上限最大是下限的的4倍,如果指定cpu上限為2000m那么下限一定不會小于500m,如果只指定了cpu下限為500m那么上限最大不會超過2000m,對于內(nèi)存也是同樣的邏輯。

在limit名稱空間創(chuàng)建pod,不指定資源,看看是否會被limitrange規(guī)則自動附加其資源限制

cat pod-limit.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod-demo
  namespace: limit
spec:
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: nginx
kubectl apply -f pod-limit.yaml
kubectl describe pods nginx-pod-demo -n limit

學(xué)習(xí)筆記三十三:準(zhǔn)入控制,CKA學(xué)習(xí)筆記,學(xué)習(xí),筆記,java

通過上面結(jié)果可以看到我們在limit名稱空間下創(chuàng)建的pod沒有指定其容器資源限制,創(chuàng)建pod后,其內(nèi)部容器自動就有了默認(rèn)的資源限制;其大小就是我們在定義LimitRange規(guī)則中的default和defaultRequest字段中指定的資源限制。文章來源地址http://www.zghlxwxcb.cn/news/detail-740960.html

創(chuàng)建pod,指定cpu請求是100m,看看是否允許創(chuàng)建

vim pod-request.yaml
apiVersion: v1
kind: Pod
metadata:
  name: pod-request
  namespace: limit
spec:
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: nginx
    resources:
      requests:
        cpu: 100m 
kubectl apply -f pod-request.yaml 
Error from server (Forbidden): error when creating "pod-request.yaml": pods "pod-request" is forbidden: [minimum cpu usage per Container is 500m, but request is 100m, cpu max limit to request ratio per Container is 4, but provided ratio is 10.000000]

到了這里,關(guān)于學(xué)習(xí)筆記三十三:準(zhǔn)入控制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Django筆記三十三之緩存操作

    Django筆記三十三之緩存操作

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十三之緩存操作 這一節(jié)介紹一下如何在 Django 中使用 redis 做緩存操作。 在 Django 中可以有很多種方式做緩存,比如數(shù)據(jù)庫,比如服務(wù)器文件,或者內(nèi)存,這里介紹用的比較多的使用 redis 作為緩存。 這篇筆記主要內(nèi)容如下:

    2024年02月01日
    瀏覽(23)
  • 第三十三章Java快速排序法

    ??????? 快速排序 (Quicksort)是對 冒泡排序 的一種改進(jìn),是一種排序執(zhí)行效率很高的排序算法。 ??????? 快速排序的基本思想是:通過一趟排序,將要排序的數(shù)據(jù)分隔成獨(dú)立的兩部分,其中一部分的所有數(shù)據(jù)比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對這兩部分

    2024年02月11日
    瀏覽(36)
  • 【JavaSE】Java基礎(chǔ)語法(三十三):File 一文詳解

    【JavaSE】Java基礎(chǔ)語法(三十三):File 一文詳解

    File類介紹 它是文件和目錄路徑名的抽象表示 文件和目錄是可以通過File封裝成對象的 對于File而言,其封裝的并不是一個真正存在的文件,僅僅是一個路徑名而已.它可以是存在的,也 可以是不存在的.將來是要通過具體的操作把這個路徑的內(nèi)容轉(zhuǎn)換為具體存在的 File類的構(gòu)造方法

    2024年02月06日
    瀏覽(39)
  • 【Java基礎(chǔ)教程】(三十三)常用類庫篇 · 第三講:可變字符串支持類——解析 StringBuffer與 StringBuilder類~

    【Java基礎(chǔ)教程】(三十三)常用類庫篇 · 第三講:可變字符串支持類——解析 StringBuffer與 StringBuilder類~

    在Java 中,字符串使用 String 類進(jìn)行表示,但是 String 類所表示的字符串有一個最大的問題:“字符串常量一旦聲明則不可改變,而字符串對象可以改變,但是 改變的是其內(nèi)存地址的指向”。所以 String 類不適合于被頻繁修改的字符串操作, 所以在這種情況下,往往可以使用

    2024年02月15日
    瀏覽(28)
  • Kubernetes 準(zhǔn)入控制器

    Kubernetes 準(zhǔn)入控制器

    Kubernetes 極大地提高了當(dāng)今生產(chǎn)中后端集群的速度和可管理性。由于靈活、可擴(kuò)展、易用,Kubernetes 已成為容器編排的事實(shí)標(biāo)準(zhǔn)。Kubernetes 還提供了一系列保護(hù)功能。而 Admission Controllers(準(zhǔn)入控制器) 是一組安全相關(guān)的插件,啟用后能進(jìn)一步使用 Kubernetes 更高級的安全功能。

    2024年02月06日
    瀏覽(21)
  • Kubernetes 安全機(jī)制 認(rèn)證 授權(quán) 準(zhǔn)入控制

    Kubernetes 安全機(jī)制 認(rèn)證 授權(quán) 準(zhǔn)入控制

    ?客戶端應(yīng)用若想發(fā)送請求到 apiserver 操作管理K8S資源對象,需要先通過三關(guān)安全驗(yàn)證 認(rèn)證(Authentication) 鑒權(quán)(Authorization) 準(zhǔn)入控制(Admission Control) Kubernetes 作為一個分布式集群的管理工具,保證集群的安全性是其一個重要的任務(wù)。API Server 是集群內(nèi)部各個組件通信的中

    2024年02月12日
    瀏覽(21)
  • 《c++ primer筆記》第十三章 拷貝控制

    1.1拷貝構(gòu)造函數(shù) ? 如果一個構(gòu)造函數(shù)的第一個參數(shù)是自身類類型的 引用 ,且任何額外參數(shù)都由默認(rèn)值,則此構(gòu)造函數(shù)成為拷貝構(gòu)造函數(shù)。 拷貝構(gòu)造函數(shù)在某些情況下會被隱式地使用,所以不能定義為 expicit 。 合成拷貝構(gòu)造函數(shù) ? 合成某某函數(shù) 一般出現(xiàn)在我們沒定義該函

    2023年04月25日
    瀏覽(31)
  • 5.程序控制結(jié)構(gòu)|Java學(xué)習(xí)筆記

    順序控制 分支控制 循環(huán)控制 程序從上到下逐行地執(zhí)行,中間沒有任何判斷和跳轉(zhuǎn)。 單分支 if 雙分支 if else 多分支 if-else if-…-else 表達(dá)式數(shù)據(jù)類型,應(yīng)和 case 后的常量類型一致,或者是可以自動轉(zhuǎn)成可以相互比較的類型。 swtich (表達(dá)式) 中表達(dá)式的返回值必須是: (byte, s

    2024年02月08日
    瀏覽(18)
  • JAVA學(xué)習(xí)筆記——第五章 控制結(jié)構(gòu)

    JAVA學(xué)習(xí)筆記——第五章 控制結(jié)構(gòu)

    ?? 博客主頁 :?A_SHOWY ?? 系列專欄 :力扣刷題總結(jié)錄?數(shù)據(jù)結(jié)構(gòu)??云計算??數(shù)字圖像處理??力扣每日一題_? 流程控制總體介紹:決定程序是如何執(zhí)行的,主要包括順序控制、分支控制和循環(huán)控制 順序控制:程序從上到下逐行執(zhí)行,沒有任何判斷跳轉(zhuǎn) 一個變量必須要先定

    2024年01月23日
    瀏覽(22)
  • 【Kubernetes運(yùn)維篇】RBAC之準(zhǔn)入控制器詳解

    【Kubernetes運(yùn)維篇】RBAC之準(zhǔn)入控制器詳解

    中文官方參考文檔: 1、ResourceQuota是什么? ResourceQuota準(zhǔn)入控制器是K8S中內(nèi)置的準(zhǔn)入控制器,默認(rèn)該控制器是啟用狀態(tài), 主要功能是限制名稱空間下的資源使用 ,防止在一個名稱空間下的Pod占用過多的資源, 簡單理解就是針對名稱空間限制用戶資源的使用。 2、限制CPU、內(nèi)存

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包