在上一篇博文中(yq.aliyun.com/articles/64…),我們展示瞭如何手動執行yaml檔案給Kubernetes叢集新增虛擬節點,然而,手動執行的方式使用者體驗並不友好,也無法以元件的方式持續升級和管理。現在我們已經可以通過Helm的方式,讓ack-virtual-node的部署和管理變得更加簡單。首先,讓我們簡單回顧一下虛擬節點Virtual Node是如何執行的。
虛擬節點Virtual Node
虛擬節點來源於社群virtual kubelet技術,其實現了kubernetes與彈性容器例項ECI的無縫連線,讓kubernetes叢集輕鬆獲得極大的彈效能力,而不必受限於叢集的節點容量,其“虛擬”則體現在節點容量的“無限”。
在混合叢集中,真實節點上的pod與虛擬節點上的pod互聯互通。但虛擬節點建立的pod是按需付費,收費規則請參考:help.aliyun.com/document_de…。pod規格配置支援0.25c至64c,請參考:help.aliyun.com/document_de…
安裝ack-virtual-node外掛
首先登入容器服務控制檯,建立託管版kubernetes叢集。在應用目錄頁面選擇ack-virtual-node。
cs.console.aliyun.com/#/k8s/catal…
配置虛擬節點引數,包括Region,AK資訊,vswitchId和securityGroupId需要和Kubernetes叢集配置相同(可在叢集資訊頁面檢視網路配置資訊)
安裝Helm外掛
安裝成功後,在節點頁面可以看到新增了一個節點virtual-kubelet
通過kubectl命令,我們可以檢視節點和helm部署狀態,後續也可以通過helm對ack-virtual-node進行升級和管理。
基於虛擬節點建立pod
建立如下nginx pod,設定正確的nodeSelector和tolerations,確保pod會被排程到虛擬節點上。
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
nodeSelector:
type: virtual-kubelet
tolerations:
- key: virtual-kubelet.io/provider
operator: Exists複製程式碼
使用場景
虛擬節點和Serverless Kubernetes都是基於彈性容器例項ECI構建,都屬於Serverless Container產品形態,主要適用於多種Serverless workload場景,可以極大的降低運維成本,降低使用者的總體計算成本,提高計算效率。歡迎使用者使用。
本文為雲棲社群原創內容,未經允許不得轉載。