Często zdarza się, że będziesz chciał zautomatyzować udostępnianie i konfigurację infrastruktury chmury Vultr. Istnieje mnóstwo narzędzi, jednak Cloud-init jest standardem branżowym używanym do inicjowania i konfigurowania instancji maszyn wirtualnych z danymi użytkownika Często zdarza się, że będziesz chciał zautomatyzować udostępnianie i konfigurację infrastruktury chmury Vultr. Istnieje mnóstwo narzędzi, jednak Cloud-init jest standardem branżowym używanym do inicjowania i konfigurowania instancji maszyn wirtualnych z danymi użytkownika Często zdarza się, że będziesz chciał zautomatyzować udostępnianie i konfigurację infrastruktury chmury Vultr. Istnieje mnóstwo narzędzi, jednak Cloud-init jest standardem branżowym używanym do inicjowania i konfigurowania instancji maszyn wirtualnych z danymi użytkownika Terraform to narzędzie Infrastructure-as-code, które pozwala użytkownikom bezpiecznie i wydajnie budować, zmieniać i wersjonować infrastrukturę. Wykorzystuje wysokopoziomową składnię do deklaratywnego udostępniania i zarządzania infrastrukturą, umożliwiając podział konfiguracji na mniejsze części w celu lepszej organizacji, ponownego wykorzystania i łatwości konserwacji. Informacje na temat instalowania i uruchamiania Terraform można znaleźć tutaj. Przekazując parametr user_data do pliku Terraform.yaml, możesz użyć automatyzacji do skonfigurowania instancji Vultr podczas uruchamiania. Więcej na ten temat poniżej Używanie Terraform do konfigurowania Cherryserverów z Cloud-init Jeśli Terraform jest preferowaną metodą udostępniania infrastruktury, możesz znaleźć Vultr Terraform Provider w repozytorium Github tutaj W przypadku dowolnego dostawcy infrastruktury, korzystając z Terraform jako narzędzia do obsługi administracyjnej, zawsze trzeba będzie określić blok dostawcy, jak pokazano tutaj: Oto przykładowy moduł, który wykorzystuje dane użytkownika do konfigurowania instancji Vultr podczas uruchamiania: Dzięki temu modułowi masz zasób, który wyznacza vultr_server jako typ zasobu, który chcesz udostępnić, i używa zmiennych, takich jak project_id i user_data, do obsługi udostępniania. Podając ciąg dla user_data, wyznaczasz skrypt startowy, który serwer fizyczny uruchomi podczas uruchamiania Możesz udostępniać nowe serwery za pośrednictwem interfejsu API, aby pobierać dane użytkownika z Vultr za pośrednictwem usługi cloud-init. Pozwala to zautomatyzować różne zadania związane z konfiguracją serwera poprzez pobieranie dyrektyw dotyczących danych użytkownika podczas wdrażania serwera. Podane przez Ciebie zadania zostaną wykonane, gdy serwer uruchomi się po raz pierwszy. Można to zrobić na dwa sposoby — za pomocą skryptów powłoki lub dyrektyw Cloud-init. Porozmawiamy o dyrektywach Cloud-init Dyrektywy Cloud-Init są wykonywane podczas pierwszego uruchomienia serwera, ale ich składnia jest nieco inna. Twój scenariusz musi zaczynać się od wiersza #cloud-config, w przeciwnym razie dyrektywy dotyczące danych użytkownika zostaną odrzucone. W celu uzyskania dalszych informacji polecam sprawdzenie oficjalnej dokumentacji cloud-init: httpscloudinit.readthedocs.io/en/latest/index.html Prostym przykładem skryptu Cloud-init, który zostałby przekazany, jest: Aby przekazać te scenariusze danych do Vultr API, należy je przekonwertować do formatu base64. W systemie Linux wykonaj następujące czynności dla pliku test.yaml: Ten tekst wyjściowy musi następnie zostać pobrany za pomocą parametru user_data Vultr API podczas zamawiania nowego serwera Kładąc wszystko razem Aby zobaczyć to w działaniu, określ dostawcę zasobów, aby móc wyznaczyć Vultr jako platformę, na którą udostępniasz. Twój końcowy skrypt powinien wyglądać tak: To wszystko! Terraform to naprawdę świetne narzędzie do automatyzacji infrastruktury, gdy zrozumiesz składnię i sposób jej działania. Mam nadzieję, że podobał Ci się ten artykuł!