Konfigurowanie dostępu kubectl

W tym przewodniku z instrukcjami wyjaśniono, jak uzyskać niezbędne pliki kubeconfig zgodnie z potrzebami dla innych procedur. Plik tylko do odczytu jest wystarczający do wyświetlania konfiguracji klastra. Podstawowy plik przestrzeni nazw jest wymagany do wykonywania operacji, takich jak modyfikowanie uwierzytelniania lokalnego lub microsoft Entra lub zbieranie przechwytywania pakietów.

Dostęp tylko do odczytu

W przypadku uruchamiania poleceń kubectl tylko do odczytu, takich jak opisywanie zasobników i wyświetlanie dzienników, można pobrać plik kubeconfig z lokalnego interfejsu użytkownika środowiska ASE. W obszarze Urządzenie wybierz pozycję Pobierz konfigurację.

Napiwek

Aby uzyskać dostęp do lokalnego interfejsu użytkownika, zobacz Samouczek: Połączenie do usługi Azure Stack Edge Pro z procesorem GPU.

Screenshot of Kubernetes dashboard showing link to download config.

Pobrany plik nosi nazwę config.json. Ten plik ma uprawnienia do opisywania zasobników i wyświetlania dzienników, ale nie do uzyskiwania dostępu do zasobników za pomocą narzędzia kubectl exec.

Dostęp do podstawowej przestrzeni nazw

Wdrożenie usługi Azure Private 5G Core używa podstawowej przestrzeni nazw. W przypadku operacji, takich jak modyfikowanie uwierzytelniania lokalnego lub microsoft Entra lub zbieranie przechwytywania pakietów, potrzebny jest plik kubeconfig z pełnym dostępem do podstawowej przestrzeni nazw. Aby pobrać ten plik, skonfiguruj sesję minishell i uruchom niezbędne polecenia zgodnie z instrukcjami w tej sekcji.

Tę procedurę należy wykonać tylko raz. Jeśli wykonano tę procedurę przed użyciem wcześniej zapisanego pliku kubeconfig .

Wprowadź sesję minishell

Podczas tej procedury należy uruchomić polecenia minishell w usłudze Azure Stack Edge. Musisz użyć maszyny z systemem Windows, która znajduje się w sieci z dostępem do portu zarządzania środowiska ASE. Aby sprawdzić, czy masz dostęp, powinno być możliwe wyświetlenie lokalnego interfejsu użytkownika środowiska ASE.

Włączanie usługi WinRM na maszynie

Poniższy proces korzysta z programu PowerShell i wymaga włączenia usługi WinRM na maszynie. Uruchom następujące polecenie w oknie programu PowerShell w trybie Administracja istratora:

winrm quickconfig

Usługa WinRM może być już włączona na maszynie, ponieważ trzeba to zrobić tylko raz. Upewnij się, że połączenia sieciowe są ustawione na Wartość Prywatna lub Domena (nie publiczna) i zaakceptuj wszelkie zmiany.

Napiwek

Usługa WinRM otwiera komputer z połączeniami zdalnymi, które są wymagane w pozostałej części procedury. Jeśli nie chcesz opuszczać dozwolonych połączeń zdalnych, uruchom Stop-Service WinRM -PassThru polecenie , a następnie Set-Service WinRM -StartupType Disabled -PassThru w oknie programu PowerShell w trybie Administracja istrator po zakończeniu pozostałej części procedury w celu uzyskania dostępu do podstawowej przestrzeni nazw.

Uruchamianie sesji minishell

  1. W oknie programu PowerShell w trybie Administracja istratora wprowadź adres IP zarządzania środowiska ASE (w tym znaki cudzysłowu, na przykład "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. Po wyświetleniu monitu wprowadź hasło usługi Azure Stack Edge. Zignoruj następujący komunikat:

    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.
    

Teraz masz skonfigurowaną sesję minishell, aby uzyskać plik kubeconfig w następnym kroku.

Napiwek

W przypadku zmiany sieci sesja może ulec przerwaniu. Uruchom polecenie Get-PSSession , aby wyświetlić stan sesji. Jeśli nadal jest połączony, nadal powinno być możliwe uruchamianie poleceń minishell. Jeśli sesja jest uszkodzona lub rozłączona, uruchom polecenie Remove-PSSession , aby usunąć sesję lokalnie, a następnie uruchom nową sesję.

Konfigurowanie dostępu kubectl

  • Jeśli po raz pierwszy uruchamiasz tę procedurę, musisz uruchomić następujące kroki. Te kroki umożliwiają utworzenie przestrzeni nazw, pobranie pliku kubeconfig i użycie go do udzielenia dostępu do przestrzeni nazw.

    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"}
    

    Jeśli zostanie wyświetlony błąd, taki jak The Kubernetes namespace 'core' already exists, oznacza to, że zostały wcześniej uruchomione te kroki. W takim przypadku przejdź bezpośrednio do następnego punktora, aby pobrać wcześniej wygenerowany plik.

  • Jeśli wcześniej uruchomiono tę procedurę, możesz natychmiast pobrać wygenerowany wcześniej plik kubeconfig , uruchamiając polecenie:

    Invoke-Command -Session $miniShellSession -ScriptBlock { Get-HcsKubernetesUserConfig -UserName "core" }
    

Aby uzyskać więcej informacji, zobacz Konfigurowanie dostępu do klastra za pośrednictwem kontroli dostępu opartej na rolach platformy Kubernetes.

Następne kroki

  • Zapisz plik kubeconfig, aby był dostępny do użycia, jeśli będzie potrzebny w przyszłości.
  • Jeśli potrzebujesz pliku kubeconfig w ramach wykonywania innej procedury (na przykład w celu skonfigurowania uwierzytelniania Microsoft Entra), wróć do tej procedury i kontynuuj.