新聞中心
為容器分派擴(kuò)展資源
FEATURE STATE: Kubernetes v1.24 [stable]

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、嘉定網(wǎng)絡(luò)推廣、小程序開發(fā)、嘉定網(wǎng)絡(luò)營銷、嘉定企業(yè)策劃、嘉定品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供嘉定建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
本文介紹如何為容器指定擴(kuò)展資源。
在開始之前
你必須擁有一個(gè) Kubernetes 的集群,同時(shí)你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個(gè)節(jié)點(diǎn)的集群上運(yùn)行本教程,且這些節(jié)點(diǎn)不作為控制平面主機(jī)。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個(gè)你自己的集群,或者你可以使用下面任意一個(gè) Kubernetes 工具構(gòu)建:
- Katacoda
- 玩轉(zhuǎn) Kubernetes
要檢查版本,請(qǐng)輸入 ?kubectl version?。
給 Pod 分派擴(kuò)展資源
要請(qǐng)求擴(kuò)展資源,需要在你的容器清單中包括 ?resources:requests? 字段。 擴(kuò)展資源可以使用任何完全限定名稱,只是不能使用 ?*.kubernetes.io/?。 有效的擴(kuò)展資源名的格式為 ?example.com/foo?,其中 ?example.com? 應(yīng)被替換為 你的組織的域名,而 ?foo ?則是描述性的資源名稱。
下面是包含一個(gè)容器的 Pod 配置文件:
apiVersion: v1
kind: Pod
metadata:
name: extended-resource-demo
spec:
containers:
- name: extended-resource-demo-ctr
image: nginx
resources:
requests:
example.com/dongle: 3
limits:
example.com/dongle: 3
在配置文件中,你可以看到容器請(qǐng)求了 3 個(gè) dongles。
創(chuàng)建 Pod:
kubectl apply -f https://K8S.io/examples/pods/resource/extended-resource-pod.yaml
檢查 Pod 是否運(yùn)行正常:
kubectl get pod extended-resource-demo
描述 Pod:
kubectl describe pod extended-resource-demo
輸出結(jié)果顯示 dongle 請(qǐng)求如下:
Limits:
example.com/dongle: 3
Requests:
example.com/dongle: 3
嘗試創(chuàng)建第二個(gè) Pod
下面是包含一個(gè)容器的 Pod 配置文件,容器請(qǐng)求了 2 個(gè) dongles。
apiVersion: v1
kind: Pod
metadata:
name: extended-resource-demo-2
spec:
containers:
- name: extended-resource-demo-2-ctr
image: nginx
resources:
requests:
example.com/dongle: 2
limits:
example.com/dongle: 2
Kubernetes 將不能滿足 2 個(gè) dongles 的請(qǐng)求,因?yàn)榈谝粋€(gè) Pod 已經(jīng)使用了 4 個(gè)可用 dongles 中的 3 個(gè)。
嘗試創(chuàng)建 Pod:
kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml
描述 Pod:
kubectl describe pod extended-resource-demo-2
輸出結(jié)果表明 Pod 不能被調(diào)度,因?yàn)闆]有一個(gè)節(jié)點(diǎn)上存在兩個(gè)可用的 dongles。
Conditions:
Type Status
PodScheduled False
...
Events:
...
... Warning FailedScheduling pod (extended-resource-demo-2) failed to fit in any node
fit failure summary on nodes : Insufficient example.com/dongle (1)
查看 Pod 的狀態(tài):
kubectl get pod extended-resource-demo-2
輸出結(jié)果表明 Pod 雖然被創(chuàng)建了,但沒有被調(diào)度到節(jié)點(diǎn)上正常運(yùn)行。Pod 的狀態(tài)為 Pending:
NAME READY STATUS RESTARTS AGE
extended-resource-demo-2 0/1 Pending 0 6m
清理
刪除本練習(xí)中創(chuàng)建的 Pod:
kubectl delete pod extended-resource-demo
kubectl delete pod extended-resource-demo-2
文章名稱:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes為容器分派擴(kuò)展資源
文章分享:http://www.dlmjj.cn/article/djsdojg.html


咨詢
建站咨詢
