Udostępnij za pośrednictwem


Środowisko

Środowisko ma rangę 1. Środowisko odpowiada wdrożeniu Resource Manager.

Usługa CycleCloud może teraz zarządzać wdrożeniami usługi Azure Resource Manager przy użyciu szablonów usługi ARM. Te środowiska można odwoływać się z obiektów szablonów CycleCloud.

Chociaż środowisko ma rangę 1, obiekt klastra jest wymagany w pliku szablonu klastra.

Przykład

[environment vnet]
  ManagedLifecycle=true
  TemplateURL = az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json
  ParameterValues.backendIpAddress1 = 10.0.1.4
  VariableOverrides.virtualNetworkName = azure-vnet

[environment appgateway]
  TemplateURL = https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-application-gateway-waf/azuredeploy.json
  ParameterValues.virtualNetworkName = ${vnet.Parameters.virtualNetworkName}

[environment existing]
  Azure.ResourceGroup = existingrg
  ManagedLifecycle = false

[cluster my-cluster]

Element $ jest odwołaniem do nazwy parametru. Jest ${} to inny sposób odwoływania się do nazwy parametru i umożliwia odwołanie do środowiska.

Te przykłady spowodują uruchomienie szablonu usługi ARM istniejącego w lokalizacji az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json jako wdrożenie usługi ARM i pod warunkiem, że zasoby i dane wyjściowe są zagnieżdżone w zmiennej vnet .

Odwołanie do atrybutów

Atrybut Typ Definicja
Poświadczenia Ciąg Nazwa konta dostawcy usług w chmurze
Region Ciąg Lokalizacja platformy Azure, np. westus2
TemplateURL Ciąg Prawidłowy adres URL lokalizacji szablonu usługi ARM w Internecie. Użyj tylko jednego atrybutu Template*.
TemplateContents Ciąg Odczytaj kod json szablonu jako ciąg z @parametername odwołaniem. Użyj tylko jednego atrybutu Template*.
TemplatePath Ciąg Do użytku z funkcją Locker. Dołącza ścieżkę do funkcji locker dla lokalizacji szablonu arm. Użyj tylko jednego atrybutu Template*.
Locker Ciąg Do użycia z TemplatePath. Obsługuje ściąganie szablonu ramienia z funkcji locker.
Parametervalues. Parametr usługi ARM ParameterValues.my-parametr, w którym parametr my-parameter jest parametrem. Parametry w szablonach usługi ARM obsługują ciąg, listę, liczby całkowite, wartość logiczną.
Zmienne przesłonięcia. Zmienna ARM VariableOverrides.my zmienna, w której zmienna my-variable jest nazwą zmiennej w szablonie usługi ARM. Zmienne w szablonach usługi ARM obsługują ciąg, listę, liczby całkowite, wartość logiczną.
ParameterizeVariables Wartość logiczna Użyj z wartościami VariableValues. Uwidaczniaj zmienne szablonu usługi ARM w menu interfejsu użytkownika klastra i szablonie klastra.
VariableValues. Zmienna ARM VariableValues.my zmienna. Alternatywa dla zmiennychPrzesłonięcia. Użyj z parametramiVariables.
Azure.ResourceGroup Ciąg Nazwa grupy zasobów platformy Azure do wdrożenia.
ManagedLifecycle Wartość logiczna Do użycia z istniejącym wdrożeniem. Wartość domyślna to „true”.
Nazwa Ciąg Nazwa grupy zasobów przed wyjściem.
Tagi. Ciąg Służy tags.my-tag = my-tag-value do dodawania tagów do grupy zasobów zawierającej wdrożenie oprócz tagów przypisanych do usługi CycleCloud domyślnie.

W przypadku wstępnie istniejących wdrożeń nazwa obiektu środowiska odwołuje się do nazwy wdrożenia usługi ARM.

Korzystanie z zasobów i danych wyjściowych środowiska

[environment vnet]
  ManagedLifecycle=true
  TemplateURL = az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json

[cluster my-cluster]
    [[node proxy]]
        IsReturnProxy = True
        SubnetId = ${vnet.resources.'azure-vnet/ProxySubnet'.id}

Po modelu wdrażania usługi ARM środowiska będą tworzyć zasoby i uwidaczniać te zasoby innym obiektom szablonu klastra do użycia.

Korzystając z ${} notacji, można następnie odwołać się do utworzonych zasobów usługi ARM w ich natywnym schemacie.

Atrybut Definicja
Wyjść. Użyj polecenia as ${environment-name.Outputs.my-output} w szablonie, w którym my-output jest nazwą danych wyjściowych w szablonie usługi ARM.
Zasoby. Użyj wartości w ${environment-name.Resources.my-resource-name.key1.key2} formacie w szablonie, w którym my-resource-name jest nazwą zasobu w szablonie usługi ARM i klucz1, klucz2 są powiązanymi kluczami w obiekcie zasobu.

Odwoływania się do zasobów zagnieżdżonych

Środowiska zarządzane przez usługę CycleCloud są reprezentowane przez zagnieżdżonych struktur danych. Często warto odwoływać się do danych w tej strukturze.

[environment db]
TemplateContents = @raw-db-json
ParameterValues.DBName = @DBNameParameter

[cluster my-cluster]
  [[node my-node]]

     SubnetId = ${network.resources.'vnet/ComputeSubnet'.id}

     [[[configuration database]]]
        connection_string = ${db.Outputs.JDBCConnectionString}
        database_id = ${db.resources[ClusterName].id}

Indeksy zagnieżdżonych zmiennych mogą zależeć od tworzonego typu zasobu usługi ARM. env.resources.my-resource-name.id, env.resources['my-resource-name'].idenv.resources[MyResourceParam] to wszystkie prawidłowe formaty odwołań do zagnieżdżonych zmiennych.