設定 kubectl 存取
本操作說明指南說明如何視需要取得其他程式所需的 kubeconfig 檔案。 只讀檔案足以檢視叢集組態。 修改本機或Microsoft Entra 驗證,或收集封包擷取等作業需要核心命名空間檔案。
唯讀存取
若要執行只讀 kubectl 命令,例如描述 Pod 和檢視記錄檔,您可以從 ASE 本機 UI 下載 kubeconfig 檔案。 在 [裝置] 底下,選取 [下載組態]。
提示
若要存取本機 UI,請參閱 教學課程:使用 GPU 連線到 Azure Stack Edge Pro。
下載的檔案稱為 config.json。 此檔案具有描述 Pod 和檢視記錄的許可權,但無法存取 具有 kubectl exec 的 Pod。
核心命名空間存取
Azure Private 5G Core 部署會使用 核心 命名空間。 針對修改本機或Microsoft Entra 驗證或收集封包擷取等作業,您需要具有核心命名空間完整存取權的 kubeconfig 檔案。 若要下載此檔案,請設定迷你Shell 會話,並依照本節中的指示執行必要的命令。
您只需要執行此程式一次。 如果您已完成此程式,您才能使用先前儲存 的 kubeconfig 檔案。
輸入迷你Shell 會話
在此程式中,您必須在 Azure Stack Edge 上執行迷你Shell 命令。 您必須使用網路上具有 ASE 管理埠存取權的 Windows 電腦。 您應該能夠檢視 ASE 本機 UI,以確認您有存取權。
在您的電腦上啟用 WinRM
下列程式會使用PowerShell,而且需要在電腦上啟用WinRM。 在系統管理員模式中,從 PowerShell 視窗執行下列命令:
winrm quickconfig
WinRM 可能已在您的電腦上啟用,因為您只需要執行一次。 請確定您的網路連線已設定為 [私人] 或 [網域] (非 [公用]),並接受任何變更。
提示
WinRM 會將您的電腦開啟至遠端連線,這是其餘程式的必要專案。 如果您不想讓遠端連線保持允許,Stop-Service WinRM -PassThru
Set-Service WinRM -StartupType Disabled -PassThru
請在完成其餘程式以取得核心命名空間存取權之後,以系統管理員模式從 PowerShell 視窗執行 。
啟動迷你Shell 會話
從系統管理員模式的 PowerShell 視窗中,輸入 ASE 管理 IP 位址(包括引號,例如
"10.10.5.90"
):$ip = "<ASE_IP_address>" $sessopt = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck $minishellSession = New-PSSession -ComputerName $ip -ConfigurationName "Minishell" -Credential ~\EdgeUser -UseSSL -SessionOption $sessopt
在提示字元中,輸入您的 Azure Stack Edge 密碼。 請略過下列訊息:
WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration.
您現在已設定迷你Shell 會話,可在下一個步驟中取得 kubeconfig 檔案。
提示
如果有網路變更,會話可能會中斷。 執行 Get-PSSession
以檢視會話的狀態。 如果它仍然已連線,您仍應該能夠執行迷你Shell 命令。 如果中斷或中斷連線,請執行 Remove-PSSession
以在本機移除會話,然後啟動新的會話。
設定 kubectl 存取
如果這是您第一次執行此程式,您必須執行下列步驟。 這些步驟會建立命名空間、下載 kubeconfig 檔案,並使用它來授與命名空間的存取權。
Invoke-Command -Session $minishellSession -ScriptBlock {New-HcsKubernetesNamespace -Namespace "core"} Invoke-Command -Session $minishellSession -ScriptBlock {New-HcsKubernetesUser -UserName "core"} | Out-File -FilePath .\kubeconfig-core.yaml Invoke-Command -Session $minishellSession -ScriptBlock {Grant-HcsKubernetesNamespaceAccess -Namespace "core" -UserName "core"}
如果您看到類似
The Kubernetes namespace 'core' already exists
的錯誤,表示您先前已執行這些步驟。 在此情況下,請直接跳到下一個項目符號,以擷取先前產生的檔案。如果您先前已執行此程式,您可以執行下列命令,立即擷取先前產生的 kubeconfig 檔案:
Invoke-Command -Session $miniShellSession -ScriptBlock { Get-HcsKubernetesUserConfig -UserName "core" }
如需詳細資訊,請參閱 透過 Kubernetes RBAC 設定叢集存取。
下一步
- 儲存 kubeconfig 檔案,以便在日後需要時使用。
- 如果您需要 kubeconfig 檔案作為完成不同程式的一部分(例如設定Microsoft Entra 驗證),請返回該程式並繼續。