日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes配置Pod的服務(wù)質(zhì)量

配置 Pod 的服務(wù)質(zhì)量

本頁(yè)介紹怎樣配置 Pod 讓其獲得特定的服務(wù)質(zhì)量(QoS)類(lèi)。Kubernetes 使用 QoS 類(lèi)來(lái)決定 Pod 的調(diào)度和驅(qū)逐策略。

為鶴城等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及鶴城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、鶴城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

在開(kāi)始之前

你必須擁有一個(gè) Kubernetes 的集群,同時(shí)你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個(gè)節(jié)點(diǎn)的集群上運(yùn)行本教程,且這些節(jié)點(diǎn)不作為控制平面主機(jī)。 如果你還沒(méi)有集群,你可以通過(guò) Minikube 構(gòu)建一個(gè)你自己的集群,或者你可以使用下面任意一個(gè) Kubernetes 工具構(gòu)建:

  • Katacoda
  • 玩轉(zhuǎn) Kubernetes

要檢查版本,請(qǐng)輸入 ?kubectl version?。

QoS 類(lèi) 

Kubernetes 創(chuàng)建 Pod 時(shí)就給它指定了下列一種 QoS 類(lèi):

  • Guaranteed
  • Burstable
  • BestEffort

創(chuàng)建命名空間

創(chuàng)建一個(gè)命名空間,以便將本練習(xí)所創(chuàng)建的資源與集群的其余資源相隔離。

kubectl create namespace qos-example

創(chuàng)建一個(gè) QoS 類(lèi)為 Guaranteed 的 Pod

對(duì)于 QoS 類(lèi)為 Guaranteed 的 Pod:

  • Pod 中的每個(gè)容器都必須指定內(nèi)存限制和內(nèi)存請(qǐng)求。
  • 對(duì)于 Pod 中的每個(gè)容器,內(nèi)存限制必須等于內(nèi)存請(qǐng)求。
  • Pod 中的每個(gè)容器都必須指定 CPU 限制和 CPU 請(qǐng)求。
  • 對(duì)于 Pod 中的每個(gè)容器,CPU 限制必須等于 CPU 請(qǐng)求。

這些限制同樣適用于初始化容器和應(yīng)用程序容器。

下面是包含一個(gè)容器的 Pod 配置文件。 容器設(shè)置了內(nèi)存請(qǐng)求和內(nèi)存限制,值都是 200 MiB。 容器設(shè)置了 CPU 請(qǐng)求和 CPU 限制,值都是 700 milliCPU:

apiVersion: v1
kind: Pod
metadata:
  name: qos-demo
  namespace: qos-example
spec:
  containers:
  - name: qos-demo-ctr
    image: nginx
    resources:
      limits:
        memory: "200Mi"
        cpu: "700m"
      requests:
        memory: "200Mi"
        cpu: "700m"

創(chuàng)建 Pod:

kubectl create -f https://K8S.io/examples/pods/qos/qos-pod.yaml --namespace=qos-example

查看 Pod 詳情:

kubectl get pod qos-demo --namespace=qos-example --output=yaml

結(jié)果表明 Kubernetes 為 Pod 配置的 QoS 類(lèi)為 Guaranteed。 結(jié)果也確認(rèn)了 Pod 容器設(shè)置了與內(nèi)存限制匹配的內(nèi)存請(qǐng)求,設(shè)置了與 CPU 限制匹配的 CPU 請(qǐng)求。

spec:
  containers:
    ...
    resources:
      limits:
        cpu: 700m
        memory: 200Mi
      requests:
        cpu: 700m
        memory: 200Mi
  ...
status:
  qosClass: Guaranteed

Note:

如果容器指定了自己的內(nèi)存限制,但沒(méi)有指定內(nèi)存請(qǐng)求,Kubernetes 會(huì)自動(dòng)為它指定與內(nèi)存限制匹配的內(nèi)存請(qǐng)求。 同樣,如果容器指定了自己的 CPU 限制,但沒(méi)有指定 CPU 請(qǐng)求,Kubernetes 會(huì)自動(dòng)為它指定與 CPU 限制匹配的 CPU 請(qǐng)求。

刪除 Pod:

kubectl delete pod qos-demo --namespace=qos-example

創(chuàng)建一個(gè) QoS 類(lèi)為 Burstable 的 Pod

如果滿(mǎn)足下面條件,將會(huì)指定 Pod 的 QoS 類(lèi)為 Burstable:

  • Pod 不符合 Guaranteed QoS 類(lèi)的標(biāo)準(zhǔn)。
  • Pod 中至少一個(gè)容器具有內(nèi)存或 CPU 的請(qǐng)求或限制。

下面是包含一個(gè)容器的 Pod 配置文件。 容器設(shè)置了內(nèi)存限制 200 MiB 和內(nèi)存請(qǐng)求 100 MiB。

apiVersion: v1
kind: Pod
metadata:
  name: qos-demo-2
  namespace: qos-example
spec:
  containers:
  - name: qos-demo-2-ctr
    image: nginx
    resources:
      limits:
        memory: "200Mi"
      requests:
        memory: "100Mi"

創(chuàng)建 Pod:

kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-2.yaml --namespace=qos-example

查看 Pod 詳情:

kubectl get pod qos-demo-2 --namespace=qos-example --output=yaml

結(jié)果表明 Kubernetes 為 Pod 配置的 QoS 類(lèi)為 Burstable。

spec:
  containers:
  - image: nginx
    imagePullPolicy: Always
    name: qos-demo-2-ctr
    resources:
      limits:
        memory: 200Mi
      requests:
        memory: 100Mi
  ...
status:
  qosClass: Burstable

刪除 Pod:

kubectl delete pod qos-demo-2 --namespace=qos-example

創(chuàng)建一個(gè) QoS 類(lèi)為 BestEffort 的 Pod

對(duì)于 QoS 類(lèi)為 BestEffort 的 Pod,Pod 中的容器必須沒(méi)有設(shè)置內(nèi)存和 CPU 限制或請(qǐng)求。

下面是包含一個(gè)容器的 Pod 配置文件。 容器沒(méi)有設(shè)置內(nèi)存和 CPU 限制或請(qǐng)求。

apiVersion: v1
kind: Pod
metadata:
  name: qos-demo-3
  namespace: qos-example
spec:
  containers:
  - name: qos-demo-3-ctr
    image: nginx

創(chuàng)建 Pod:

kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-3.yaml --namespace=qos-example

查看 Pod 詳情:

kubectl get pod qos-demo-3 --namespace=qos-example --output=yaml

結(jié)果表明 Kubernetes 為 Pod 配置的 QoS 類(lèi)為 BestEffort。

spec:
  containers:
    ...
    resources: {}
  ...
status:
  qosClass: BestEffort

刪除 Pod:

kubectl delete pod qos-demo-3 --namespace=qos-example

創(chuàng)建包含兩個(gè)容器的 Pod

下面是包含兩個(gè)容器的 Pod 配置文件。 一個(gè)容器指定了內(nèi)存請(qǐng)求 200 MiB。 另外一個(gè)容器沒(méi)有指定任何請(qǐng)求和限制。

apiVersion: v1
kind: Pod
metadata:
  name: qos-demo-4
  namespace: qos-example
spec:
  containers:

  - name: qos-demo-4-ctr-1
    image: nginx
    resources:
      requests:
        memory: "200Mi"

  - name: qos-demo-4-ctr-2
    image: redis

注意此 Pod 滿(mǎn)足 Burstable QoS 類(lèi)的標(biāo)準(zhǔn)。 也就是說(shuō)它不滿(mǎn)足 Guaranteed QoS 類(lèi)標(biāo)準(zhǔn),因?yàn)樗囊粋€(gè)容器設(shè)有內(nèi)存請(qǐng)求。

創(chuàng)建 Pod:

kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-4.yaml --namespace=qos-example

查看 Pod 詳情:

kubectl get pod qos-demo-4 --namespace=qos-example --output=yaml

結(jié)果表明 Kubernetes 為 Pod 配置的 QoS 類(lèi)為 Burstable:

spec:
  containers:
    ...
    name: qos-demo-4-ctr-1
    resources:
      requests:
        memory: 200Mi
    ...
    name: qos-demo-4-ctr-2
    resources: {}
    ...
status:
  qosClass: Burstable

刪除 Pod:

kubectl delete pod qos-demo-4 --namespace=qos-example

環(huán)境清理

刪除命名空間:

kubectl delete namespace qos-example

網(wǎng)站欄目:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes配置Pod的服務(wù)質(zhì)量
鏈接URL:http://www.5511xx.com/article/dhpeidp.html