Wdrażanie wystąpienia systemu Ubuntu platformy Google Cloud Platform i łączenie go z usługą Azure Arc przy użyciu planu terraform
Ten artykuł zawiera wskazówki dotyczące używania dostarczonego planu narzędzia Terraform do wdrażania wystąpienia platformy Google Cloud Platform (GCP) i łączenia go jako zasobu serwera z obsługą usługi Azure Arc.
Wymagania wstępne
Sklonuj repozytorium Azure Arc Jumpstart.
git clone https://github.com/microsoft/azure_arc.git
Zainstaluj lub zaktualizuj interfejs wiersza polecenia platformy Azure do wersji 2.7 lub nowszej. Użyj następującego polecenia, aby sprawdzić bieżącą zainstalowaną wersję.
az --version
Generowanie klucza SSH (lub używanie istniejącego klucza SSH)
Utwórz jednostkę usługi platformy Azure.
Aby połączyć maszynę wirtualną GCP z usługą Azure Arc, wymagana jest jednostka usługi platformy Azure przypisana z rolą Współautor. Aby go utworzyć, zaloguj się do konta platformy Azure i uruchom następujące polecenie. To polecenie można również uruchomić w usłudze Azure Cloud Shell.
az login az account set -s <Your Subscription ID> az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
Na przykład:
az ad sp create-for-rbac -n "http://AzureArcGCP" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
Dane wyjściowe powinny wyglądać podobnie do poniższych:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcGCP", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Uwaga
Zdecydowanie zalecamy określanie zakresu jednostki usługi do określonej subskrypcji platformy Azure i grupy zasobów.
Tworzenie nowego projektu GCP
Przejdź do konsoli interfejsu API Google i zaloguj się przy użyciu konta Google. Po zalogowaniu utwórz nowy projekt o nazwie
Azure Arc demo
. Po jego utworzeniu pamiętaj, aby skopiować identyfikator projektu, ponieważ zwykle różni się on od nazwy projektu.Po utworzeniu nowego projektu i wybraniu go na liście rozwijanej w górnej części strony należy włączyć dostęp do interfejsu API aparatu obliczeniowego dla projektu. Kliknij pozycję + Włącz interfejsy API i usługi i wyszukaj aparat obliczeniowy. Następnie wybierz pozycję Włącz , aby włączyć dostęp do interfejsu API.
Następnie skonfiguruj klucz konta usługi, którego narzędzie Terraform będzie używać do tworzenia zasobów w projekcie GCP i zarządzania nimi. Przejdź do strony tworzenia klucza konta usługi. Z listy rozwijanej wybierz pozycję Nowe konto usługi, nadaj mu nazwę, wybierz pozycję projekt, a następnie wybierz pozycję Właściciel jako rolę, plik JSON jako typ klucza, a następnie wybierz pozycję Utwórz. Spowoduje to pobranie pliku JSON ze wszystkimi poświadczeniami, które będą potrzebne do zarządzania zasobami przez program Terraform. Skopiuj pobrany plik JSON do
azure_arc_servers_jumpstart/gcp/ubuntu/terraform
katalogu.Na koniec upewnij się, że klucze SSH są dostępne w nazwach
~/.ssh
i iid_rsa.pub
id_rsa
. Jeśli wykonanossh-keygen
powyższe instrukcje, aby utworzyć klucz, powinno to być już skonfigurowane poprawnie. Jeśli nie, może być konieczne zmodyfikowaniemain.tf
, aby użyć klucza z inną ścieżką.
Wdrożenie
Przed wykonaniem planu programu Terraform należy wyeksportować zmienne środowiskowe, które będą używane przez plan. Te zmienne są oparte na właśnie utworzonej jednostce usługi platformy Azure, subskrypcji i dzierżawie platformy Azure oraz nazwie projektu GCP.
Pobierz identyfikator subskrypcji platformy Azure i identyfikator dzierżawy
az account list
przy użyciu polecenia .Plan narzędzia Terraform tworzy zasoby zarówno na platformie Microsoft Azure, jak i w usłudze Google Cloud Platform. Następnie wykonuje skrypt na maszynie wirtualnej GCP w celu zainstalowania agenta usługi Azure Arc i wszystkich niezbędnych artefaktów. Ten skrypt wymaga pewnych informacji na temat środowiska GCP i platformy Azure. Edytuj
scripts/vars.sh
i aktualizuj każdą ze zmiennych przy użyciu odpowiednich wartości.TF_VAR_subscription_id
= identyfikator subskrypcji platformy AzureTF_VAR_client_id
= identyfikator aplikacji jednostki usługi platformy AzureTF_VAR_client_secret
= hasło jednostki usługi platformy AzureTF_VAR_tenant_id
= identyfikator dzierżawy platformy AzureTF_VAR_gcp_project_id
= identyfikator projektu GCPTF_VAR_gcp_credentials_filename
= nazwa pliku JSON poświadczeń GCP
Z poziomu interfejsu
azure_arc_servers_jumpstart/gcp/ubuntu/terraform
wiersza polecenia przejdź do katalogu sklonowanego repozytorium.Wyeksportuj edytowane zmienne środowiskowe, uruchamiając polecenie
scripts/vars.sh
źródłowe, jak pokazano poniżej. Narzędzie Terraform wymaga, aby plan był prawidłowo wykonywany. Należy pamiętać, że ten skrypt zostanie również automatycznie wykonany zdalnie na maszynie wirtualnej GCP w ramach wdrożenia narzędzia Terraform.source ./scripts/vars.sh
terraform init
Uruchom polecenie , które pobierze dostawcę modułu AzureRM programu Terraform.Następnie uruchom
terraform apply --auto-approve
polecenie i poczekaj na zakończenie planu. Po zakończeniu będziesz mieć wdrożoną i połączoną maszynę wirtualną Z systemem Ubuntu GCP jako nowy serwer z obsługą usługi Azure Arc w nowej grupie zasobów.Otwórz witrynę Azure Portal i przejdź do
arc-gcp-demo
grupy zasobów. Maszyna wirtualna utworzona w GCP będzie widoczna jako zasób.
Wdrożenie częściowo zautomatyzowane (opcjonalne)
Jak można zauważyć, ostatnim krokiem przebiegu jest zarejestrowanie maszyny wirtualnej jako nowego zasobu serwera z obsługą usługi Azure Arc.
Jeśli chcesz demo/kontrolować rzeczywisty proces rejestracji, wykonaj następujące czynności:
W szablonie skryptu oznacz sekcję
install_arc_agent.sh.tmpl
jakorun connect command
komentarz i zapisz plik.Uzyskaj publiczny adres IP maszyny wirtualnej GCP, uruchamiając polecenie
terraform output
.SSH maszyny wirtualnej przy użyciu adresu
ssh arcadmin@xx.xx.xx.xx
xx.xx.xx.xx
IP hosta.Eksportowanie wszystkich zmiennych środowiskowych w programie
vars.sh
Uruchom następujące polecenie:
azcmagent connect --service-principal-id $TF_VAR_client_id --service-principal-secret $TF_VAR_client_secret --resource-group "Azure Arc gcp-demo" --tenant-id $TF_VAR_tenant_id --location "westus2" --subscription-id $TF_VAR_subscription_id
Po zakończeniu maszyna wirtualna zostanie zarejestrowana w usłudze Azure Arc i widoczna w grupie zasobów za pośrednictwem witryny Azure Portal.
Usuwanie wdrożenia
Aby usunąć wszystkie zasoby utworzone w ramach tego pokazu terraform destroy --auto-approve
, użyj polecenia , jak pokazano poniżej.
Alternatywnie można usunąć maszynę wirtualną GCP bezpośrednio z konsoli GCP.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla