跳至主要内容

在 Azure Kubernetes Service 上安裝 Rancher

本頁面介紹如何在 Microsoft 的 Azure Kubernetes Service (AKS) 上安裝 Rancher。

本指南使用命令列工具來佈建具有 ingress 的 AKS 叢集。如果您偏好使用 Azure 入口網站佈建叢集,請參閱官方文件。

如果您已經擁有 AKS Kubernetes 叢集,請跳到有關安裝 ingress 的步驟。然後按照此頁面上的說明安裝 Rancher Helm chart。

前置條件​

警告

部署到 Microsoft Azure 將產生費用。

  • Microsoft Azure 帳戶:需要 Microsoft Azure 帳戶才能建立用於部署 Rancher 和 Kubernetes 的資源。
  • Microsoft Azure 訂閱:如果您還沒有 Microsoft Azure 訂閱,請使用此連結按照教學建立。
  • Microsoft Azure 租戶:使用此連結並按照說明建立 Microsoft Azure 租戶。
  • 您的訂閱至少有 2 個 vCPU 的足夠配額。有關 Rancher 伺服器資源要求的詳細資訊,請參閱本節
  • 在 Azure 中使用 Helm 安裝 Rancher 時,請使用 L7 負載平衡器以避免網路問題。有關更多資訊,請參閱有關 Azure 負載平衡器限制的文件。

1. 準備您的工作站​

在您的工作站上安裝以下命令列工具:

2. 建立資源群組​

安裝 CLI 後,您需要使用 Azure 帳戶登入。

az login

建立一個資源群組來保存叢集的所有相關資源。使用適用於您使用案例的位置。

az group create --name rancher-rg --location eastus

3. 建立 AKS 叢集​

要建立 AKS 叢集,請執行以下命令。使用適用於您使用案例的 VM 大小。有關可用大小和選項,請參閱本文。選擇 Kubernetes 版本時,請務必先參考支援矩陣以找到已針對您的 Rancher 版本驗證的最高 Kubernetes 版本。

備註

如果您要從較舊版本的 Kubernetes 更新到 Kubernetes v1.22 或更高版本,您還需要更新 ingress-nginx。

az aks create \
--resource-group rancher-rg \
--name rancher-server \
--kubernetes-version <VERSION> \
--node-count 3 \
--node-vm-size Standard_D2_v3

叢集將需要一些時間來部署。

4. 取得存取憑證​

叢集部署後,取得存取憑證。

az aks get-credentials --resource-group rancher-rg --name rancher-server

此命令將您的叢集憑證合併到現有的 kubeconfig 中,並允許 kubectl 與叢集互動。

5. 安裝 Ingress​

叢集需要一個 Ingress,以便可以從叢集外部存取 Rancher。安裝 Ingress 需要分配公共 IP 位址。確保您有足夠的配額,否則將無法分配 IP 位址。公共 IP 位址的限制適用於每個訂閱的區域層級。

要確保您選擇正確的 Ingress-NGINX Helm chart,首先在 Kubernetes/ingress-nginx 支援表中找到與您的 Kubernetes 版本相容的 Ingress-NGINX version。

然後,透過執行以下命令列出可用的 Helm chart:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm search repo ingress-nginx -l

helm search 命令的輸出包含一個 APP VERSION 欄位。此欄位下的版本等同於您之前選擇的 Ingress-NGINX version。使用應用程式版本,選擇一個與您的 Kubernetes 安裝相容的應用程式捆綁的 chart 版本。例如,如果您有 Kubernetes v1.24,您可以選擇 v4.6.0 Helm chart,因為 Ingress-NGINX v1.7.0 與該 chart 捆綁在一起,而 v1.7.0 與 Kubernetes v1.24 相容。如有疑問,請選擇最新的相容版本。

現在您知道需要哪個 Helm chart version,請執行以下命令。它安裝一個帶有 Kubernetes 負載平衡器服務的 nginx-ingress-controller:

helm search repo ingress-nginx -l
helm upgrade --install \
ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.service.type=LoadBalancer \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \
--set controller.service.externalTrafficPolicy=Local \
--version 4.6.0 \
--create-namespace

6. 取得負載平衡器 IP​

要取得負載平衡器的位址,請執行:

kubectl get service ingress-nginx-controller --namespace=ingress-nginx

結果應類似於以下內容:

NAME                       TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)
AGE
ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP
67s

儲存 EXTERNAL-IP。

7. 設定 DNS​

前往 Rancher 伺服器的外部流量需要導向到您建立的負載平衡器。

設定 DNS 以指向您儲存的 EXTERNAL-IP。此 DNS 將用作 Rancher 伺服器 URL。

有許多有效的方法可以設定 DNS。如需協助,請參閱 Azure DNS 文件

8. 安裝 Rancher Helm Chart​

接下來,按照此頁面上的說明安裝 Rancher Helm chart。在任何 Kubernetes 發行版上安裝 Rancher 的 Helm 說明都是相同的。

安裝 Rancher 時,使用上一步驟中的 DNS 名稱作為 Rancher 伺服器 URL。它可以作為 Helm 選項傳入。例如,如果 DNS 名稱是 rancher.my.org,您可以使用選項 --set hostname=rancher.my.org 執行 Helm 安裝命令。

在此設定上安裝 Rancher 時,您還需要將以下值傳遞到 Rancher Helm 安裝命令中,以設定用於 Rancher ingress 資源的 ingress controller 名稱:

--set ingress.ingressClassName=nginx

有關您選擇的憑證選項的 Helm 安裝命令,請參閱此處。