Udostępnij przez


Ustanawianie łączności sieciowej z prywatnym klastrem usługi Azure Kubernetes Service (AKS)

W prywatnych klastrach usługi AKS punkt końcowy serwera interfejsu API nie ma publicznego adresu IP. Aby zarządzać serwerem interfejsu API, należy użyć maszyny wirtualnej lub kontenera, który ma dostęp do sieci wirtualnej klastra usługi AKS. Istnieje kilka opcji nawiązywania łączności sieciowej z klastrem prywatnym:

Wybieranie opcji łączności

Usługi Azure Cloud Shell i Azure Bastion (wersja zapoznawcza) to najprostsze opcje. Usługa Express Route i sieci VPN dodają koszty i wymagają dodatkowej złożoności sieci. Równoważenie sieci wirtualnych wymaga zaplanowania zakresów CIDR sieci, aby uniknąć nakładania się zakresów.

W poniższej tabeli przedstawiono najważniejsze różnice i ograniczenia dotyczące korzystania z usług Azure Cloud Shell i Azure Bastion:

Option Azure Cloud Shell Azure Bastion (wersja zapoznawcza)
Kluczowe różnice • Efemeryczny, oparty na przeglądarce dostęp.
• Kosztowo efektywne.
• Zawiera wstępnie zainstalowane narzędzia, takie jak az cli i kubectl.
• Trwały, długotrwały dostęp.
• Nadaje się do zarządzania wieloma klastrami.
• Korzystanie z własnych natywnych narzędzi klienta.
Ograniczenia • Nieobsługiwane w przypadku automatycznych klastrów AKS lub klastrów z blokadą sieciowej grupy zasobów (NRG).
• Nie można jednocześnie mieć wielu sesji usługi Cloud Shell w różnych sieciach wirtualnych.
• Nieobsługiwane dla klastrów automatycznych AKS lub klastrów z blokadą NRG.

Nawiązywanie połączenia przy użyciu usługi Azure Cloud Shell

Nawiązywanie połączenia z prywatnym klastrem usługi AKS za pośrednictwem usługi Azure Cloud Shell wymaga wykonania następujących kroków:

  • Wdrażanie wymaganych zasobów: Należy wdrożyć usługę Cloud Shell w sieci wirtualnej, która może dotrzeć do klastra prywatnego. Ten krok zapewnia niezbędną infrastrukturę. Chociaż usługa Cloud Shell jest bezpłatną usługą, korzystanie z usługi Cloud Shell w sieci wirtualnej wymaga niektórych zasobów, które generują koszty. Aby uzyskać więcej informacji, zobacz Wdrażanie usługi Cloud Shell w sieci wirtualnej.
  • Skonfiguruj połączenie: Po wdrożeniu zasobów każdy użytkownik w subskrypcji, który ma odpowiednie uprawnienia w klastrze, może skonfigurować usługę Cloud Shell do wdrożenia w sieci wirtualnej, aby zezwolić na bezpieczne połączenie z klastrem prywatnym.

Uruchom wymagane zasoby

Aby wdrożyć i skonfigurować wymagane zasoby, musisz mieć uprawnienia roli Właściciel w subskrypcji. Aby wyświetlić i przypisać role, zobacz Wyświetlanie listy właścicieli subskrypcji.

Wymagane zasoby można wdrożyć przy użyciu witryny Azure Portal lub udostępnionego szablonu usługi ARM, jeśli zarządzasz infrastrukturą jako kodem lub masz zasady organizacyjne, które wymagają określonych konwencji nazewnictwa zasobów.

Opcjonalnie możesz pozostawić wdrożone zasoby na potrzeby przyszłych połączeń lub usunąć je i utworzyć je ponownie w razie potrzeby.

Korzystanie z witryny Azure Portal (wersja zapoznawcza)

Ta opcja tworzy oddzielny VNet z niezbędnymi zasobami dla usługi Cloud Shell i konfiguruje peering VNet.

  1. W witrynie Azure Portal przejdź do zasobu klastra prywatnego.
  2. Na stronie Przegląd wybierz pozycję Połącz.
  3. Na karcie Cloud Shell w obszarze Wymagania wstępne dotyczące połączenia z klastrem prywatnym wybierz pozycję Konfiguruj , aby wdrożyć niezbędne zasoby.
    • Wdrożenie tworzy nową grupę zasobów o nazwie RG-CloudShell-PrivateClusterConnection-{RANDOM_ID}.
  4. Po pomyślnym zakończeniu wdrażania w obszarze Ustawianie kontekstu klastra wybierz pozycję Otwórz usługę Cloud Shell.

Zrzut ekranu portalu Azure na stronie zasobu prywatnego klastra, pokazujący przycisk Połącz, z wybraną kartą Cloud Shell.

Uwaga / Notatka

Jeśli skonfigurowano już usługę Cloud Shell w sieci wirtualnej dla określonego klastra, powtórzenie tych kroków gwarantuje, że ustawienia użytkownika usługi Cloud Shell są prawidłowo dopasowane do tej sieci wirtualnej.

Użyj szablonu ARM

Aby mieć większą kontrolę nad konfiguracją wdrożenia, użyj dostarczonego szablonu usługi ARM.

Usługę Cloud Shell można wdrożyć w tej samej sieci wirtualnej co prywatny klaster AKS, korzystając z dedykowanej podsieci, lub wdrożyć w nowej sieci wirtualnej i nawiązać połączenie za pośrednictwem peeringu sieci wirtualnych.

Konfigurowanie połączenia z klastrem prywatnym

Po wdrożeniu wymaganych zasobów każdy użytkownik w subskrypcji może skonfigurować usługę Cloud Shell do wdrożenia w danej sieci wirtualnej, wykonując kroki opisane w temacie Konfigurowanie usługi Cloud Shell w celu korzystania z sieci wirtualnej.

Upewnij się, że użytkownik ma odpowiedni dostęp na poziomie kubernetes, aby pomyślnie nawiązać połączenie z klastrem prywatnym. Aby uzyskać więcej informacji, zobacz Opcje dostępu i tożsamości dla usługi Azure Kubernetes Service (AKS).

Nawiązywanie połączenia przy użyciu usługi Azure Bastion (wersja zapoznawcza)

Azure Bastion to w pełni zarządzana usługa PaaS, która umożliwia bezpieczne łączenie się z zasobami prywatnymi za pośrednictwem prywatnych adresów IP. Aby użyć natywnej funkcji tunelowania klienta usługi Bastion, zobacz Nawiązywanie połączenia z klastrem prywatnym usługi AKS przy użyciu usługi Azure Bastion.

Nawiązywanie połączenia za pomocą komunikacji równorzędnej sieci wirtualnej

Aby użyć peeringu sieci VNet, należy ustanowić połączenie między siecią wirtualną a prywatną strefą DNS. Konfigurowanie peeringu VNet można przeprowadzić za pomocą portalu Azure lub Azure CLI.

Korzystanie z witryny Azure Portal

  1. W witrynie Azure Portal przejdź do grupy zasobów węzła i wybierz zasób prywatnej strefy DNS.

  2. W menu usługi w obszarze Zarządzanie systemem DNS wybierz pozycję Dodaj łącza> sieci wirtualnej.

  3. Na stronie Dodawanie linku do sieci wirtualnej skonfiguruj następujące ustawienia:

    • Nazwa łącza: wprowadź nazwę linku sieci wirtualnej.
    • Sieć wirtualna: wybierz sieć wirtualną zawierającą maszynę wirtualną.
  4. Wybierz pozycję Utwórz , aby utworzyć link do sieci wirtualnej.

  5. Przejdź do grupy zasobów zawierającej sieć wirtualną klastra usługi AKS i wybierz zasób sieci wirtualnej.

  6. W menu usługi w obszarze Ustawienia wybierz pozycję Komunikacje równorzędne>.

  7. Na stronie Dodawanie peeringu skonfiguruj następujące ustawienia:

    • Nazwa łącza komunikacji równorzędnej: wprowadź nazwę linku komunikacji równorzędnej.
    • Sieć wirtualna: wybierz sieć wirtualną maszyny wirtualnej.
  8. Wybierz Dodaj, aby utworzyć łącze peeringowe.

Aby uzyskać więcej informacji, zobacz Peering sieci wirtualnych.

Korzystaj z Azure CLI

  1. Utwórz nowy link, aby dodać sieć wirtualną maszyny wirtualnej do prywatnej strefy DNS przy użyciu polecenia az network private-dns link vnet create.

    az network private-dns link vnet create \
        --name <new-link-name> \
        --resource-group <node-resource-group-name> \
        --zone-name <private-dns-zone-name> \
        --virtual-network <vm-virtual-network-resource-id> \
        --registration-enabled false
    
  2. Utwórz połączenie peeringowe między siecią wirtualną maszyny wirtualnej a siecią wirtualną grupy zasobów węzła, używając polecenia az network vnet peering create.

    az network vnet peering create \
        --name <new-peering-name-1> \
        --resource-group <vm-virtual-network-resource-group-name> \
        --vnet-name <vm-virtual-network-name> \
        --remote-vnet <node-resource-group-virtual-network-resource-id> \
        --allow-vnet-access
    
  3. Utwórz drugą komunikację równorzędną między siecią wirtualną grupy zasobów węzła i siecią wirtualną maszyny wirtualnej przy użyciu az network vnet peering create polecenia .

    az network vnet peering create \
        --name <new-peering-name-2> \
        --resource-group <node-resource-group-name> \
        --vnet-name <node-resource-group-virtual-network-name> \
        --remote-vnet <vm-virtual-network-resource-id> \
        --allow-vnet-access
    
  4. Wyświetl listę wirtualnych sieci równorzędnych utworzonych przy użyciu az network vnet peering list polecenia .

    az network vnet peering list \
        --resource-group <node-resource-group-name> \
        --vnet-name <private-dns-zone-name>
    

Używanie połączenia prywatnego punktu końcowego

Możesz skonfigurować prywatny punkt końcowy, aby sieć wirtualna nie musiała być połączona do komunikacji z prywatnym klastrem. Aby skonfigurować połączenie prywatnego punktu końcowego, należy najpierw utworzyć nowy prywatny punkt końcowy w sieci wirtualnej zawierającej zasoby zużywające zasoby, a następnie utworzyć łącze między siecią wirtualną a nową prywatną strefą DNS w tej samej sieci.

Ważne

Jeśli sieć wirtualna jest skonfigurowana z niestandardowymi serwerami DNS, należy odpowiednio skonfigurować prywatną usługę DNS dla środowiska. Aby uzyskać więcej informacji, zobacz dokumentację rozpoznawania nazw sieci wirtualnej.

Tworzenie zasobu prywatnego punktu końcowego

  1. Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.

  2. Wyszukaj pozycję Prywatny punkt końcowy i wybierz pozycję Utwórz>prywatny punkt końcowy.

  3. Wybierz Utwórz.

  4. Na karcie Podstawowe skonfiguruj następujące ustawienia:

    • Szczegóły projektu

      • Subskrypcja: wybierz subskrypcję, w której znajduje się klaster prywatny.
      • Grupa zasobów: wybierz grupę zasobów zawierającą sieć wirtualną.
    • Szczegóły wystąpienia

      • Nazwa: wprowadź nazwę prywatnego punktu końcowego, na przykład myPrivateEndpoint.
      • Region: wybierz ten sam region co sieć wirtualna.
  5. Wybierz pozycję Dalej: Zasób i skonfiguruj następujące ustawienia:

    • Metoda połączenia: wybierz pozycję Połącz z zasobem platformy Azure w moim katalogu.
    • Subskrypcja: wybierz subskrypcję, w której znajduje się klaster prywatny.
    • Typ zasobu: wybierz pozycję Microsoft.ContainerService/managedClusters.
    • Zasób: wybierz klaster prywatny.
    • Docelowy zasób podrzędny: wybierz pozycję Zarządzanie.
  6. Wybierz pozycję Dalej: Sieć wirtualna i skonfiguruj następujące ustawienia:

    • Sieć komputerowa
      • Sieć wirtualna: wybierz sieć wirtualną.
      • Podsieć: wybierz swoją podsieć.
  7. Wybierz pozycję Dalej: DNS>Dalej: Tagi i (opcjonalnie) skonfiguruj wartości kluczy zgodnie z potrzebami.

  8. Wybierz pozycję Dalej: Przejrzyj i utwórz>Utwórz.

Po utworzeniu zasobu zapisz prywatny adres IP prywatnego punktu końcowego do użycia w przyszłości.

Tworzenie prywatnej strefy DNS

Po utworzeniu prywatnego punktu końcowego utwórz nową prywatną strefę DNS o takiej samej nazwie jak prywatna strefa DNS utworzona przez klaster prywatny. Pamiętaj, aby utworzyć tę strefę DNS w sieci wirtualnej zawierającej zasoby zużywające.

  1. W witrynie Azure Portal przejdź do grupy zasobów węzła i wybierz zasób prywatnej strefy DNS.

  2. W menu usługi w obszarze Zarządzanie systemem DNS wybierz pozycję Zestawy rekordów i zanotuj następujące elementy:

    • Nazwa prywatnej strefy DNS, która jest zgodna ze wzorcem *.privatelink.<region>.azmk8s.io.
    • Nazwa rekordu A (z wyłączeniem prywatnej nazwy DNS).
    • Czas wygaśnięcia (TTL).
  3. Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.

  4. Wyszukaj strefę Prywatna strefa DNS i wybierz pozycję Utwórz> Prywatna strefa DNS strefę.

  5. Na karcie Podstawowe skonfiguruj następujące ustawienia:

    • Szczegóły projektu

      • Wybierz swoją subskrypcję.
      • Wybierz grupę zasobów, w której utworzono prywatny punkt końcowy.
    • Szczegóły wystąpienia

      • Nazwa: wprowadź nazwę strefy DNS pobranej z poprzednich kroków.
      • Region: domyślnie określa lokalizację grupy zasobów.
  6. Wybierz Przejrzyj i utwórz>Utwórz.

Tworzenie rekordu A

Po utworzeniu prywatnej strefy DNS utwórz A rekord, który kojarzy prywatny punkt końcowy z klastrem prywatnym.

  1. Przejdź do zasobu prywatnej strefy DNS.

  2. W menu usługi w obszarze Zarządzanie systemem DNS wybierz pozycję .

  3. Na stronie Dodawanie zestawu rekordów skonfiguruj następujące ustawienia:

    • Nazwa: wprowadź nazwę pobraną z rekordu A w strefie DNS klastra prywatnego.
    • Typ: Wybierz rekord adresu typu A.
    • TTL: Wprowadź numer z rekordu A w strefie DNS prywatnego klastra.
    • Jednostka TTL: Zmień wartość listy rozwijanej, aby dopasować wartość rekordu A ze strefy DNS klastra prywatnego.
    • Adres IP: wprowadź adres IP utworzonego prywatnego punktu końcowego.
  4. Wybierz pozycję Dodaj , aby utworzyć A rekord.

Ważne

Podczas tworzenia rekordu A należy używać tylko nazwy, a nie w pełni kwalifikowanej nazwy domeny (FQDN).

Po utworzeniu rekordu A połącz prywatną strefę DNS z siecią wirtualną, która będzie uzyskiwać dostęp do klastra prywatnego.

  1. Przejdź do zasobu prywatnej strefy DNS.

  2. W menu usługi w obszarze Zarządzanie systemem DNS wybierz pozycję Dodaj łącza> sieci wirtualnej.

  3. Na stronie Dodawanie linku do sieci wirtualnej skonfiguruj następujące ustawienia:

    • Nazwa łącza: wprowadź nazwę linku sieci wirtualnej.
    • Subskrypcja: wybierz subskrypcję, w której znajduje się klaster prywatny.
    • Sieć wirtualna: wybierz sieć wirtualną klastra prywatnego.
  4. Wybierz pozycję Utwórz , aby utworzyć link.

    Ukończenie operacji może potrwać kilka minut. Po utworzeniu linku sieci wirtualnej możesz uzyskać do niej dostęp z karty Łącza sieci wirtualnej, która została użyta w kroku 2.

Ostrzeżenie

  • Jeśli klaster prywatny zostanie zatrzymany i uruchomiony ponownie, oryginalna usługa łącza prywatnego klastra prywatnego zostanie usunięta i utworzona ponownie, co spowoduje przerwanie połączenia między prywatnym punktem końcowym a klastrem prywatnym. Aby rozwiązać ten problem, usuń i ponownie utwórz wszystkie prywatne punkty końcowe utworzone przez użytkownika połączone z klastrem prywatnym. Jeśli utworzone ponownie prywatne punkty końcowe mają nowe adresy IP, należy również zaktualizować rekordy DNS.
  • Jeśli zaktualizujesz rekordy DNS w prywatnej strefie DNS, upewnij się, że host, z którego próbujesz nawiązać połączenie, korzysta ze zaktualizowanych rekordów DNS. Możesz to sprawdzić za pomocą nslookup polecenia . Jeśli zauważysz, że aktualizacje nie są odzwierciedlane w danych wyjściowych, może być konieczne opróżnienie pamięci podręcznej DNS na maszynie i spróbuj ponownie.

Tworzenie maszyny wirtualnej w tej samej sieci wirtualnej

Aby utworzyć maszynę wirtualną w tej samej sieci wirtualnej co prywatny klaster AKS, użyj polecenia az vm create z przełącznikiem --vnet-name, aby określić sieć wirtualną.

az vm create \
    --resource-group <resource-group-name> \
    --name <vm-name> \
    --image <image-name> \
    --vnet-name <vm-virtual-network-name> \
    --subnet <subnet-name> \
    --admin-username <admin-username> \
    --admin-password <admin-password>

Korzystanie z usługi Express Route lub połączenia sieci VPN

Aby użyć połączenia usługi ExpressRoute lub sieci VPN, zobacz Informacje o bramach sieci wirtualnej usługi ExpressRoute.

Użyj funkcji AKS command invoke

Aby użyć funkcji usługi AKS command invoke do nawiązania połączenia z klastrem prywatnym, zobacz Uzyskiwanie dostępu do klastra prywatnego przy użyciu usługi command invoke.

Aby uzyskać więcej informacji na temat klastrów prywatnych w usłudze AKS, zobacz Tworzenie prywatnego klastra usługi Azure Kubernetes Service (AKS).