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
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
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:
W portalu wyszukaj i wybierz pozycję Sieci wirtualne.
Na stronie Sieci wirtualne wybierz pozycję + Utwórz.
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). Wybierz przycisk Dalej , aby przejść do karty Zabezpieczenia .
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.
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.Wybierz przycisk Dalej , aby przejść do karty Adresy IP.
W polu Przestrzeń adresowa w obszarze Podsieci wybierz domyślną podsieć.
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). Wybierz pozycję Zapisz.
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.
W portalu wyszukaj i wybierz pozycję Maszyny wirtualne.
W obszarze Maszyny wirtualne wybierz pozycję + Utwórz, a następnie maszynę wirtualną platformy Azure.
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. Wybierz kartę Sieć w górnej części strony.
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.Pozostaw pozostałe ustawienia domyślne i wybierz pozycję Przejrzyj i utwórz.
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.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
W obszarze Ustawienia wybierz pozycję Sieć.
Wybierz nazwę interfejsu sieciowego obok pozycji Interfejs sieciowy:. Interfejs sieciowy nosi nazwę vm-1 z liczbą losową.
W obszarze Ustawienia interfejsu sieciowego wybierz pozycję Konfiguracje adresów IP.
w obszarze Konfiguracje adresów IP wybierz pozycję ipconfig1 w polu Nazwa.
W ustawieniach ipconfig1 zmień przypisanie prywatnego adresu IP z Dynamic na Static.
Wybierz pozycję Zapisz.
Wróć do konfiguracji adresów IP.
Wybierz + Dodaj.
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. Wybierz przycisk OK.
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ą.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
W obszarze Przegląd maszyny wirtualnej vm-1 wybierz pozycję Połącz, a następnie pozycję Bastion.
Wprowadź nazwę użytkownika i hasło utworzone podczas wdrażania maszyny wirtualnej w poprzednich krokach.
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.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
W obszarze Przegląd maszyny wirtualnej vm-1 wybierz pozycję Połącz, a następnie pozycję Bastion.
Wprowadź nazwę użytkownika i hasło utworzone podczas wdrażania maszyny wirtualnej w poprzednich krokach.
Wybierz pozycję Połącz.
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
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
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
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
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
ifconfig
Użyj polecenia w poniższym przykładzie, aby sprawdzić, czy adres IP został przypisany do kontenera:ifconfig
Po zakończeniu korzystania z utworzonych zasobów możesz usunąć grupę zasobów i wszystkie jej zasoby.
W witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.
Na stronie Grupy zasobów wybierz grupę zasobów test-rg.
Na stronie test-rg wybierz pozycję Usuń grupę zasobów.
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: