Udostępnij za pośrednictwem


Wdrażanie sieci kontenerów dla autonomicznego hosta platformy Docker z systemem Linux

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 Linux.

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ę 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 hosta usługi Bastion może potrwać kilka minut. Możesz kontynuować wykonywanie kroków podczas wdrażania hosta usługi Bastion.

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ę Ubuntu Server 22.04 LTS — 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 adres IPconfig-2 został dodany jako dodatkowa konfiguracja adresu IP.

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

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.

Aby uzyskać instrukcje dotyczące instalacji platformy Docker na hoście kontenera systemu Ubuntu, zobacz Instalowanie aparatu platformy Docker w systemie Ubuntu.

Po zainstalowaniu platformy Docker na maszynie wirtualnej postępuj zgodnie z instrukcjami dotyczącymi instalacji po instalacji systemu Linux. Aby uzyskać instrukcje dotyczące instalacji po instalacji systemu Linux, zobacz Kroki po instalacji aparatu platformy Docker.

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

Instalowanie wtyczki CNI i tworzenie kontenera testowego

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 użyjesz git maszyny wirtualnej, aby sklonować repozytorium dla wtyczki, a następnie zainstalować i skonfigurować 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. Aplikacja jq jest wymagana dla skryptu instalacji dla wtyczki CNI, użyj następującego przykładu, aby zainstalować aplikację:

    sudo apt-get update
    sudo apt-get install jq
    
  7. Następnie sklonujesz repozytorium dla wtyczki CNI. Użyj następującego przykładu, aby sklonować repozytorium:

    git clone https://github.com/Azure/azure-container-networking.git
    
  8. Skonfiguruj uprawnienia i zainstaluj wtyczkę CNI. 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/scripts
    chmod u+x install-cni-plugin.sh
    sudo ./install-cni-plugin.sh v1.4.39
    chmod u+x docker-run.sh
    
  9. 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 tworzy kontener Alpine za pomocą skryptu wtyczki CNI:

    sudo ./docker-run.sh vnetdocker1 default alpine
    
  10. Aby sprawdzić, czy kontener otrzymał wcześniej skonfigurowany adres IP, połącz się z kontenerem i wyświetl adres IP:

    sudo docker exec -it vnetdocker1 /bin/sh
    
  11. ifconfig Użyj polecenia w poniższym przykładzie, aby sprawdzić, czy adres IP został przypisany do kontenera:

    ifconfig
    

    Zrzut ekranu przedstawiający dane wyjściowe ifconfig w wierszu polecenia powłoki Bash kontenera testowego.

Czyszczenie zasobów

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: