容器服務(wù)Kubernetes的Terway網(wǎng)絡(luò)場景中交換機(jī)的IP資源不足
更新時間:
問題描述
在創(chuàng)建Pod時發(fā)現(xiàn)無法創(chuàng)建,登錄VPC控制臺,選擇目標(biāo)地域,單擊交換機(jī),查看集群使用的交換機(jī)(vSwitch)信息,發(fā)現(xiàn)該vSwitch可用IP數(shù)為0。如何進(jìn)一步確認(rèn)問題請參見更多信息。
問題原因
該節(jié)點(diǎn)的Terway所使用的vSwitch沒有空余IP地址,導(dǎo)致Pod會因為沒有IP資源而一直處于ContainerCreating狀態(tài)。
解決方案
您可以參考以下內(nèi)容,擴(kuò)容vSwitch,即添加新的vSwitch,擴(kuò)容集群的IP資源:
- 登錄VPC控制臺,選擇目標(biāo)地域,創(chuàng)建新的vSwitch。
說明:該vSwitch必須與IP資源不足的vSwitch在同一個地域和可用區(qū)。如果Pod密度越來越大,建議給Pod使用的vSwitch網(wǎng)段的網(wǎng)絡(luò)位小于等于19,也就是網(wǎng)段至少包含8192個IP地址。
- 執(zhí)行以下命令,編輯Terway的ConfigMap配置。
kubectl edit cm eni-config -n kube-system
在編輯模式中添加vsw-BBB(新創(chuàng)建的交換機(jī)名)到vswitches處,vsw-AAA是已經(jīng)存在的、IP資源不足的vSwitch。具體格式如下所示。
eni_conf: | { "version": "1", "max_pool_size": 25, "min_pool_size": 10, "vswitches": {"cn-shanghai-f":["vsw-AAA", "vsw-BBB"]}, "service_cidr": "172.X.X.0/20", "security_group": "sg-CCC" }
- 查看Terway版本,如果Terway不是最新的版本,需要您在組件管理頁面將Terway升到最新版本,詳情請參見管理組件。
- 參考以下命令,刪除全部Terway Pod,刪除后Terway Pod會重新創(chuàng)建。
說明:如果您在創(chuàng)建集群時,使用Terway并勾選了Pod獨(dú)占彈性網(wǎng)卡以獲得最佳性能,說明您是ENI單IP;沒有勾選則是ENI多IP,詳細(xì)信息請參見Terway網(wǎng)絡(luò)插件。
- 針對ENI多IP場景:
kubectl delete -n kube-system pod -l app=terway-eniip
- 針對ENI單IP場景:
kubectl delete -n kube-system pod -l app=terway-eni
- 針對ENI多IP場景:
- 然后執(zhí)行
kubectl get pod
命令,確認(rèn)全部Terway Pod重建成功。 - 創(chuàng)建新的Pod,確認(rèn)Pod創(chuàng)建成功且可以從新vSwitch成功分配獲得IP。
更多信息
連接Kubernetes集群,如何連接請參見通過kubectl連接Kubernetes集群,執(zhí)行kubectl get pod
命令,發(fā)現(xiàn)Pod狀態(tài)為ContainerCreating。執(zhí)行以下命令,查看Pod所在節(jié)點(diǎn)的容器日志。
kubectl logs --tail=100 -f [$Pod_Name] -n kube-system -c [$Container_Name]
說明:
- [$Pod_Name]為Pod的名稱。
- [$Container_Name]為Pod所在的容器名。
系統(tǒng)顯示類似如下,出現(xiàn)類似InvalidVSwitchId.IpNotEnough錯誤信息。
time="2020-03-17T07:03:40Z" level=warning msg="Assign private ip address failed: Aliyun API Error: RequestId: 2095E971-E473-4BA0-853F-0C41CF52651D Status Code: 403 Code: InvalidVSwitchId.IpNotEnough Message: The specified VSwitch \"vsw-AAA\" has not enough IpAddress., retrying"
相關(guān)文檔
適用于
- 容器服務(wù)Kubernetes版
文檔內(nèi)容是否對您有幫助?