2. 安裝 Kubernetes
當基礎架構準備就緒後,您可以繼續設定 Kubernetes 叢集以安裝 Rancher。
以下是設定 RKE2 或 K3s 的步驟。
為方便起見,將代理的 IP 位址和連接埠匯出到環境變數中,並在每個節點上為當前的 shell 設定 HTTP_PROXY 變數:
NO_PROXY 環境變數並未標準化,其值的接受格式可能因應用程式而異。在為 Rancher 設定 NO_PROXY 變數時,該值必須遵循 Golang 預期的格式。
具體來說,該值應該是一個以逗號分隔的字串,只包含 IP 位址、CIDR 表示法、網域名稱或特殊 DNS 標籤(例如 *)。有關預期值格式的完整說明,請參閱 上游 Golang 文件。
export proxy_host="10.0.0.5:8888"
export HTTP_PROXY=http://${proxy_host}
export HTTPS_PROXY=http://${proxy_host}
export NO_PROXY=127.0.0.0/8,10.0.0.0/8,cattle-system.svc,172.16.0.0/12,192.168.0.0/16
- K3s
- RKE2
首先在 K3s systemd 服務上設定 HTTP 代理設定,以便 K3s 的 containerd 可以透過代理拉取映像:
cat <<'EOF' | sudo tee /etc/default/k3s > /dev/null
HTTP_PROXY=http://${proxy_host}
HTTPS_PROXY=http://${proxy_host}
NO_PROXY=127.0.0.0/8,10.0.0.0/8,cattle-system.svc,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
EOF
Rancher 需要安裝在支援的 Kubernetes 版本上。若要了解您的 Rancher 版本支援哪些 Kubernetes 版本,請參閱 Rancher 支援矩陣。
若要指定 K3s (Kubernetes) 版本,在執行 K3s 安裝腳本時使用 INSTALL_K3S_VERSION(例如 INSTALL_K3S_VERSION="v1.24.10+k3s1")環境變數。
在第一個節點上,建立一個新的叢集:
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=<VERSION> K3S_TOKEN=<TOKEN> sh -s - server --cluster-init
然後加入其他節點:
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=<VERSION> K3S_TOKEN=<TOKEN> sh -s - server --server https://<SERVER>:6443
其中 <SERVER> 是伺服器的 IP 或有效 DNS,<TOKEN> 是從伺服器的 /var/lib/rancher/k3s/server/node-token 中找到的節點令牌。
有關安裝 K3s 的更多資訊,請參閱 K3s 安裝文件。
若要查看您的叢集,請執行:
kubectl cluster-info
kubectl get pods --all-namespaces
在每個節點上,執行 RKE2 安裝腳本。請確保您要安裝的 RKE2 版本 受到 Rancher 支援。
curl -sfL https://get.rke2.io | INSTALL_RKE2_CHANNEL=v1.xx sh -
然後您必須在 RKE2 systemd 服務上設定 HTTP 代理設定,以便 RKE2 的 containerd 可以透過代理拉取映像:
cat <<'EOF' | sudo tee /etc/default/rke2-server > /dev/null
HTTP_PROXY=http://${proxy_host}
HTTPS_PROXY=http://${proxy_host}
NO_PROXY=127.0.0.0/8,10.0.0.0/8,cattle-system.svc,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
EOF
接下來,依照 RKE2 高可用性文件 在每個節點上建立 RKE2 設定檔。
之後啟動並啟用 rke2-server 服務:
systemctl enable rke2-server.service
systemctl start rke2-server.service
有關安裝 RKE2 的更多資訊,請參閱 RKE2 文件。
若要查看您的叢集,請執行:
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
alias kubectl=/var/lib/rancher/rke2/bin/kubectl
kubectl cluster-info
kubectl get pods --all-namespaces
遇到問題或錯誤?
請參閱疑難排解頁面。