Skip to main content

在 GKE 上安装 Rancher

在本节中,你将学习如何使用 GKE 安装 Rancher。

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

先决条件#

  • 你将需要一个谷歌账户。
  • 你将需要一个 Google Cloud 计费账户。你可以使用 Google Cloud Console 来管理你的 Cloud Billing 账户。关于 Cloud Console 的更多信息,请访问控制台的一般指南。
  • 你将需要至少一个在用的 IP 地址和至少 2 个 CPU 的云配额。关于 Rancher Server硬件要求的更多细节,请参考本节

1. 启用 Kubernetes Engine API#

执行以下步骤以启用 Kubernetes Engine API:

  1. 访问 Google Cloud Console 中的Kubernetes Engine 页面
  2. 创建或选择一个项目。
  3. 打开项目,为项目启用 Kubernetes Engine API。等待 API 和相关服务被启用。这可能需要几分钟的时间。
  4. 确保为你的云项目启用了计费。关于如何为你的项目启用计费的信息,请参考Google Cloud 文档。

2. 打开 Cloud Shell#

Cloud Shell 是一个 shell 环境,用于管理托管在 GCP 上的资源。Cloud Shell 预装了 gcloud 命令行工具和 kubectl 命令行工具。该 gcloud 工具为 kubectl GCP 提供了主要的命令行界面,并提供了针对 Kubernetes 集群运行命令的主要命令行界面。

以下部分描述了如何从 Google Cloud Console 或从本地工作站启动 Cloud Shell。

Cloud Shell#

要从 Google Cloud Console 启动 shell,请到控制台的右上角,点击终端按钮。当悬停在该按钮上时,它被标记为 Activate Cloud Shell

本地 Shell#

要安装gcloudkubectl,请执行以下步骤:

  1. 按照这些步骤安装 Cloud SDK。Cloud SDK 包括gcloud命令行工具。根据你的操作系统,步骤有所不同。

  2. 安装 Cloud SDK 后,通过运行以下命令安装kubectl命令行工具:

    gcloud components install kubectl

    在后面的步骤中,kubectl将被配置为使用新的 GKE 集群。

  3. 安装 Helm 3,如果还没有安装。

  4. HELM_EXPERIMENTAL_OCI变量启用 Helm 实验性支持 OCI 镜像。在~/.bashrc(或 macOS 中的~/.bash_profile,或你的 shell 存储环境变量的地方)添加以下行:

    export HELM_EXPERIMENTAL_OCI=1
  5. 运行以下命令来加载你更新的 .bashrc 文件:

    source ~/.bashrc

    如果你运行的是 macOS,使用这个命令:

    source ~/.bash_profile

3. 配置 gcloud CLI#

使用以下方法之一来设置 gcloud 的默认设置:

  • 如果您想了解设置默认值,请使用 gcloud init。
  • 使用 gcloud config,来单独设置您的项目 ID、区域和地区。
  1. 运行 gcloud init 并按照指示操作。

    gcloud init

    如果你在远程服务器上使用 SSH,使用--console-only 标志,以防止该命令启动浏览器。

    gcloud init --console-only
  2. 按照指示,授权 gcloud 使用你的 Google Cloud 账户,并选择你创建的新项目。

4. 确认 gcloud 的配置是正确的#

运行:

gcloud config list

输出应该类似于以下内容:

[compute]
region = us-west1 # Your chosen region
zone = us-west1-b # Your chosen zone
[core]
account = <Your email>
disable_usage_reporting = True
project = <Your project ID>
Your active configuration is: [default]

5. 创建一个 GKE 集群#

下面的命令创建了一个三节点的集群。

cluster-name替换为新集群的名称。

在选择 Kubernetes 版本时,请务必先查阅 支持矩阵 找到针对你的 Rancher 版本进行验证的 Kubernetes 最高版本。

gcloud container clusters create cluster-name --num-nodes=3 --cluster-version=1.20.10-gke.301

6. 获取认证凭证#

创建集群后,你需要获得认证凭证,以便与集群互动:

gcloud container clusters get-credentials cluster-name

这个命令可以配置kubectl使用你创建的集群。

7. 安装一个 Ingress#

集群需要一个 Ingress,以便 Rancher 可以从集群外部访问。

下面的命令安装了一个带有 LoadBalancer 服务的nginx-ingress-controller:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install \
ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.service.type=LoadBalancer \
--version 3.12.0 \
--create-namespace

8. 获取负载均衡器的 IP#

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

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

结果应该与下面类似:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s

保存EXTERNAL-IP

9. 设置 DNS#

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

设置一个 DNS 来指向你保存的外部 IP。这个 DNS 将被用作 Rancher Server的 URL。

有许多有效的方法来设置 DNS。如需帮助,请参考谷歌云文档中关于管理 DNS 记录。

10. 安装 Rancher Helm Chart#

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

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

Last updated on by kingsd041