Vultr Kubernetes Engine (VKE) 參考指南

介紹

Vultr Kubernetes Engine (VKE) 是一種完全託管的 Kubernetes 產品,價格可預測。 當您部署 VKE 時,您將獲得一個託管的 Kubernetes 控制平面,其中包括我們的雲控制器管理器(MCC) 和容器存儲接口(ITSC)。 此外,您可以配置塊存儲和負載平衡器或安裝插件,如 Vultr 中的插件外部域名系統證書管理器. 我們讓託管 Kubernetes 變得簡單,因此您可以專注於擴展您的應用程序。

觀眾

本快速入門指南解釋瞭如何部署 VKE 集群,並假設您有使用 Kubernetes 的經驗。 如果您對本指南有任何意見,請使用建議更新頁面底部的按鈕。

有關受支持的 Kubernetes 版本的信息,請參閱我們的變更日誌。

如何實現VKE集群

您只需單擊幾下即可部署新的 VKE 集群。 以下是如何開始。

  1. 導航客戶門戶中的 Kubernetes 頁面.

  2. 點擊添加集群.

  3. 輸入描述性標籤集群名稱.

  4. 選擇 Kubernetes 版本。

  5. 選擇部署位置。

  6. 創建節點組。

    關於節點池

    創建 VKE 集群時,您可以分配一個或多個節點池,每個池有多個節點。 對於每組節點,您需要進行一些選擇。

    • 節點池名稱:輸入節點組的描述性標籤。

    • 節點池類型: 提供多種類型的節點池,優化的Cloud將是默認的節點池類型

    • 的選擇節點池類型在由:

      • 雲優化

      • 常規雲計算

      • 高頻

      • 高性能英特爾

      • 高性能AMD

    • 計劃:組中的所有節點將具有相同的計劃; 但是,所有類型的節點池必須相同。 為您的工作負載選擇合適的大小。

    • 節點數:選擇該組中應包含多少個節點。 強烈建議使用多個節點。

    節點池的月費是在您選擇時計算的。 如果要實施多個,請單擊添加另一個節點組.

  7. 準備就緒後,單擊現在實施.

Kubernetes 需要一些時間來清點和配置節點。 當VKE完成配置後,集群狀態會上報跑步. 要檢查集群的狀態,您可以下載您的 kubeconfig 文件(如下一節所述)並運行:

                      
                            kubectl --kubeconfig={PATH TO THE FILE} cluster-info

                      
                    

如何管理 VKE 集群

部署 VKE 集群後,您需要收集一些信息並對其進行管理。

  1. 導航Kubernetes 部分客戶門戶網站。

  2. 點擊管理在所需組的右側。

    在 Overview 選項卡上,您將看到集群的 IP 地址和端點信息。

  3. 點擊下載配置在右上角下載你的 kubeconfig 文件,其中包含用於控制集群的憑據和端點信息。 將此文件與 kubectl 如圖所示:

                              
                                kubectl --kubeconfig={PATH TO THE FILE} get nodes
    
                              
                            

關於 kubeconfig

kubectl 使用配置文件,稱為kubeconfig訪問您的 Kubernetes 集群。

kubeconfig 文件包含有關集群的信息,例如用戶、命名空間和身份驗證機制。 這 kubectl 該命令使用 kubeconfig 查找集群並與之通信。 默認的 kubeconfig 是 ~/.kube/config 除非您在命令行上或使用環境變量覆蓋該位置。 優先順序是:

  1. 如果你設置 --kubeconfig 旗幟,kubectl只加載那個文件。 您只能使用一個標誌並且不會發生合併。

  2. 如果你設置 $KUBECONFIG 環境變量,根據系統的正常路徑框架規則將其解析為文件系統路徑列表。

  3. 否則,kubectl 使用 ~/.kube/config 文件並且沒有合併發生。

請看Kubernetes 文檔更多細節。

管理節點池

要管理節點池,請單擊節點上的選項卡管理集群頁。

Administrar nodos

您有幾個可用的控件:

  • 單擊節點組的名稱以展開該組並查看各個節點。 您可以單獨替換或刪除節點。

  • 點擊添加節點組添加另一個池。

  • 單擊 – 或 + 以減少或增加節點數。

  • 點擊 X 池右側的圖標可摧毀池。

重要的:您必須使用 VKE Dashboard 或 Vultr API Kubernetes 端點來刪除 VKE 工作節點。 如果您從客戶門戶的另一部分或使用 Vultr API 實例端點刪除工作節點,Vultr 將重新部署工作節點以保留 VKE 集群節點池的定義配置。

資源管理

要管理 VKE 綁定的資源,例如塊存儲和負載均衡器,請單擊鏈接資源上的選項卡管理集群頁。

Captura de pantalla de recursos vinculados

關於託管控制平面

當您部署 VKE 時,您會自動獲得多個託管組件。 雖然您不需要自己實施或配置它們,但這裡有簡要說明以及指向更多信息的鏈接。

雲控制器管理器

vultr Cloud Controller Manager (CCM) 是託管控制平面的一部分,它將 Vultr 功能連接到您的 Kubernetes 集群。 CCM 監控節點的健康狀況,分配其 IP 地址,並根據 Kubernetes 負載均衡器/Ingress 服務的需要自動部署託管負載均衡器。有關 CCM 的更多信息在 GitHub 上。

容器存儲接口

如果您的應用保留數據,則需要存儲空間。 VKE Managed Control Plane 自動實現Vultr容器存儲接口(CSI) 默認將您的 Kubernetes 集群連接到 Vultr 高速塊存儲。有關 CSI 的更多信息在 GitHub 上。

  • 筆記: ReadWriteOnce 它是 Vultr 塊存儲允許的唯一訪問模式。

  • 重要的:您必須為持久數據使用塊存儲卷。 工作節點上的本地磁盤存儲是暫時的,將在 Kubernetes 升級期間丟失。

Vultr 提供兩種塊存儲技術:硬盤NVMe.

硬盤塊存儲

HDD 是一種經濟實惠的選擇,它使用傳統的旋轉硬盤驅動器並支持大於 10TB 的捲。

  • CSI 存儲類: vultr-block-storage-hdd

  • 最小體積大小:40GB

  • 最大卷大小:40TB

  • 技術:旋轉硬盤

  • 可用性:大多數 Vultr 位置

  • 關鍵特點:負擔得起的存儲和更大的容量

NVMe 塊存儲

NVMe 是需要快速 I/O 的工作負載的更高性能選項。

  • CSI 存儲類: vultr-block-storage

  • 最小體積大小:10GB

  • 最大卷大小:10TB

  • 技術:固態 NVMe

  • 可用性:許多 Vultr 位置

  • 關鍵特點:更高性能的 I/O

塊存儲可用性

使用 /v2/regions API端點找出您所在位置可用的存儲類別。

  • block_storage_storage_opt 表示 HDD 存儲可用。

  • block_storage_high_perf 表示 NVMe 存儲可用。

一些位置支持兩種存儲類別。 如果 NVMe 塊存儲在一個位置可用,我們的 CSI 默認使用該類。

塊存儲使用

要將塊存儲與 VKE 一起使用,請實施 Persistent Volume Claim (PVC)。 例如,要使用 NMVe 支持的存儲將 10 Gi 塊部署到您的 VKE 帳戶,請使用如下所示的 PersistentVolumeClaim 模板:

                      
                        apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: csi-pvc

spec:

  accessModes:

    - ReadWriteOnce

  resources:

    requests:

      storage: 10Gi

  storageClassName: vultr-block-storage

                      
                    

要將此 PVC 附加到 Pod,請在 Pod 模板中定義一個卷節點。 注意 claimName 以下是csi-pvc在上面的示例中引用 PersistentVolumeClaim。

                      
                        kind: Pod

apiVersion: v1

metadata:

  name: readme-app

spec:

  containers:

    - name: readme-app

      image: busybox

      volumeMounts:

        - mountPath: "/data"

          name: vultr-volume

      command: [ "sleep", "1000000" ]

  volumes:

    - name: vultr-volume

      persistentVolumeClaim:

        claimName: csi-pvc

                      
                    

有關持久卷的更多信息,請參閱Kubernetes 文檔. 如果您想了解更多有關 Vultr CSI 的信息,查看我們的 GitHub 存儲庫.

VKE 負載均衡器

VKE 中的負載均衡器提供與獨立託管負載均衡器相同的特性和功能。 要為您的應用程序實施 VKE 負載均衡器,請添加一個 LoadBalancer 寫入您服務的配置文件並使用元數據註釋告訴 CCM 如何配置 VKE 的負載均衡器。 VKE 會根據您的服務配置部署 Kubernetes 服務負載均衡器並附加到集群。

下面是一個示例服務配置文件,它為端口 80 上的 HTTP 流量聲明了一個負載均衡器。應用程序啟動器 app-name 匹配集群中現有的一組服務 pod。

                      
                        apiVersion: v1

kind: Service

metadata:

  annotations:

    service.beta.kubernetes.io/vultr-loadbalancer-protocol: "http"

  name: vultr-lb-http

spec:

  type: LoadBalancer

  selector:

    app: app-name

  ports:

    - port: 80

      name: "http"

                      
                    

注意元數據部分中的註釋。 註釋是您配置負載均衡器的方式,您會發現可用註釋的完整列表在我們的 GitHub 存儲庫中。

這是另一個偵聽 HTTP 端口 80 和 HTTPS 端口 443 的負載均衡器示例。SSL 證書被聲明為名為 Kubernetes TLS 的機密 ssl-secret 假設這個例子已經實現了。 手錶TLS 機密文件有關如何實施 TLS 機密的信息。

                      
                        apiVersion: v1

kind: Service

metadata:

  annotations:

    service.beta.kubernetes.io/vultr-loadbalancer-protocol: "http"

    service.beta.kubernetes.io/vultr-loadbalancer-https-ports: "443"

    # You will need to have created a TLS Secret and pass in the name as the value

    service.beta.kubernetes.io/vultr-loadbalancer-ssl: "ssl-secret"

  name: vultr-lb-https

spec:

  type: LoadBalancer

  selector:

    app: app-name

  ports:

    - port: 80

      name: "http"

    - port: 443

      name: "https"

                      
                    

隨著集群中工作節點數量的增加或減少,VKE 管理它們與負載均衡器的連接。 有關 Kubernetes 負載均衡器的概述,請參閱kubernetes.io 上的文檔.

VKE 證書管理器

VKE Cert Manager 將證書和證書頒發者添加為 VKE 中的資源類型,並簡化了獲取、更新和使用這些證書的過程。 我們的證書管理器文檔它在 GitHub 上,你可以使用Vultr Helm Chart 安裝證書管理器.

VKE 外部 DNS

ExternalDNS 使 Kubernetes 資源可通過公共 DNS 服務器發現。 想要查詢更多的信息,請參閱我們的教程以使用 Vultr DNS 配置 ExternalDNS.

常見問題

什麼是 Vultr Kubernetes 引擎?

Vultr Kubernetes Engine 是一種完全託管的產品,具有可預測的定價,使 Kubernetes 易於使用。 Vultr 管理控制平面和工作節點,並提供與其他託管服務(如負載均衡器、塊存儲和 DNS)的集成。

VKE 支持哪些版本的 Kubernetes?

有關受支持的 Kubernetes 版本的信息,請參閱我們的變更日誌。

Vultr Kubernetes Engine 的價格是多少?

Vultr Kubernetes Engine 包含免費的託管控制平面。 您為部署的工作節點、負載均衡器和塊存儲資源付費。 工作節點和負載均衡器在您選擇的具有 2 GB 或更多 RAM 的 Vultr 雲服務器實例上運行。 查看我們的小時費率。

塊存儲卷是否有最小大小?

是的,塊存儲卷的最小大小為 10 GB。

我可以在我的 Kubernetes 集群上部署裸機服務器嗎?

Kubernetes 使用 Vultr 雲服務器。 它與裸機服務器不兼容。

VKE 是否帶有登錄驅動程序?

不,VKE 沒有預配置的登錄控制器。 Vultr 負載均衡器將與您實施的任何輸入控制器一起工作。 流行的輸入控制器包括Nginx,代理服務器特拉菲克.

VKE 使用什麼容器網絡接口(CNI)?

VKE用途印花布.

文章標題 名稱(可選) 電子郵件(可選) 描述

發送建議

相關文章