Helm CLI 快速入门

本文提供了快速安装 Rancher 的方法。

这些说明假设你有一个 Linux 虚拟机,并能从本地工作站与之通信。Rancher 将安装在 Linux 主机上。你将需要检索该主机的 IP 地址,以便从本地工作站访问 Rancher。Rancher 旨在远程管理 Kubernetes 集群,因此 Rancher 管理的任何 Kubernetes 集群也都需要能够访问该 IP 地址。

我们不建议在本地安装 Rancher,因为它会产生网络问题。如果你在 localhost 上安装 Rancher,Rancher 无法与下游 Kubernetes 集群通信,因此在 localhost 上你无法测试 Rancher 的集群配置和集群管理功能。

你的 Linux 主机可以位于任何地方。例如,它可以是 Amazon EC2 实例、Digital Ocean Droplet 或 Azure 虚拟机。其他 Rancher 文档也经常称它们为“节点”。部署 Linux 主机的一种方法是设置一个 Amazon EC2 实例,如本教程中所示。

完整的安装要求在这里

在 Linux 上安装 K3s

在 Linux 主机上运行以下命令来安装 K3s 集群:

  1. curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="***" sh -s - server --cluster-init

Rancher 需要安装在支持的 Kubernetes 版本上。如需指定 K3s 版本,在运行 K3s 安装脚本时,使用 INSTALL_K3S_VERSION 环境变量。请参阅支持维护条款

--cluster-init 允许 K3s 使用嵌入式 etcd 作为数据存储,并能够转换为 HA 设置。请参阅嵌入式数据库的高可用性

保存 Linux 主机的 IP。

将 kubeconfig 保存到你的工作站

kubeconfig 文件对于访问 Kubernetes 集群非常重要。从 Linux 主机复制 /etc/rancher/k3s/k3s.yaml 中的文件,并将其保存到本地工作站的 ~/.kube/config 目录中。一种方法是使用 scp 工具并在本地计算机上运行此命令:

  • Mac 和 Linux
  • Windows
  1. scp root@<IP_OF_LINUX_MACHINE>:/etc/rancher/k3s/k3s.yaml ~/.kube/config

默认情况下不能识别“scp”命令,所以我们需要先安装一个模块。

在 Windows Powershell 中:

  1. Find-Module Posh-SSH
  2. Install-Module Posh-SSH
  3. ## 获取远程 kubeconfig 文件
  4. scp root@<IP_OF_LINUX_MACHINE>:/etc/rancher/k3s/k3s.yaml $env:USERPROFILE\.kube\config

在 kubeconfig 中编辑 Rancher Server URL

在 kubeconfig 文件中,你需要将 server 字段的值更改为 <IP_OF_LINUX_NODE>:6443。你可以通过端口 6443 访问 Kubernetes API Server,通过端口 80 和 443 访问 Rancher Server。你需要进行此编辑,以便你从本地工作站运行 Helm 或 kubectl 命令时,能够与安装了 Rancher 的 Kubernetes 集群进行通信。

  • Mac 和 Linux
  • Windows

打开 kubeconfig 文件进行编辑的一种方法是使用 Vim:

  1. vi ~/.kube/config

输入 i 以打开 Vim 的插入模式。要保存你的工作,请按 Esc。然后输入 :wq 并按 Enter

在 Windows Powershell 中,你可以使用 notepad.exe 来编辑 kubeconfig 文件:

  1. notepad.exe $env:USERPROFILE\.kube\config

编辑完成后,按 ctrl+s 或转到 File > Save 来保存你的工作。

使用 Helm 来安装 Rancher

从本地工作站运行以下命令。你需要先安装 kubectlhelm

  1. helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
  2. kubectl create namespace cattle-system
  3. kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml
  4. helm repo add jetstack https://charts.jetstack.io
  5. helm repo update
  6. helm install cert-manager jetstack/cert-manager \
  7. --namespace cert-manager \
  8. --create-namespace \
  9. --version v1.11.0
  10. # Windows Powershell
  11. helm install cert-manager jetstack/cert-manager `
  12. --namespace cert-manager `
  13. --create-namespace `
  14. --version v1.11.0

安装 Rancher 的最终命令如下。该命令需要一个将流量转发到 Linux 主机的域名。为了简化本教程,你可以使用假域名。<IP_OF_LINUX_NODE>.sslip.io 是一个假域名的例子。

要安装特定的 Rancher 版本,请使用 --version 标志(例如,--version 2.6.6)。否则,默认安装最新的 Rancher。请参阅选择 Rancher 版本

  1. helm install rancher rancher-latest/rancher \
  2. --namespace cattle-system \
  3. --set hostname=<IP_OF_LINUX_NODE>.sslip.io \
  4. --set replicas=1 \
  5. --set bootstrapPassword=<PASSWORD_FOR_RANCHER_ADMIN>
  6. # Windows Powershell
  7. helm install rancher rancher-latest/rancher `
  8. --namespace cattle-system `
  9. --set hostname=<IP_OF_LINUX_NODE>.sslip.io `
  10. --set replicas=1 `
  11. --set bootstrapPassword=<PASSWORD_FOR_RANCHER_ADMIN>

现在,如果你在 Web 浏览器中导航到 <IP_OF_LINUX_NODE>.sslip.io,你应该会看到 Rancher UI。

为了简化说明,我们使用了一个假域名和自签名证书来进行安装。因此,你可能需要在 Web 浏览器中添加一个安全例外来查看 Rancher UI。请注意,对于生产安装,你需要具有负载均衡器、真实域名和真实证书的高可用性设置。

这些说明还省略了完整的安装要求和其他安装选项。如果你对这些步骤有任何疑问,请参阅完整的 Helm CLI 安装文档

要使用新的 Rancher Server 来启动新的 Kubernetes 集群,你可能需要在 Rancher 中设置云凭证。有关更多信息,请参阅使用 Rancher 启动 Kubernetes 集群