Udostępnij za pośrednictwem


Wdrażanie sieci kontenerów dla autonomicznego hosta platformy Docker systemu Windows

Wtyczka azure CNI umożliwia korzystanie z sieci kontenera/zasobnika dla autonomicznych hostów platformy Docker i klastrów Kubernetes. Z tego artykułu dowiesz się, jak zainstalować i skonfigurować wtyczkę CNI dla autonomicznego hosta platformy Docker systemu Windows.

Wymagania wstępne

Tworzenie sieci wirtualnej i hosta usługi Azure Bastion

Poniższa procedura tworzy sieć wirtualną z podsiecią zasobów, podsiecią usługi Azure Bastion i hostem usługi Bastion:

  1. W portalu wyszukaj i wybierz pozycję Sieci wirtualne.

  2. Na stronie Sieci wirtualne wybierz pozycję + Utwórz.

  3. Na karcie Podstawy tworzenia sieci wirtualnej wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Szczegóły projektu
    Subskrypcja Wybierz subskrypcję.
    Grupa zasobów Wybierz pozycjęUtwórz nowy.
    Wprowadź wartość test-rg jako nazwę.
    Wybierz przycisk OK.
    Szczegóły wystąpienia
    Nazwisko Wprowadź wartość vnet-1.
    Region (Region) Wybierz pozycję East US 2 (Wschodnie stany USA 2).

    Zrzut ekranu przedstawiający kartę Podstawowe informacje dotyczące tworzenia sieci wirtualnej w witrynie Azure Portal.

  4. Wybierz przycisk Dalej , aby przejść do karty Zabezpieczenia .

  5. W sekcji Azure Bastion wybierz pozycję Włącz usługę Azure Bastion.

    Usługa Bastion używa przeglądarki do łączenia się z maszynami wirtualnymi w sieci wirtualnej za pośrednictwem protokołu Secure Shell (SSH) lub protokołu RDP (Remote Desktop Protocol) przy użyciu prywatnych adresów IP. Maszyny wirtualne nie potrzebują publicznych adresów IP, oprogramowania klienckiego ani specjalnej konfiguracji. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Bastion?.

    Uwaga

    Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.

  6. W usłudze Azure Bastion wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Nazwa hosta usługi Azure Bastion Wprowadź bastion.
    Publiczny adres IP usługi Azure Bastion Wybierz pozycję Utwórz publiczny adres IP.
    Wprowadź wartość public-ip-bastion w polu Nazwa.
    Wybierz przycisk OK.

    Zrzut ekranu przedstawiający opcje włączania hosta usługi Azure Bastion w ramach tworzenia sieci wirtualnej w witrynie Azure Portal.

  7. Wybierz przycisk Dalej , aby przejść do karty Adresy IP.

  8. W polu Przestrzeń adresowa w obszarze Podsieci wybierz domyślną podsieć.

  9. W obszarze Edytuj podsieć wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Cel podsieci Pozostaw wartość domyślną domyślnej.
    Nazwisko Wprowadź podsieć-1.
    Protokół IPv4
    Zakres adresów IPv4 Pozostaw wartość domyślną 10.0.0.0/16.
    Adres początkowy Pozostaw wartość domyślną 10.0.0.0.
    Rozmiar Pozostaw wartość domyślną /24 (256 adresów).

    Zrzut ekranu przedstawiający szczegóły konfiguracji podsieci.

  10. Wybierz pozycję Zapisz.

  11. Wybierz pozycję Przejrzyj i utwórz w dolnej części okna. Po zakończeniu walidacji wybierz pozycję Utwórz.

Wdrożenie sieci i hosta usługi Bastion może potrwać kilka minut. Kontynuuj wykonywanie następnych kroków po zakończeniu wdrażania lub zakończeniu tworzenia sieci wirtualnej.

Tworzenie testowej maszyny wirtualnej

Poniższa procedura tworzy testową maszynę wirtualną o nazwie vm-1 w sieci wirtualnej.

  1. W portalu wyszukaj i wybierz pozycję Maszyny wirtualne.

  2. W obszarze Maszyny wirtualne wybierz pozycję + Utwórz, a następnie maszynę wirtualną platformy Azure.

  3. Na karcie Podstawy tworzenia maszyny wirtualnej wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Szczegóły projektu
    Subskrypcja Wybierz subskrypcję.
    Grupa zasobów Wybierz pozycję test-rg.
    Szczegóły wystąpienia
    Virtual machine name Wprowadź wartość vm-1.
    Region (Region) Wybierz pozycję East US 2 (Wschodnie stany USA 2).
    Opcje dostępności Wybierz pozycję Brak wymaganej nadmiarowości infrastruktury.
    Typ zabezpieczeń Pozostaw wartość domyślną standardu.
    Obraz Wybierz pozycję Windows Server 2022 Datacenter — x64 Gen2.
    Architektura maszyny wirtualnej Pozostaw wartość domyślną x64.
    Rozmiar Wybierz rozmiar.
    Konto administratora
    Typ uwierzytelniania Wybierz pozycję Hasło.
    Username Wprowadź azureuser.
    Hasło Wprowadź hasło.
    Potwierdź hasło Wprowadź ponownie hasło.
    Reguły portów przychodzących
    Publiczne porty ruchu przychodzącego Wybierz pozycję Brak.
  4. Wybierz kartę Sieć w górnej części strony.

  5. Wprowadź lub wybierz następujące informacje na karcie Sieć :

    Ustawienie Wartość
    Interfejs sieciowy
    Sieć wirtualna Wybierz pozycję vnet-1.
    Podsieć Wybierz podsieć-1 (10.0.0.0/24).
    Publiczny adres IP Wybierz pozycję Brak.
    Sieciowa grupa zabezpieczeń karty sieciowej Wybierz opcję Zaawansowane.
    Konfigurowanie sieciowej grupy zabezpieczeń Wybierz pozycjęUtwórz nowy.
    Wprowadź nazwę nsg-1 .
    Pozostaw wartości domyślne pozostałych i wybierz przycisk OK.
  6. Pozostaw pozostałe ustawienia domyślne i wybierz pozycję Przejrzyj i utwórz.

  7. Przejrzyj ustawienia i wybierz pozycję Utwórz.

Uwaga

Maszyny wirtualne w sieci wirtualnej z hostem bastionu nie wymagają publicznych adresów IP. Usługa Bastion udostępnia publiczny adres IP, a maszyny wirtualne używają prywatnych adresów IP do komunikacji w sieci. Publiczne adresy IP można usunąć ze wszystkich maszyn wirtualnych w sieciach wirtualnych hostowanych w bastionie. Aby uzyskać więcej informacji, zobacz Usuwanie skojarzenia publicznego adresu IP z maszyny wirtualnej platformy Azure.

Uwaga

Platforma Azure udostępnia domyślny adres IP dostępu wychodzącego dla maszyn wirtualnych, które nie są przypisane do publicznego adresu IP lub znajdują się w puli zaplecza wewnętrznego podstawowego modułu równoważenia obciążenia platformy Azure. Domyślny mechanizm adresów IP dostępu wychodzącego zapewnia wychodzący adres IP, który nie jest konfigurowalny.

Domyślny adres IP dostępu wychodzącego jest wyłączony, gdy wystąpi jedno z następujących zdarzeń:

  • Publiczny adres IP jest przypisywany do maszyny wirtualnej.
  • Maszyna wirtualna jest umieszczana w puli zaplecza standardowego modułu równoważenia obciążenia z regułami ruchu wychodzącego lub bez tych reguł.
  • Zasób usługi Azure NAT Gateway jest przypisywany do podsieci maszyny wirtualnej.

Maszyny wirtualne tworzone przy użyciu zestawów skalowania maszyn wirtualnych w trybie elastycznej aranżacji nie mają domyślnego dostępu wychodzącego.

Aby uzyskać więcej informacji na temat połączeń wychodzących na platformie Azure, zobacz Domyślny dostęp wychodzący na platformie Azure i Używanie źródłowego tłumaczenia adresów sieciowych (SNAT) dla połączeń wychodzących.

Dodawanie konfiguracji adresu IP

Wtyczka azure CNI przydziela adresy IP do kontenerów na podstawie puli adresów IP tworzonych w interfejsie sieci wirtualnej maszyny wirtualnej. Dla każdego kontenera na hoście konfiguracja adresu IP musi istnieć w interfejsie sieci wirtualnej. Jeśli liczba kontenerów na serwerze przewyższa liczbę konfiguracji adresów IP w interfejsie sieci wirtualnej, kontener zostanie uruchomiony, ale nie ma adresu IP.

W tej sekcji dodasz konfigurację adresu IP do interfejsu sieciowego utworzonej wcześniej maszyny wirtualnej.

  1. W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.

  2. Wybierz pozycję vm-1.

  3. W obszarze Ustawienia wybierz pozycję Sieć.

  4. Wybierz nazwę interfejsu sieciowego obok pozycji Interfejs sieciowy:. Interfejs sieciowy nosi nazwę vm-1 z liczbą losową.

  5. W obszarze Ustawienia interfejsu sieciowego wybierz pozycję Konfiguracje adresów IP.

  6. w obszarze Konfiguracje adresów IP wybierz pozycję ipconfig1 w polu Nazwa.

  7. W ustawieniach ipconfig1 zmień przypisanie prywatnego adresu IP z Dynamic na Static.

  8. Wybierz pozycję Zapisz.

  9. Wróć do konfiguracji adresów IP.

  10. Wybierz + Dodaj.

  11. Wprowadź lub wybierz następujące informacje dla pozycji Dodaj konfigurację adresu IP:

    Ustawienie Wartość
    Nazwisko Wprowadź wartość ipconfig-2.
    Ustawienia prywatnego adresu IP
    Alokacja Wybierz wartość Statyczny.
    Adres IP Wprowadź wartość 10.0.0.5.
  12. Wybierz przycisk OK.

  13. Sprawdź, czy konfiguracja ipconfig2 została dodana jako dodatkowa konfiguracja adresu IP.

Powtórz kroki od 1 do 13, aby dodać dowolną liczbę konfiguracji jako kontenerów, które chcesz wdrożyć na hoście kontenerów.

Konfigurowanie adresów IP w systemie Windows

Aby przypisać wiele adresów IP do maszyny wirtualnej z systemem Windows, adresy IP muszą zostać dodane do interfejsu sieciowego w systemie Windows. W tej sekcji zalogujesz się do maszyny wirtualnej i skonfigurujesz konfiguracje adresów IP utworzone w poprzedniej sekcji.

  1. W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.

  2. Wybierz pozycję vm-1.

  3. W obszarze Przegląd maszyny wirtualnej vm-1 wybierz pozycję Połącz, a następnie pozycję Bastion.

  4. Wprowadź nazwę użytkownika i hasło utworzone podczas wdrażania maszyny wirtualnej w poprzednich krokach.

  5. Wybierz pozycję Połącz.

  6. Otwórz konfigurację połączeń sieciowych na maszynie wirtualnej. Wybierz pozycję Start -Run (Uruchom)> i wprowadź .ncpa.cpl

  7. Wybierz przycisk OK.

  8. Wybierz interfejs sieciowy maszyny wirtualnej, a następnie pozycję Właściwości:

    Zrzut ekranu przedstawiający wybieranie interfejsu sieciowego w systemie operacyjnym Windows.

  9. W obszarze Właściwości sieci Ethernet wybierz pozycję Protokół internetowy w wersji 4 (TCP/IPv4), a następnie pozycję Właściwości.

  10. Wprowadź lub wybierz następujące informacje na karcie Ogólne :

    Ustawienie Wartość
    Wybierz pozycję Użyj następującego adresu IP:
    Adres IP: Wprowadź wartość 10.0.0.4
    Maska podsieci: Wprowadź wartość 255.255.255.0
    Brama domyślna Wprowadź wartość 10.0.0.1
    Wybierz pozycję Użyj następujących adresów serwerów DNS:
    Preferowany serwer DNS: Wprowadź wartość 168.63.129.16 Ten adres IP jest przypisanym adresem IP DHCP dla domyślnej usługi Azure DNS
  11. Wybierz pozycję Zaawansowane....

  12. w obszarze Adresy IP wybierz pozycję Dodaj....

  13. Wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Adres TCP/IP
    Adres IP: Wprowadź wartość 10.0.0.5
    Maska podsieci: Wprowadź wartość 255.255.255.0
  14. Wybierz Dodaj.

  15. Aby dodać więcej adresów IP odpowiadających wszelkim utworzonym wcześniej dodatkowym konfiguracjom adresów IP, wybierz pozycję Dodaj.

  16. Kliknij przycisk OK.

  17. Kliknij przycisk OK.

  18. Kliknij przycisk OK.

Połączenie usługi Bastion spada przez kilka sekund, gdy konfiguracja sieci jest stosowana. Poczekaj kilka sekund, a następnie spróbuj ponownie nawiązać połączenie. Kontynuuj po pomyślnym ponownym połączeniu.

Zainstaluj platformę Docker

Aparat kontenera platformy Docker musi być zainstalowany i skonfigurowany na utworzonej wcześniej maszynie wirtualnej.

Zaloguj się do maszyny wirtualnej utworzonej wcześniej przy użyciu hosta usługi Azure Bastion wdrożonego z siecią wirtualną.

  1. W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.

  2. Wybierz pozycję vm-1.

  3. W obszarze Przegląd maszyny wirtualnej vm-1 wybierz pozycję Połącz, a następnie pozycję Bastion.

  4. Wprowadź nazwę użytkownika i hasło utworzone podczas wdrażania maszyny wirtualnej w poprzednich krokach.

  5. Wybierz pozycję Połącz.

  6. Otwórz program Windows PowerShell na maszynie wirtualnej vm-1.

  7. Poniższy przykład instaluje platformę Docker CE/Moby:

    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
    
    .\install-docker-ce.ps1
    

Maszyna wirtualna uruchamia się ponownie, aby zainstalować obsługę kontenera w systemie Windows. Ponowne nawiązywanie połączenia z maszyną wirtualną i kontynuowanie instalacji platformy Docker.

Aby uzyskać więcej informacji na temat kontenerów systemu Windows, zobacz Wprowadzenie: przygotowywanie systemu Windows dla kontenerów.

Po zainstalowaniu platformy Docker na maszynie wirtualnej wykonaj kroki opisane w tym artykule.

Instalowanie wtyczki CNI i środowiska jq

Wtyczka azure CNI jest utrzymywana jako projekt Usługi GitHub i jest dostępna do pobrania ze strony usługi GitHub projektu. W tym artykule pobierz repozytorium wtyczki CNI na maszynie wirtualnej, a następnie zainstalujesz i skonfigurujesz wtyczkę.

Aby uzyskać więcej informacji na temat wtyczki azure CNI, zobacz Microsoft Azure Container Networking.

  1. W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.

  2. Wybierz pozycję vm-1.

  3. W obszarze Przegląd maszyny wirtualnej vm-1 wybierz pozycję Połącz, a następnie pozycję Bastion.

  4. Wprowadź nazwę użytkownika i hasło utworzone podczas wdrażania maszyny wirtualnej w poprzednich krokach.

  5. Wybierz pozycję Połącz.

  6. Użyj następującego przykładu, aby pobrać i wyodrębnić wtyczkę CNI do folderu tymczasowego na maszynie wirtualnej:

    Invoke-WebRequest -Uri https://github.com/Azure/azure-container-networking/archive/refs/heads/master.zip -OutFile azure-container-networking.zip
    
    Expand-Archive azure-container-networking.zip -DestinationPath azure-container-networking
    
  7. Aby zainstalować wtyczkę CNI, przejdź do katalogu scripts folderu wtyczki CNI pobranego w poprzednim kroku. Polecenie skryptu instalacji wymaga numeru wersji dla wtyczki CNI. W momencie pisania tego artykułu najnowsza wersja to v1.4.39. Aby uzyskać najnowszy numer wersji wtyczki lub poprzednich wersji, zobacz Wydania.

    cd .\azure-container-networking\azure-container-networking-master\scripts\
    
    .\Install-CniPlugin.ps1 v1.4.39
    
  8. Wtyczka CNI zawiera wbudowany plik konfiguracji sieci dla wtyczki. Użyj następującego przykładu, aby skopiować plik do katalogu konfiguracji sieci:

    Copy-Item -Path "c:\k\azurecni\bin\10-azure.conflist" -Destination "c:\k\azurecni\netconf"
    

Instalowanie pakietu jq

Skrypt, który tworzy kontenery za pomocą wtyczki azure CNI, wymaga aplikacji jq. Aby uzyskać więcej informacji i lokalizacji pobierania, zobacz Pobieranie pliku jq.

  1. Otwórz przeglądarkę internetową na maszynie wirtualnej i pobierz aplikację jq .

  2. Pobieranie jest samodzielnym plikiem wykonywalnym dla aplikacji. Skopiuj plik wykonywalny jq-win64.exe do C:\Windows katalogu.

Tworzenie kontenera testowego

  1. Aby uruchomić kontener za pomocą wtyczki CNI, należy użyć specjalnego skryptu dołączonego do wtyczki, aby utworzyć i uruchomić kontener. Poniższy przykład umożliwia utworzenie kontenera systemu Windows Server za pomocą skryptu wtyczki CNI:

    cd .\azure-container-networking\azure-container-networking-master\scripts\
    .\docker-exec.ps1 vnetdocker1 default mcr.microsoft.com/windows/servercore/iis add
    

    Pobranie obrazu z kontenera po raz pierwszy może potrwać kilka minut. Po uruchomieniu i zainicjowaniu sieci połączenie usługi Bastion zostanie rozłączone. Poczekaj kilka sekund i ponownie opublikuj połączenie.

  2. Aby sprawdzić, czy kontener otrzymał wcześniej skonfigurowany adres IP, połącz się z kontenerem i wyświetl adres IP:

    docker exec -it vnetdocker1 powershell
    
  3. ipconfig Użyj polecenia w poniższym przykładzie, aby sprawdzić, czy adres IP został przypisany do kontenera:

    ipconfig
    

    Zrzut ekranu przedstawiający dane wyjściowe ipconfig w wierszu polecenia programu PowerShell dla kontenera testowego.

  4. Zamknij kontener i zamknij połączenie usługi Bastion z maszyną wirtualną-1.

Po zakończeniu korzystania z utworzonych zasobów możesz usunąć grupę zasobów i wszystkie jej zasoby.

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.

  2. Na stronie Grupy zasobów wybierz grupę zasobów test-rg.

  3. Na stronie test-rg wybierz pozycję Usuń grupę zasobów.

  4. Wprowadź ciąg test-rg w polu Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.

Następne kroki

W tym artykule przedstawiono sposób instalowania wtyczki azure CNI i tworzenia kontenera testowego.

Aby uzyskać więcej informacji na temat sieci kontenerów platformy Azure i usługi Azure Kubernetes Service, zobacz: