在 AKS 上安装 Rancher

概述

本页介绍了如何在微软的 Azure Kubernetes Service(AKS)上安装 Rancher。

本指南使用命令行工具来配置一个带有入口的 AKS 集群。如果你喜欢使用 Azure 门户来配置你的集群,请参考官方文档

如果你已经有一个 AKS Kubernetes 集群,请跳到关于安装入口的步骤。 然后按照本页上的说明安装 Rancher Helm Chart。

前提条件

  • Microsoft Azure Account。创建部署 Rancher 和 Kubernetes 的资源需要一个 Microsoft Azure 账户。
  • Microsoft Azure 订阅。如果你还没有微软 Azure 订阅,请使用此链接,按照教程创建一个微软 Azure 订阅。
  • Micsoroft Azure Tenant。使用此链接并按照说明创建一个 Microsoft Azure 租户。
  • 你的订阅有足够的配额,至少有 2 个 vCPU。关于 Rancher 服务器资源要求的详细信息,请参阅本节
  • 在 Azure 中用 Helm 安装 Rancher 时,请使用 L7 负载均衡器来避免网络问题。更多信息请参考 Azure 负载均衡器限制的文档。

部署到微软 Azure 将产生费用。

1. 准备好你的工作站

在你的工作站上安装以下命令行工具。

2. 创建资源组

安装 CLI 后,你需要用你的 Azure 账户登录。

  1. az login

Copy

创建一个资源组来容纳你的集群的所有相关资源。使用一个适用于你的使用情况的位置。

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

Copy

3. 创建 AKS 集群

要创建一个 AKS 集群,运行以下命令。使用适用于你的使用情况的虚拟机大小。关于可用的尺寸和选项,请参考本文。在选择 Kubernetes 版本时,请务必先查阅 支持矩阵 来找到针对你的 Rancher 版本进行验证的 Kubernetes 最高版本。

  1. az aks create \
  2. --resource-group rancher-rg \
  3. --name rancher-server \
  4. --kubernetes-version 1.20.5 \
  5. --node-count 3 \
  6. --node-vm-size Standard_D2_v3

Copy

该集群将需要一些时间来部署。

4. 获取访问凭证

在集群部署完毕后,获得访问证书。

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

Copy

这个命令将你的集群的证书合并到现有的 kubeconfig 中,并允许kubectl与集群互动。

5. 安装 Ingress

集群需要一个 Ingress,以便 Rancher 可以从集群外部被访问。安装一个 Ingress 需要分配一个公共 IP 地址。确保你有足够的配额,否则它将无法分配 IP 地址。公共 IP 地址的限制适用于每个订阅的区域级别。

下面的命令安装了一个nginx-ingress-controller与 Kubernetes 负载平衡器服务。

  1. helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  2. helm repo update
  3. helm upgrade --install \
  4. ingress-nginx ingress-nginx/ingress-nginx \
  5. --namespace ingress-nginx \
  6. --set controller.service.type=LoadBalancer \
  7. --version 3.12.0 \
  8. --create-namespace

Copy

6. 获取负载均衡器 IP

要获得负载平衡器的地址,请运行:

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

Copy

结果应该与下面类似。

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

Copy

保存 EXTERNAL-IP

7. 配置 DNS

到 Rancher 服务器的外部流量将需要指向你创建的负载均衡器。

设置一个 DNS 来指向你保存的EXTERNAL-IP。这个 DNS 将被用作 Rancher 服务器的 URL。

有许多有效的方法来设置 DNS。如需帮助,请参考Azure DNS 文档

8. 安装 Rancher Helm Chart

接下来,按照本页上的说明,安装 Rancher Helm chart,在任何 Kubernetes 发行版上安装 Rancher 都是一样的。

当你安装 Rancher 时,使用上一步的 DNS 名称作为 Rancher Server 的 URL。它可以作为一个 Helm 选项传入。例如,如果 DNS 名称是rancher.my.org,你可以用--set hostname=rancher.my.org选项运行 Helm 安装命令。