存取 Azure Stack Hub 中的 Kubernetes 儀錶板
注意
僅使用 Kubernetes Azure Stack Marketplace 項目將叢集部署為概念驗證。 如需 Azure Stack 上支援的 Kubernetes 叢集,請使用 AKS 引擎。
Kubernetes 包含可用於基本管理作業的 Web 儀錶板。 此儀錶板可讓您檢視應用程式的基本健全狀況狀態和計量、建立和部署服務,以及編輯現有的應用程式。 本文說明如何在 Azure Stack Hub 上設定 Kubernetes 儀錶板。
Kubernetes 儀錶板的前提條件
- Azure Stack Hub Kubernetes 叢集:部署至 Azure Stack Hub 的 Kubernetes 叢集。 如需詳細資訊,請參閱 部署 Kubernetes。
- SSH 用戶端:一個 SSH 用戶端,用於安全地連接到叢集中的控制平面節點。 如果您使用 Windows,您可以使用 PuTTY。 您需要部署 Kubernetes 叢集時所使用的私鑰。
- FTP (PSCP):支援 SSH 和 SSH 檔案傳輸通訊協定的 FTP 用戶端,以將憑證從控制平面節點傳輸到 Azure Stack Hub 管理電腦。 您可以使用 FileZilla。 您需要部署 Kubernetes 叢集時所使用的私鑰。
啟用儀錶板的步驟概觀
- 從叢集中的控制平面節點導出 Kubernetes 憑證。
- 將憑證匯入 Azure Stack Hub 管理計算機。
- 開啟 Kubernetes Web 儀錶板。
從主系統導出憑證
您可以從叢集中的控制平面節點擷取儀錶板的 URL。
從 Azure Stack Hub 儀錶板取得主要叢集的公用 IP 位址和用戶名稱。 若要取得這項資訊:
- 在
https://portal.local.azurestack.external/
登入 Azure Stack Hub 入口網站。 - 選擇 [[所有服務]>[所有資源]。 在叢集資源群組中尋找主節點。 主人的名稱為
k8s-master-<sequence-of-numbers>
。
- 在
在平台中開啟控制平面節點。 複製 公用IP 位址。 選取 [Connect],以在 [使用 VM 本機帳戶登入] 方塊中取得您的用戶名稱。 這是您在建立叢集時所設定的相同用戶名稱。 使用公用IP位址,而不是連線刀鋒視窗中所列的私人IP位址。
開啟 SSH 用戶端以連線到主要叢集。 如果您使用 Windows,您可以使用 Putty 來建立連線。 您可以使用控制平面節點的公用IP位址、用戶名稱,以及新增您在建立叢集時所使用的私鑰。
當終端機連線時,輸入
kubectl
以開啟 Kubernetes 命令行用戶端。執行下列命令:
kubectl cluster-info
尋找儀錶板的 URL。 例如:
https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
擷取自我簽署憑證,並將其轉換為 PFX 格式。 執行下列命令:
sudo su openssl pkcs12 -export -out /etc/kubernetes/certs/client.pfx -inkey /etc/kubernetes/certs/client.key -in /etc/kubernetes/certs/client.crt -certfile /etc/kubernetes/certs/ca.crt
取得 kube-system 命名空間中的秘密清單。 執行下列命令:
kubectl -n kube-system get secrets
記下 kubernetes-dashboard-token-<XXXXX> 值。
取得令牌並加以儲存。 使用上一個步驟中的秘密值更新
kubernetes-dashboard-token-<####>
:kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}'
匯入憑證
開啟 Filezilla 並連線到控制平面節點。 您需要下列資訊:
- 控制平面節點公用IP
- 用戶名稱
- 私人秘密
- 使用 SFTP - SSH 檔案傳輸通訊協定
將
/etc/kubernetes/certs/client.pfx
和/etc/kubernetes/certs/ca.crt
複製到 Azure Stack Hub 管理電腦。記下檔案位置。 使用位置更新腳本,然後使用提升許可權的提示開啟 PowerShell。 執行更新後的文稿:
Import-Certificate -Filepath "ca.crt" -CertStoreLocation cert:\LocalMachine\Root $pfxpwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below' Import-PfxCertificate -Filepath "client.pfx" -CertStoreLocation cert:\CurrentUser\My -Password $pfxpwd.Password
開啟 Kubernetes 儀錶板
停用網頁瀏覽器上的快顯封鎖程式。
當您執行命令
kubectl cluster-info
時,將瀏覽器指向所注意到的URL;例如,https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
。選取客戶端憑證。
輸入令牌。
重新連線至控制平面節點上的bash命令行,並授與許可權給
kubernetes-dashboard
。 執行下列命令:kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
此文稿提供
kubernetes-dashboard
雲端系統管理員許可權。 如需進一步的資訊,請參閱 啟用了 RBAC 的叢集。
您現在可以使用儀錶板。 如需 Kubernetes 儀錶板的詳細資訊,請參閱 Kubernetes Web UI 儀錶板。
故障排除
自定義虛擬網路
如果您在將 Kubernetes 部署至 自定義虛擬網路之後,遇到存取 Kubernetes 儀錶板的連線問題,請確定目標子網已連結至 AKS 引擎所建立的路由表和網路安全組資源。
請確定網路安全組規則允許控制平面節點與 Kubernetes 儀錶板 Pod IP 之間的通訊。 您可以從控制平面節點使用 ping
命令來驗證此許可權。