跳至主要内容

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​

Rancher 需要安裝在支援的 Kubernetes 版本上。要了解您的 Rancher 版本支援哪些 Kubernetes 版本,請參閱 Rancher 支援矩陣。

要指定 K3s(Kubernetes)版本,請在執行 K3s 安裝腳本時使用 INSTALL_K3S_VERSION(例如 INSTALL_K3S_VERSION="v1.24.10+k3s1")環境變數。

在 Linux 機器上執行此命令以安裝 K3s 叢集:

curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=<VERSION> sh -s - server --cluster-init

使用 --cluster-init 允許 K3s 使用嵌入式 etcd 作為資料儲存,並且能夠轉換為 HA 設定。請參閱使用嵌入式資料庫的高可用性。

儲存 Linux 機器的 IP。

將 kubeconfig 儲存到您的工作站​

kubeconfig 檔案對於存取 Kubernetes 叢集很重要。從 Linux 機器複製位於 /etc/rancher/k3s/k3s.yaml 的檔案,並將其儲存到本機工作站的 ~/.kube/config 目錄中。一種方法是使用 scp 工具,並在本機機器上執行此命令:

scp root@<IP_OF_LINUX_MACHINE>:/etc/rancher/k3s/k3s.yaml ~/.kube/config

在某些情況下,可能需要確保您的 shell 定義了環境變數 KUBECONFIG=~/.kube/config,例如,它可以在您的設定檔或 rc 檔案中匯出。

在 kubeconfig 中編輯 Rancher 伺服器 URL​

在 kubeconfig 檔案中,您需要將 server 欄位的值更改為 <IP_OF_LINUX_NODE>:6443。Kubernetes API 伺服器將在連接埠 6443 上存取,而 Rancher 伺服器將在連接埠 80 和 443 上存取。需要進行此編輯,以便當您從本機工作站執行 Helm 或 kubectl 命令時,您將能夠與 Rancher 將安裝在的 Kubernetes 叢集通訊。

開啟 kubeconfig 檔案進行編輯的一種方法是使用 Vim:

vi ~/.kube/config

按 i 將 Vim 置於插入模式。要儲存您的工作,請按 Esc。然後按 :wq 並按 Enter。

使用 Helm 安裝 Rancher​

然後從您的本機工作站執行以下命令。您需要安裝 kubectl 和 helm。

備註

要了解如何自訂 cert-manager 安裝的選項(包括您的叢集使用 PodSecurityPolicies 的情況),請參閱 cert-manager 文件。

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

kubectl create namespace cattle-system

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml

helm repo add jetstack https://charts.jetstack.io

helm repo update

helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace

# Windows Powershell
helm install cert-manager jetstack/cert-manager `
--namespace cert-manager `
--create-namespace

安裝 Rancher 的最終命令如下。該命令需要一個將流量轉發到 Linux 機器的網域名稱。為了在本教學中簡單起見,您可以使用假網域名稱來建立概念驗證。假網域名稱的範例是 <IP_OF_LINUX_NODE>.sslip.io。

要安裝特定的 Rancher 版本,請使用 --version 標誌(例如 --version 2.6.6)。否則,預設安裝最新的 Rancher。請參閱選擇 Rancher 版本。

有關密碼要求,請參閱設定啟動密碼。

helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=<IP_OF_LINUX_NODE>.sslip.io \
--set replicas=1 \
--set bootstrapPassword=<PASSWORD_FOR_RANCHER_ADMIN>

# Windows Powershell
helm install rancher rancher-latest/rancher `
--namespace cattle-system `
--set hostname=<IP_OF_LINUX_NODE>.sslip.io `
--set replicas=1 `
--set bootstrapPassword=<PASSWORD_FOR_RANCHER_ADMIN>

現在,如果您在網頁瀏覽器中導航到 <IP_OF_LINUX_NODE>.sslip.io,您應該會看到 Rancher UI。

為了使這些說明簡單,我們使用了假網域名稱和自簽憑證來進行此安裝。因此,您可能需要在網頁瀏覽器中新增安全性例外才能看到 Rancher UI。請注意,對於生產安裝,您需要具有負載平衡器、真實網域名稱和真實憑證的高可用性設定。

這些說明也省略了完整的安裝要求和其他安裝選項。如果您在這些步驟中遇到任何問題,請參閱完整的 Helm CLI 安裝文件。

要使用新的 Rancher 伺服器啟動新的 Kubernetes 叢集,您可能需要在 Rancher 中設定雲端憑證。有關詳細資訊,請參閱使用 Rancher 啟動 Kubernetes 叢集。