管理員工作站會託管指令列介面 (CLI) 工具和設定檔,以便在安裝期間佈建叢集。另外,這類工作站也會託管其他 CLI 工具,方便您在安裝後與已佈建的叢集互動。
本文適用於負責設定、監控及管理基礎技術架構生命週期的管理員、架構師和營運人員。如要進一步瞭解我們在Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。
您可以在管理員工作站下載及執行 bmctl
和 Google Cloud CLI 等工具,與叢集和 Google Cloud 資源互動。管理員工作站會託管設定檔,以便在安裝、升級及更新期間佈建叢集。安裝完成後,管理員工作站會託管 kubeconfig
檔案,方便您使用 kubectl
與已佈建的叢集互動。您也可以在管理員工作站存取重要叢集作業的記錄。單一管理員工作站可用於建立及管理多個叢集。
請確認管理員工作站符合下列各節說明的必要條件。
作業系統和軟體
如要執行 bmctl
並做為控制層節點,管理工作站的作業系統 (OS) 必須符合節點的作業系統需求。管理工作站需要 Docker,但不是做為容器執行階段使用。Google Distributed Cloud 建立叢集時,會在管理工作站上部署 Kubernetes in Docker (kind) 叢集。這個啟動叢集會託管建立叢集所需的 Kubernetes 控制器。除非另有指定,否則叢集建立成功後,啟動叢集就會移除。啟動程序叢集需要 Docker 才能提取容器映像檔。
管理員工作站必須符合下列需求,才能安裝叢集:
作業系統是支援的 Linux 發行版。
如需支援的 Linux 作業系統和版本清單,請參閱「選取作業系統」。該頁面提供各作業系統的設定操作說明連結,包括 Docker 設定。
已安裝 Docker 19.03 以上版本。不過,如果系統使用 cgroup v2,管理員工作站上的 Docker 安裝版本必須為 20.10.0 以上。(您可以透過
/sys/fs/cgroup/cgroup.controllers
檔案是否存在,判斷系統是否使用 cgroup v2)。非 root 使用者是
docker
群組的成員 (如需操作說明,請參閱「 以非 root 使用者身分管理 Docker」)。已安裝 Google Cloud CLI。
您可以使用
kubectl
和bmctl
工具建立及管理叢集。如要安裝這些工具,您需要gcloud
工具。gcloud
和kubectl
指令列工具是 gcloud CLI 的元件。如需安裝操作說明 (包括元件安裝說明),請參閱「安裝 gcloud CLI」一文。已安裝「
kubectl
」。使用 gcloud CLI 透過下列指令安裝kubectl
:gcloud components install kubectl
bmctl
是為您建立或運作的叢集版本安裝。安裝作業包括使用
gcloud
下載bmctl
二進位檔或圖片套件。如需操作說明,請參閱「Google Distributed Cloud for Bare Metal 下載」。
硬體資源需求
管理員工作站需要大量的運算能力、記憶體和儲存空間,才能執行工具及儲存與叢集建立和管理相關的資源。
根據預設,叢集升級和叢集建立作業會使用啟動叢集。使用啟動程序叢集時,CPU 和記憶體用量會大幅增加。如果您打算將管理工作站做為控制平面節點,請使用建議的 CPU 和 RAM 數量 (或更高),以免管理工作站活動中斷叢集控制平面功能。
視 etcd 資料庫大小和控制層節點數量而定,叢集備份和還原作業會耗用大量 RAM。備份所需的 RAM 大約為每個控制層節點 3 到 5 GiB。如果記憶體不足,備份程序就會失敗。請據此規劃 RAM 需求。
下表列出管理員工作站的最低和建議硬體需求:
資源 | 下限 | 建議 |
---|---|---|
CPU / vCPU* | 2 核心 | 4 核心 |
RAM | Ubuntu:4 GiB RHEL:6 GiB |
Ubuntu:8 GiB RHEL:12 GiB |
儲存空間 | 128 GiB | 256 GiB |
* Google Distributed Cloud 僅支援 CPU 微架構層級 v3 (x86-64-v3) 以上的 x86-64 CPU 和 vCPU。
網路需求
管理員工作站需要存取 Google Cloud 和所有叢集節點。
存取 Google Cloud
管理員工作站可存取 Google Cloud ,下載及安裝工具和映像檔、處理授權要求、建立服務帳戶、管理記錄和監控等。如要建立叢集,您必須有Google Cloud的存取權。
您可以直接存取 Google Cloud ,也可以透過 Proxy 伺服器存取。如要瞭解連結至「 Google Cloud」的不同方式,請參閱「連結至 Google」。如要瞭解如何設定 Proxy 伺服器,請參閱「在 Proxy 的保護下安裝」。
如要瞭解中斷存取 Google Cloud的後果,請參閱「暫時中斷與 Google Cloud的連線會造成什麼影響」。
節點存取權
如要從管理員工作站建立及管理叢集,您需要節點機器的下列存取權:
- 可連上所有叢集節點機器的第 3 層連線能力。
以
root
或具備無密碼sudo
權限的非超級使用者身分,透過無密碼 SSH 存取所有叢集節點機器。自動化工具需要這類高層級權限,才能在叢集安裝期間執行節點層級工作,以佈建節點。控制層 VIP 的存取權。
IP 轉送
管理員工作站必須啟用 IP 轉送功能。如果沒有 IP 轉送,就無法建立啟動程序叢集,這會阻礙叢集建立作業。如果 IP 轉送功能已停用,嘗試建立叢集時會看到類似下列的錯誤訊息:
Error message: E0202 14:53:25.979322 225917 console.go:110] Error creating cluster: create kind cluster failed: error creating bootstrap cluster: failed to init node with kubeadm: command "docker exec --privileged bmctl-control-plane kubeadm init --skip-phases=preflight --config=/kind/kubeadm.conf --skip-token-print --v=6" failed with error: exit status 1
您可以使用下列指令檢查 IP 轉送設定:
cat /proc/sys/net/ipv4/ip_forward
值為 1
表示已啟用 IP 轉送。如果 IP 轉送已停用 (0
),請使用下列指令啟用:
echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward
設定root
節點的 SSH 存取權
如要在管理工作站與叢集節點機器之間啟用安全連線,且不需輸入密碼,請在管理工作站上建立 SSH 金鑰,並與叢集節點共用公開金鑰。
在每個叢集節點機器上啟用
root
SSH 密碼驗證,方法是取消註解或新增PermitRootLogin
和PasswordAuthentication
行至/etc/ssh/sshd_config
檔案,並將值設為yes
。# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. ... # Authentication: #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 ... PasswordAuthentication yes
一開始,您需要在遠端叢集節點電腦上啟用 SSH 密碼驗證,才能從管理員工作站共用金鑰。
如要套用 SSH 設定變更,請重新啟動 SSH 服務:
sudo systemctl restart ssh.service
在管理員工作站產生私密和公開金鑰組。請勿為金鑰設定密碼片語。使用下列指令產生金鑰:
ssh-keygen -t rsa
您也可以使用叢集節點機器的
sudo
使用者存取權設定 SSH。不過,如要進行非根使用者連線,請務必更新叢集設定檔,並加入spec.nodeAccess.loginUser
欄位。這個欄位預設會註解掉。您可以在建立叢集時,或之後的任何時間,使用loginUser
指定非根使用者名稱。詳情請參閱loginUser
。將產生的公開金鑰新增至叢集節點機器:
ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
更改下列內容:
PATH_TO_IDENTITY_FILE
:包含安全殼層公開金鑰的檔案路徑。預設情況下,包含公開金鑰的身分識別檔案路徑為/home/USERNAME/.ssh/id_rsa.pub
。CLUSTER_NODE_IP
:要新增安全殼層公開金鑰的節點電腦 IP 位址。
在
sshd_config
檔案中將PasswordAuthentication
設為no
,然後重新啟動 SSH 服務,即可在叢集節點電腦上停用 SSH 密碼驗證。在管理員工作站中執行下列指令,確認工作站與節點電腦之間的公開金鑰驗證是否正常運作。
ssh -o IdentitiesOnly=yes -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
正確設定 SSH 後,您就能從管理員工作站 (以
root
形式) 登入節點電腦,不必輸入密碼。