Поделиться через


Настройка доступа kubectl

В этом руководстве объясняется, как получить необходимые файлы kubeconfig по мере необходимости для других процедур. Файл только для чтения достаточно для просмотра конфигурации кластера. Файл основного пространства имен необходим для таких операций, как изменение локальной или проверки подлинности Microsoft Entra или для сбора записи пакетов.

Доступ только для чтения

Для выполнения команд kubectl только для чтения, таких как описание модулей pod и просмотр журналов, можно скачать файл kubeconfig из локального пользовательского интерфейса ASE. В разделе "Устройство" выберите "Скачать конфигурацию".

Совет

Сведения о доступе к локальному пользовательскому интерфейсу см. в руководстве: Подключение в Azure Stack Edge Pro с GPU.

Screenshot of Kubernetes dashboard showing link to download config.

Скачанный файл называется config.json. Этот файл имеет разрешение на описание модулей pod и просмотр журналов, но не для доступа к модулям pod с помощью exec kubectl.

Доступ к пространству имен ядра

Развертывание Azure Private 5G Core использует основное пространство имен. Для таких операций, как изменение локальной или проверки подлинности Microsoft Entra или сбор записей пакетов, требуется файл kubeconfig с полным доступом к основному пространству имен. Чтобы скачать этот файл, настройте мини-сеанс и выполните необходимые команды, как показано в этом разделе.

Эту процедуру необходимо выполнить только один раз. Если вы выполнили эту процедуру, прежде чем использовать ранее сохраненный файл kubeconfig .

Ввод сеанса мини-оболочки

Во время этой процедуры необходимо выполнить команды мини-оболочки в Azure Stack Edge. Необходимо использовать компьютер Windows, который находится в сети с доступом к порту управления ASE. Вы должны иметь возможность просматривать локальный пользовательский интерфейс ASE, чтобы убедиться, что у вас есть доступ.

Включение WinRM на компьютере

Следующий процесс использует PowerShell и требует включения WinRM на компьютере. Выполните следующую команду из окна PowerShell в режиме Администратор istrator:

winrm quickconfig

WinRM может быть уже включен на компьютере, так как это нужно сделать только один раз. Убедитесь, что сетевые подключения имеют значение "Частный" или "Домен" (не общедоступный) и принимают любые изменения.

Совет

WinRM открывает компьютер для удаленных подключений, необходимых для остальной части процедуры. Если вы не хотите оставлять удаленные подключения разрешенными, запустите Stop-Service WinRM -PassThru и затем Set-Service WinRM -StartupType Disabled -PassThru из окна PowerShell в режиме Администратор istrator после завершения остальной части процедуры, чтобы получить доступ к основному пространству имен.

Запуск сеанса мини-оболочки

  1. В окне PowerShell в режиме Администратор istrator введите IP-адрес управления ASE (включая кавычки, например"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.
    

Теперь у вас есть мини-сеанс, готовый к получению файла kubeconfig на следующем шаге.

Совет

При изменении сети сеанс может нарушиться. Запустите Get-PSSession , чтобы просмотреть состояние сеанса. Если он по-прежнему подключен, вы по-прежнему сможете выполнять команды мини-оболочки. Если он поврежден или отключен, запустите 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), вернитесь к этой процедуре и продолжите работу.