你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

设置 kubectl 访问

本操作指南介绍了如何根据需要获取其他过程所需的 kubeconfig 文件。 只读文件足以查看群集配置。 修改本地或 Microsoft Entra 身份验证或收集数据包捕获等操作需要核心命名空间文件。

只读访问

若要运行只读 kubectl 命令(例如描述 Pod 和查看日志),可以从 A标准版 本地 UI 下载 kubeconfig 文件。 在“设备”下,选择“下载配置”。

提示

若要访问本地 UI,请参阅教程:使用 GPU 连接 Azure Stack Edge Pro。

Screenshot of Kubernetes dashboard showing link to download config.

下载的文件称为 config.json。 此文件有权描述 Pod 和查看日志,但无权使用 kubectl exec 访问 Pod。

核心命名空间访问

Azure 专用 5G 核心部署使用 核心 命名空间。 对于修改本地或 Microsoft Entra 身份验证或收集数据包捕获等操作,需要具有对核心命名空间的完全访问权限的 kubeconfig 文件。 若要下载此文件,请设置一个微型shell 会话,并按照本部分中的指示运行必要的命令。

只需执行此过程一次。 如果已完成此过程,则可以使用以前保存 的 kubeconfig 文件。

输入微型shell 会话

在此过程中,需要在 Azure Stack Edge 上运行微型shell 命令。 必须使用网络上有权访问 A 的管理端口的 Windows 计算机标准版。 应该能够查看 A标准版 本地 UI 以验证你是否具有访问权限。

在计算机上启用 WinRM

以下过程使用 PowerShell,需要在计算机上启用 WinRM。 在 管理员istrator 模式下从 PowerShell 窗口中运行以下命令:

winrm quickconfig

WinRM 可能已在计算机上启用,因为只需执行一次。 确保网络连接设置为“专用”或“域”(而不是“公共”),并接受任何更改。

提示

WinRM 将电脑打开远程连接,此过程的其余部分是必需的。 如果不想保留允许的远程连接,请在完成其余过程以获取核心命名空间访问权限后,在 管理员istrator 模式下从 PowerShell 窗口运行Stop-Service WinRM -PassThruSet-Service WinRM -StartupType Disabled -PassThru

启动微型shell 会话

  1. 在 管理员istrator 模式下的 PowerShell 窗口中,输入 A标准版 管理 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
    
  2. 在提示符下,输入 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 身份验证)的一部分,请返回到该过程并继续。