Udostępnij za pośrednictwem


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

Dotyczy: ✔️ Maszyny wirtualne Linux ✔️ Maszyny wirtualne Windows ✔️ Elastyczne zestawy skalowania ✔️ Jednolite 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ść:

Terraformowanie

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.

Dowiedz się, jak:

Azure Automation

Usługa Azure Automation wykorzystuje runbooki do przetwarzania zestawu zadań na wybranych 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 systemem Linux i Windows, jak i na lokalnych maszynach wirtualnych lub fizycznych z hybrydowym pracownikiem Runbook. Elementy Runbook mogą być przechowywane w repozytorium kontroli wersji, 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. DSC gwarantuje, że wymagana konfiguracja jest stosowana, a maszyna wirtualna pozostaje zgodna. Usługa Azure Automation DSC działa zarówno na maszynach z systemami Windows, jak i Linux.

Dowiedz się, jak:

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 o:

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. Funkcje zarządzania, takie jak kontrola dostępu, blokady i tagi, umożliwiają zabezpieczanie i organizowanie zasobów po wdrożeniu.

Dowiedz się, jak:

Biceps

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 korzystanie z Quickstart.

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 plików #cloud-config, zobacz stronę dokumentacji cloud-init. #cloud-config pliki to pliki tekstowe zakodowane w formacie base64.

Pakiet cloud-init działa również w różnych dystrybucjach. Na przykład nie używasz polecenia apt-get install lub yum install w celu zainstalowania pakietu. Zamiast tego można 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:

PowerShell DSC

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

Konfiguracje DSC definiują, co należy zainstalować na maszynie i jak skonfigurować hosta. Silnik lokalnego menedżera konfiguracji (LCM) działa na każdym węźle docelowym, który przetwarza żądane akcje na podstawie konfiguracji przesyłanych. Serwer ściągania to usługa sieciowa uruchomiona na serwerze centralnym, która służy do przechowywania konfiguracji DSC i powiązanych zasobów. Serwer pobierający komunikuje się z aparatem LCM na każdym docelowym hoście, aby dostarczyć wymagane konfiguracje i zgłosić zgodność.

Dowiedz się, jak:

Niestandardowe rozszerzenie skryptu 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 umożliwiające użycie niestandardowego skryptu pozwala na pisanie skryptów w dowolnym języku obsługiwanym przez źródłową maszynę wirtualną. 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.

Dowiedz się, jak:

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 playbookach, z kilkoma modułami Ansible dostępnymi do wykonywania określonych zadań. Aby uzyskać więcej informacji, zobacz Jak działa narzędzie Ansible.

Dowiedz się, jak:

Szef kuchni

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.

Dowiedz się, jak:

Marionetka

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.

Dowiedz się, jak:

Pakowacz

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.

Dowiedz się, jak:

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.

Dowiedz się, jak:

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