日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過虛擬節(jié)點將Pod調度到ECI上運行

當您需要在短時間內快速創(chuàng)建大量Pod時,ECS節(jié)點擴容速度可能無法滿足要求,而預留額外的ECS節(jié)點又會產生資源浪費。借助ACK虛擬節(jié)點可以將Pod快速地調度到彈性容器實例ECI上運行,且無需購買和管理ECS節(jié)點。本文介紹如何在ACK集群(ACK托管集群ACK專有集群)中將Pod調度到ECI上運行。

工作原理

阿里云彈性容器實例ECI(Elastic Container Instance)是面向容器設計的無服務器彈性計算服務,提供了免運維、強隔離、能快速啟動的容器運行環(huán)境。使用ECI時,您無需購買和管理底層ECS服務器,可以更加關注容器應用而非底層基礎設施的維護工作。您可按需創(chuàng)建ECI,僅為容器配置的資源付費(按量按秒計費)。

通常,您的ACK集群會有至少一組ECS節(jié)點池,創(chuàng)建Pod時,背后是將Pod調度到ECS節(jié)點上運行,這種架構能很好地應對流量穩(wěn)定的業(yè)務。如果您的業(yè)務有不易提前預測的瞬時波峰,盡管ACK支持彈性伸縮,但ECS節(jié)點池擴容時,ECS實例的創(chuàng)建和啟動本身會有一定的額外耗時。借助虛擬節(jié)點,您可以直接調度Pod到ECI上運行,省去節(jié)點創(chuàng)建時間,避免產生閑置節(jié)點資源,降低成本。

image

適用場景

在ECI上運行Pod適合應對突發(fā)流量,也能降低計算成本。典型場景包括:

  • 有明顯波峰波谷的在線業(yè)務:例如在線教育、電商等業(yè)務的流量通常有明顯的波峰波谷,使用ECI Pod可以更快速地應對突發(fā)流量,并且能顯著減少固定資源池的維護,降低計算成本。

  • 非持續(xù)運行的計算任務,使用ECI Pod運行計算任務,無需保留固定節(jié)點,僅需為任務執(zhí)行期間的計算資源付費,降低計算成本,例如:

    • 數據計算:Spark、Presto。

    • CI/CD Pipeline:例如Jenkins、Gitlab-Runner等。

    • Job任務:例如定時任務、AI任務等。

前提條件

步驟一:部署ack-virtual-node組件

ACK托管集群ACK專有集群中的ack-virtual-node組件安裝和托管方式有所不同:

  • ACK托管集群中,需要通過組件管理頁面部署ack-virtual-node組件,該組件默認被托管,不占用Worker節(jié)點資源。

  • ACK專有集群中,需要通過應用市場頁面部署ack-virtual-node組件,安裝成功后會在kube-system命名空間下創(chuàng)建一個名為ack-virtual-node-controller的deployment,該deployment會運行在您的Worker節(jié)點上。

ACK托管集群

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面的核心組件區(qū)域,選擇ack-virtual-node組件,然后單擊安裝,并按照頁面提示完成操作。

    安裝時,使用集群默認虛擬交換機和安全組作為ack-virtual-node的初始ECI配置參數。如需修改ECI配置參數,請參見下文相關操作

ACK專有集群

  1. 登錄容器服務管理控制臺,在左側導航欄選擇市場 > 應用市場

  2. 應用市場頁面單擊應用目錄頁簽,搜索并選中ack-virtual-node,然后在ack-virtual-node頁面,單擊一鍵部署

  3. 創(chuàng)建面板中,選擇集群和命名空間,然后單擊下一步

    命名空間已設置為kube-system,發(fā)布名稱已設置為ack-virtual-node。

  4. 參數配置頁面,選擇最新Chart 版本,在參數區(qū)域,配置虛擬節(jié)點參數,然后單擊確定

    參數

    可選屬性

    描述

    獲取路徑

    ALIYUN_CLUSTERID

    Required

    集群ID

    集群信息頁面的基本信息頁簽獲取集群ID。

    ALIYUN_RESOURCEGROUP_ID

    Optional

    資源組ID

    不配置時,默認使用默認資源組。如需配置,登錄資源管理控制臺,獲取目標資源組ID。

    ECI_REGION

    Required

    地域ID

    集群信息頁面的基本信息頁簽獲取地域信息。

    說明

    關于地域名稱與地域ID的關系,請參見地域和可用區(qū)列表

    ECI_VPC

    Optional

    虛擬專有網絡VPC ID

    集群信息頁面的基本信息頁簽獲取集群VPC ID。

    ECI_VSWITCH

    Required

    虛擬交換機

    多個vSwitch ID組成的虛擬交換機列表,用于為業(yè)務Pod分配IP。多個vSwitch ID之間使用英文半角逗號(,)分隔,例如vsw-xxx1, vsw-xxx2。建議與節(jié)點池使用相同的虛擬交換機列表。

    可在節(jié)點池頁面的節(jié)點池列表,單擊某個節(jié)點池,在基本詳情頁簽的節(jié)點配置區(qū)域,獲取節(jié)點vSwitch ID。

    說明

    請確認當前虛擬交換機在ECI支持的可用區(qū)列表中。

    ECI_SECURITY_GROUP

    Required

    安全組ID

    集群信息頁面的基本信息頁簽獲取安全組ID。

    ECI_ACCESS_KEY

    Required

    您的AccessKey ID

    請參見獲取AccessKey

    請授權RAM的AliyunECIFullAccess策略。更多信息,請參見為RAM用戶授權

    ECI_SECRET_KEY

    Required

    您的AccessKey Secret

    請參見獲取AccessKey

    請授權RAM的AliyunECIFullAccess策略。更多信息,請參見為RAM用戶授權

    KUBERNETES_APISERVER_HOST

    Required

    API Server的IP地址

    API Server內網連接端點的IP和端口。可在集群信息頁面的基本信息頁簽查詢。

    KUBERNETES_APISERVER_PORT

    Required

    API Server的端口

  5. 執(zhí)行以下命令,查看ack-virtual-node組件部署狀態(tài)。

    kubectl -n kube-system get deploy ack-virtual-node-controller

    預期輸出:

    NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
    ack-virtual-node-controller   1/1     1            1           2m31s

步驟二:將Pod調度到ECI上運行

為集群部署了ack-virtual-node組件后,您可以借助虛擬節(jié)點將Pod調度到ECI上。本小節(jié)介紹了在ACK托管集群ACK專有集群中將Pod調度到ECI上的兩種常見方式。

如果您期望在ACK集群Pro版配置更為靈活的ECI Pod調度策略,例如只允許將Pod調度到ECI上、優(yōu)先調度Pod到ECS節(jié)點上,或只允許將Pod調度到ECS節(jié)點上,具體操作請參見指定ECS和ECI的資源分配

通過Pod標簽將Pod調度到ECI上

創(chuàng)建Pod時添加標簽alibabacloud.com/eci=true,Pod將被調度到ECI上。示例如下。

  1. 執(zhí)行以下命令,為Pod添加標簽alibabacloud.com/eci=true

    kubectl run nginx --image nginx -l alibabacloud.com/eci=true
  2. 執(zhí)行以下命令,查看通過虛擬節(jié)點調度到ECI上運行的Pod。

    kubectl get pod -o wide|grep virtual-kubelet

    預期輸出:

    nginx-7fc9f746b6-r4xgx     1/1     Running   0          34s   192.XX.XX.108   virtual-kubelet-cn-hangzhou-k        <none>           <none>

通過命名空間標簽將Pod調度到ECI上

在命名空間上添加標簽alibabacloud.com/eci=true后,在該命名空間內創(chuàng)建Pod,Pod將調度到ECI上。示例如下。

  1. 執(zhí)行以下命令,創(chuàng)建命名空間vk

    kubectl create ns vk
  2. 執(zhí)行以下命令,為Pod所在的命名空間vk添加標簽alibabacloud.com/eci=true

    kubectl label namespace vk alibabacloud.com/eci=true
  3. 執(zhí)行以下命令,讓命名空間中的Pod調度到虛擬節(jié)點上。

    kubectl -n vk run nginx --image nginx
  4. 執(zhí)行以下命令,查看通過虛擬節(jié)點調度到ECI上運行的Pod。

    kubectl -n vk get pod -o wide|grep virtual-kubelet

    預期輸出:

    nginx-6f489b847d-vgj4d      1/1     Running             0          1m   192.XX.XX.108   virtual-kubelet-cn-hangzhou-k        <none>           <none>

相關操作

為了使用虛擬節(jié)點的一些更高級的特性,后續(xù)您可能需要升級ack-virtual-node組件或者修改ACK虛擬節(jié)點配置。當您不再需要使用虛擬節(jié)點時,也可以刪除ack-virtual-node組件。

升級ack-virtual-node組件

升級耗時約1分鐘。升級過程中無法新建Pod,但對存量Pod不造成影響。

ACK托管集群

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面的核心組件區(qū)域,選擇ack-virtual-node組件,然后單擊升級,并按照頁面提示完成操作。

ACK專有集群

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  3. 在Helm列表的操作列,單擊ack-virtual-node對應的更新,在版本區(qū)域,選擇最新的Chart版本。

  4. 在配置參數區(qū)域,更新Required字段(需與此前配置一致。如此前配置了Optional字段,也需保持一致),然后單擊確定

    您也可以同時指定virtualNode.image.tag字段,升級VirtualNode鏡像到指定版本。

修改ACK虛擬節(jié)點配置

關于修改ACK虛擬節(jié)點配置的操作,請參見配置eci-profile

刪除ACK虛擬節(jié)點

  1. 卸載ack-virtual-node組件。

    • 在ACK托管版集群中,刪除所有ECI Pod后,在組件管理頁面卸載ack-virtual-node組件。

    • 在ACK專有版集群中,刪除所有ECI Pod后,在Helm管理頁面刪除ack-virtual-node組件。

  2. 通過命令kubectl delete node <node name>刪除相關虛擬節(jié)點。

    說明

    卸載ack-virtual-node組件后,集群中已創(chuàng)建的ECI Pod并不會被刪除。