Korzystanie z narzędzi automatyzacji infrastruktury z maszynami wirtualnymi na platformie Azure

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows ✔️ — elastyczne zestawy ✔️ skalowania

Aby tworzyć maszyny wirtualne platformy Azure i zarządzać nimi w spójny sposób na dużą skalę, zwykle wymagana jest pewna forma automatyzacji. Istnieje wiele narzędzi i rozwiązań, które umożliwiają automatyzację pełnego wdrażania infrastruktury platformy Azure i cyklu życia zarządzania. W tym artykule przedstawiono niektóre narzędzia automatyzacji infrastruktury, których można używać na platformie Azure. Te narzędzia często pasują do jednego z następujących podejść:

Terraform

Terraform to narzędzie automatyzacji, które umożliwia definiowanie i tworzenie całej infrastruktury platformy Azure przy użyciu jednego języka formatu szablonu — hashiCorp Configuration Language (HCL). Za pomocą narzędzia Terraform definiujesz szablony, które automatyzują proces tworzenia zasobów sieci, magazynu i maszyn wirtualnych dla danego rozwiązania aplikacji. Istniejące szablony programu Terraform można używać dla innych platform z platformą Azure, aby zapewnić spójność i uprościć wdrażanie infrastruktury bez konieczności konwertowania na szablon usługi Azure Resource Manager.

Instrukcje:

Azure Automation

Usługa Azure Automation używa elementów Runbook do przetwarzania zestawu zadań na docelowych maszynach wirtualnych. Usługa Azure Automation służy do zarządzania istniejącymi maszynami wirtualnymi, a nie do tworzenia infrastruktury. Usługa Azure Automation może działać zarówno na maszynach wirtualnych z systemami Linux, jak i Windows, oraz na lokalnych maszynach wirtualnych lub fizycznych z hybrydowym procesem roboczym elementu Runbook. Elementy Runbook mogą być przechowywane w repozytorium kontroli źródła, takim jak GitHub. Te elementy Runbook można następnie uruchamiać ręcznie lub zgodnie ze zdefiniowanym harmonogramem.

Usługa Azure Automation udostępnia również usługę Desired State Configuration (DSC), która umożliwia tworzenie definicji sposobu konfigurowania danego zestawu maszyn wirtualnych. Rozszerzenie DSC gwarantuje, że wymagana konfiguracja jest stosowana, a maszyna wirtualna pozostaje spójna. Usługa Azure Automation DSC działa zarówno na maszynach z systemami Windows, jak i Linux.

Instrukcje:

Azure DevOps Services

Azure DevOps Services to zestaw narzędzi, które ułatwiają udostępnianie i śledzenie kodu, używanie zautomatyzowanych kompilacji i tworzenie kompletnego potoku ciągłej integracji i programowania (CI/CD). Usługa Azure DevOps Services integruje się z programem Visual Studio i innymi edytorami, aby uprościć użycie. Usługi Azure DevOps Services mogą również tworzyć i konfigurować maszyny wirtualne platformy Azure, a następnie wdrażać w nich kod.

Dowiedz się więcej na następujące tematy:

Szablon usługi Azure Resource Manager

Usługa Azure Resource Manager to usługa wdrażania i zarządzania dla platformy Azure. Zapewnia warstwę zarządzania, która umożliwia tworzenie, aktualizowanie i usuwanie zasobów w ramach subskrypcji platformy Azure. Za pomocą funkcji zarządzania, takich jak kontrola dostępu, blokady i tagi, można zabezpieczyć oraz zorganizować zasoby po wdrożeniu.

Instrukcje:

Bicep

Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. W pliku Bicep zdefiniujesz infrastrukturę, którą chcesz wdrożyć na platformie Azure, a następnie użyjesz tego pliku w całym cyklu życia programowania, aby wielokrotnie wdrażać infrastrukturę. Zasoby są wdrażane w spójny sposób.

Rozpocznij pracę z przewodnikiem Szybki start.

Cloud-init

Cloud-init to powszechnie używana metoda dostosowywania maszyny wirtualnej z systemem Linux podczas jej pierwszego rozruchu. Za pomocą pakietu cloud-init można instalować pakiety i zapisywać pliki lub konfigurować użytkowników i zabezpieczenia. Ponieważ pakiet cloud-init jest wywoływany podczas początkowego procesu rozruchu, nie ma dodatkowych kroków ani agentów wymaganych do zastosowania konfiguracji. Aby uzyskać więcej informacji na temat prawidłowego formatowania #cloud-config plików, zobacz witrynę dokumentacji cloud-init. #cloud-config pliki są plikami tekstowym zakodowanym w formacie base64.

Pakiet cloud-init działa również w różnych dystrybucjach. Przykładowo nie używa się poleceń apt-get install lub yum install do zainstalowania pakietu. Zamiast tego możesz zdefiniować listę pakietów do zainstalowania. Pakiet cloud-init automatycznie używa natywnego narzędzia do zarządzania pakietami dla wybranej dystrybucji.

Aktywnie współpracujemy z naszymi zatwierdzonymi partnerami dystrybucji systemu Linux w celu udostępnienia obrazów z obsługą pakietu cloud-init w witrynie Azure Marketplace. Te obrazy sprawiają, że wdrożenia i konfiguracje pakietu cloud-init bezproblemowo współpracują z maszynami wirtualnymi i zestawami skalowania maszyn wirtualnych. Dowiedz się więcej na temat pakietu cloud-init na platformie Azure:

Rozszerzenie DSC programu PowerShell

PowerShell Desired State Configuration (DSC) to platforma zarządzania służąca do definiowania konfiguracji maszyn docelowych. Rozszerzenie DSC można również używać w systemie Linux za pośrednictwem serwera OMI (Open Management Infrastructure).

Konfiguracje DSC definiują, co należy zainstalować na maszynie i jak skonfigurować hosta. Aparat lokalnego programu Configuration Manager (LCM) działa na każdym węźle docelowym, który przetwarza żądane akcje na podstawie wypychanych konfiguracji. Serwer ściągania to usługa internetowa działająca na hoście centralnym do przechowywania konfiguracji DSC i skojarzonych zasobów. Serwer ściągania komunikuje się z aparatem LCM na każdym hoście docelowym, aby zapewnić wymagane konfiguracje i zgłosić zgodność.

Instrukcje:

Rozszerzenie niestandardowego skryptu platformy Azure

Rozszerzenie niestandardowego skryptu platformy Azure dla systemu Linux lub Windows pobiera i wykonuje skrypty na maszynach wirtualnych platformy Azure. Rozszerzenie można używać podczas tworzenia maszyny wirtualnej lub w dowolnym momencie, gdy maszyna wirtualna jest używana.

Skrypty można pobrać z usługi Azure Storage lub z dowolnej lokalizacji publicznej, takiej jak repozytorium GitHub. Rozszerzenie niestandardowego skryptu umożliwia pisanie skryptów w dowolnym języku uruchomionym na źródłowej maszynie wirtualnej. Te skrypty mogą służyć do instalowania aplikacji lub konfigurowania maszyny wirtualnej zgodnie z potrzebami. Aby zabezpieczyć poświadczenia, poufne informacje, takie jak hasła, mogą być przechowywane w konfiguracji chronionej. Te poświadczenia są odszyfrowywane tylko wewnątrz maszyny wirtualnej.

Instrukcje:

Ansible

Rozwiązanie Ansible to aparat automatyzacji do zarządzania konfiguracją, tworzenia maszyny wirtualnej lub wdrażania aplikacji. Rozwiązanie Ansible używa modelu bez agenta, zwykle z kluczami SSH, do uwierzytelniania maszyn docelowych i zarządzania nimi. Zadania konfiguracyjne są definiowane w podręcznikach z kilkoma modułami rozwiązania Ansible dostępnymi do wykonywania określonych zadań. Aby uzyskać więcej informacji, zobacz Jak działa narzędzie Ansible.

Instrukcje:

Chef

Chef to platforma automatyzacji, która ułatwia definiowanie sposobu konfigurowania, wdrażania i zarządzania infrastrukturą. Niektóre składniki obejmują program Chef Habitat na potrzeby automatyzacji cyklu życia aplikacji, a nie infrastrukturę, oraz program Chef InSpec, który pomaga zautomatyzować zgodność z wymaganiami dotyczącymi zabezpieczeń i zasad. Klienci programu Chef są instalowani na maszynach docelowych z co najmniej jednym centralnym serwerem Chef, które przechowują konfiguracje i zarządzają nimi. Aby uzyskać więcej informacji, zobacz Omówienie programu Chef.

Instrukcje:

Puppet

Puppet to platforma automatyzacji gotowa do użycia w przedsiębiorstwie, która obsługuje proces dostarczania i wdrażania aplikacji. Agenci są instalowani na maszynach docelowych, aby umożliwić usłudze Puppet Master uruchamianie manifestów definiujących żądaną konfigurację infrastruktury i maszyn wirtualnych platformy Azure. Platforma Puppet może integrować się z innymi rozwiązaniami, takimi jak Jenkins i GitHub, w celu uzyskania ulepszonego przepływu pracy devops. Aby uzyskać więcej informacji, zobacz Jak działa narzędzie Puppet.

Instrukcje:

Packer

Narzędzie Packer automatyzuje proces kompilacji podczas tworzenia niestandardowego obrazu maszyny wirtualnej na platformie Azure. Program Packer służy do definiowania systemu operacyjnego i uruchamiania skryptów po konfiguracji, które dostosują maszynę wirtualną pod kątem konkretnych potrzeb. Po skonfigurowaniu maszyna wirtualna zostanie przechwycona jako obraz dysku zarządzanego. Program Packer automatyzuje proces tworzenia źródłowej maszyny wirtualnej, zasobów sieci i magazynu, uruchamiania skryptów konfiguracji, a następnie tworzenia obrazu maszyny wirtualnej.

Instrukcje:

Jenkins

Jenkins to serwer ciągłej integracji, który ułatwia wdrażanie i testowanie aplikacji oraz tworzenie zautomatyzowanych potoków na potrzeby dostarczania kodu. Istnieją setki wtyczek, które rozszerzają podstawową platformę Jenkins, a także można zintegrować z wieloma innymi produktami i rozwiązaniami za pośrednictwem elementów webhook. Narzędzie Jenkins można zainstalować ręcznie na maszynie wirtualnej platformy Azure, uruchomić narzędzie Jenkins z poziomu kontenera platformy Docker lub użyć wstępnie utworzonego obrazu witryny Azure Marketplace.

Instrukcje:

Następne kroki

Istnieje wiele różnych opcji używania narzędzi automatyzacji infrastruktury na platformie Azure. Masz swobodę korzystania z rozwiązania, które najlepiej odpowiada Twoim potrzebom i środowisku. Aby rozpocząć pracę i wypróbować niektóre narzędzia wbudowane na platformie Azure, zobacz, jak zautomatyzować dostosowywanie maszyny wirtualnej z systemem Linux lub Windows .