Często zadawane pytania dotyczące szablonów usługi ARM

Ten artykuł zawiera odpowiedzi na często zadawane pytania dotyczące szablonów usługi Azure Resource Manager (szablonów usługi ARM).

Wprowadzenie

Co to są szablony usługi ARM i dlaczego należy ich używać?

Szablony usługi ARM to pliki JSON, w których definiujesz, co chcesz wdrożyć na platformie Azure. Szablony ułatwiają implementowanie rozwiązania infrastruktury jako kodu dla platformy Azure. Organizacja może wielokrotnie i niezawodnie wdrażać wymaganą infrastrukturę w różnych środowiskach.

Aby dowiedzieć się więcej o tym, jak szablony usługi ARM ułatwiają zarządzanie infrastrukturą platformy Azure, zobacz Co to są szablony usługi ARM?

Jak mogę rozpocząć pracę z szablonami?

Aby uprościć tworzenie szablonów usługi ARM, potrzebne są odpowiednie narzędzia. Zalecamy zainstalowanie programu Visual Studio Code i rozszerzenia narzędzi usługi Azure Resource Manager. Aby zapoznać się z szybkim wprowadzeniem do tych narzędzi, zobacz Szybki start: tworzenie szablonów usługi ARM za pomocą programu Visual Studio Code.

Gdy wszystko będzie gotowe do zapoznania się z tworzeniem szablonów usługi ARM, rozpocznij serię samouczków dla początkujących na temat szablonów usługi ARM. Te samouczki umożliwiają wykonanie krok po kroku procesu konstruowania szablonu usługi ARM. Poznasz różne sekcje szablonu i sposób ich współpracy. Ta zawartość jest również dostępna jako moduł learn.

Czy należy używać szablonów usługi ARM lub narzędzia Terraform do wdrożenia na platformie Azure?

Użyj opcji, którą lubisz najlepiej. Obie usługi ułatwiają automatyzację wdrożeń na platformie Azure.

Uważamy, że istnieją korzyści wynikające z używania szablonów usługi ARM w innych usługach infrastruktury jako kodu. Aby dowiedzieć się więcej o tych korzyściach, zobacz Dlaczego warto wybrać szablony usługi ARM?

Kompilacja 2020

Przegapiłem prezentację na konferencji Microsoft Build 2020. Czy prezentacja jest dostępna do wyświetlania?

Gdzie mogę uzyskać więcej informacji na temat nowych funkcji ogłoszonych na stronie Kompilacja?

Aby uzyskać ogólne informacje o funkcjach, które pracujemy, dołącz do grupy Yammer wdrożenia usługi Azure Advisors.

Aby dowiedzieć się więcej o nowym języku szablonu, zarejestruj się w celu otrzymywania powiadomień.

Aby dowiedzieć się więcej na temat specyfikacji szablonu, zobacz Specyfikacje szablonu usługi Azure Resource Manager.

Tworzenie i testowanie szablonów

Gdzie mogę dowiedzieć się więcej o najlepszych rozwiązaniach dotyczących szablonów usługi ARM?

Aby uzyskać zalecenia dotyczące sposobu implementowania szablonów, zobacz Najlepsze rozwiązania dotyczące szablonów usługi ARM. Po utworzeniu szablonu uruchom zestaw narzędzi do testowania usługi ARM. Sprawdza, czy szablon jest zgodny z zalecanymi rozwiązaniami.

Skonfigurowałem środowisko za pośrednictwem portalu. Czy istnieje jakiś sposób pobrania szablonu z istniejącej grupy zasobów?

Tak, można wyeksportować szablon z grupy zasobów. Wyeksportowany szablon jest dobrym punktem wyjścia do nauki o szablonach, ale prawdopodobnie warto go skorygować przed użyciem go w środowisku produkcyjnym.

Podczas eksportowania szablonu możesz wybrać zasoby, które chcesz uwzględnić w szablonie.

Czy mogę utworzyć grupę zasobów w szablonie usługi ARM i wdrożyć w niej zasoby?

Tak, grupę zasobów można utworzyć w szablonie podczas wdrażania szablonu na poziomie subskrypcji platformy Azure. Aby zapoznać się z przykładem tworzenia grupy zasobów i wdrażania zasobów, zobacz Grupa zasobów i zasoby.

Czy mogę utworzyć subskrypcję w szablonie usługi ARM?

Jak mogę przetestować szablon przed jego wdrożeniem?

Zalecamy uruchomienie zestawu narzędzi do testowania usługi ARM oraz operację analizy co-jeżeli w szablonach przed ich wdrożeniem. Zestaw narzędzi do testowania sprawdza, czy szablon używa najlepszych rozwiązań. Zawiera on ostrzeżenia podczas identyfikowania zmian, które mogą poprawić sposób implementacji szablonu.

Operacja analizy co-jeżeli pokazuje zmiany wprowadzone w szablonie w środowisku. Przed ich wdrożeniem można zobaczyć niezamierzone zmiany. Co-jeżeli zwraca również wszelkie błędy, które można wykryć podczas walidacji wstępnej. Jeśli na przykład szablon zawiera błąd składniowy, zwraca ten błąd. Zwraca również wszelkie błędy, które mogą określić stan końcowy wdrożonych zasobów. Jeśli na przykład szablon wdraża konto magazynu o nazwie, która jest już używana, funkcja analizy co-jeżeli zwróci ten błąd.

Gdzie można znaleźć informacje o właściwościach, które są dostępne dla każdego typu zasobu?

Program VS Code zapewnia funkcję IntelliSense do pracy z właściwościami zasobów. Możesz również wyświetlić odwołanie do szablonu dla właściwości i opisów.

Muszę utworzyć wiele wystąpień typu zasobu. Jak mogę utworzyć iterator w szablonie?

Użyj elementu copy, aby określić więcej niż jedno wystąpienie. Możesz użyć kopiowania zasobów, właściwości, zmiennych i danych wyjściowych.

Język szablonu

Słyszałem, że pracujesz nad nowym językiem szablonów. Gdzie mogę dowiedzieć się więcej na ten temat?

Aby dowiedzieć się więcej o nowym języku, zobacz Co to jest Bicep (wersja zapoznawcza)?.

Czy istnieje plan obsługi tworzenia szablonów w języku YAML?

Obecnie nie ma planu obsługi kodu YAML. Uważamy, że nowy język szablonu oferuje rozwiązanie, które jest łatwiejsze do użycia niż YAML lub JSON.

Czy nadal mogę pisać szablony w formacie JSON po wydaniu nowego języka szablonu?

Tak, możesz kontynuować korzystanie z szablonów JSON.

Czy zaoferujesz narzędzie do konwertowania szablonów JSON na nowy język szablonu?

Specyfikacje szablonu

Jak są powiązane specyfikacje szablonów i usługa Azure Blueprints?

Usługa Azure Blueprints będzie używać specyfikacji szablonu w swojej implementacji, zastępując blueprint definition zasób zasobem template spec . Udostępniamy ścieżkę migracji, aby przekonwertować definicję strategii na specyfikację szablonu, ale interfejsy API definicji strategii będą nadal obsługiwane. Brak zmian w zasobie blueprint assignment . Strategie pozostają środowiskiem użytkownika do tworzenia zarządzanego środowiska na platformie Azure.

Czy specyfikacje szablonu zastępują połączone szablony?

Nie, ale specyfikacje szablonów zostały zaprojektowane tak, aby działały dobrze z połączonymi szablonami. Przed wdrożeniem szablonu nadrzędnego nie trzeba przenosić połączonego szablonu do publicznie dostępnego punktu końcowego. Zamiast tego należy spakować szablon nadrzędny i jego artefakty razem podczas tworzenia specyfikacji szablonu.

Czy specyfikacje szablonu mogą być współużytkowane w ramach subskrypcji?

Tak, można ich używać w różnych subskrypcjach, o ile użytkownik ma dostęp do odczytu do specyfikacji szablonu. Nie można używać specyfikacji szablonów w dzierżawach.

Skrypty w szablonach

Czy mogę dołączyć skrypt do szablonu, aby wykonywać zadania, które nie są możliwe w szablonie?

Tak, użyj skryptów wdrażania. Skrypty programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure można uwzględnić w szablonach.

Czy nadal mogę używać niestandardowych rozszerzeń skryptów i konfiguracji żądanego stanu (DSC)?

Te opcje są nadal dostępne i nie zostały zmienione. Skrypty wdrażania są przeznaczone do wykonywania akcji, które nie są związane z gościem maszyny wirtualnej. Jeśli musisz uruchomić skrypt w systemie operacyjnym hosta na maszynie wirtualnej, rozszerzenie niestandardowego skryptu i/lub ROZSZERZENIE DSC byłoby lepszym wyborem. Jednak skrypty wdrażania mają zalety, takie jak ustawianie limitu czasu trwania.

Czy skrypty wdrażania są obsługiwane w usłudze Azure Government?

Tak, możesz użyć skryptów wdrażania w us Gov Arizona i US Gov Virginia.

Podgląd zmian przed wdrożeniem

Czy mogę wyświetlić podgląd zmian, które mają miejsce przed wdrożeniem szablonu?

Tak, użyj funkcji analizy co-jeżeli. Ocenia bieżący stan środowiska i porównuje go ze stanem, który będzie istniał po wdrożeniu. Możesz sprawdzić podsumowane zmiany, aby upewnić się, że szablon nie ma żadnych nieoczekiwanych wyników.

Czy mogę użyć warunkowych i pełnych trybów?

Tak, oba tryby wdrażania są obsługiwane. Aby zapoznać się z przykładem korzystania z trybu przyrostowego, zobacz Run what-if operation (Uruchamianie operacji analizy co-jeżeli). Aby zapoznać się z przykładem korzystania z trybu pełnego, zobacz Potwierdzanie usunięcia.

Czy co-jeżeli działa z połączonymi szablonami?

Tak, warunkowa ocena stanu szablonu nadrzędnego i jego połączonych szablonów.

Czy mogę użyć analizy warunkowej w usłudze Azure Pipeline?

Tak, możesz użyć analizy warunkowej, aby sprawdzić, czy potok powinien być kontynuowany.

Gdy używam analizy co-jeżeli, widzę zmiany we właściwościach, które nie są w szablonie. Czy ten "szum" jest oczekiwany?

Pracujemy nad zmniejszeniem hałasu. Pomożesz nam ulepszyć, przesyłając problemy w naszym repozytorium GitHub tutaj: https://aka.ms/WhatIfIssues

Wizualizator szablonów

Czy istnieje sposób wizualizacji szablonu usługi ARM i jego zasobów?

Mamy rozszerzenie programu VS Code współautora społeczności, które doskonale nadaje się do wizualizowania szablonu usługi ARM. Przedstawia on wdrażane zasoby i relacje między nimi.

Czy mogę użyć wizualizatora szablonów poza programem VS Code?

Wizualizator szablonów jest w wersji zapoznawczej w portalu. Aby uzyskać więcej informacji, obejrzyj tę krótką sesję z kompilacji.

Limity wdrażania

Ile grup zasobów można wdrożyć w ramach jednej operacji wdrażania?

W przeszłości ten limit wynosił pięć grup zasobów. Ostatnio wzrosła do 800 grup zasobów. Aby uzyskać więcej informacji, zobacz Tworzenie grup zasobów i zasobów na poziomie subskrypcji.

Wystąpił błąd dotyczący ograniczenia do 800 wdrożeń w historii wdrażania. Co mam robić?

Zmieniamy sposób przechowywania historii wdrażania dla grupy zasobów. W przeszłości trzeba było ręcznie usunąć wdrożenia z tej historii, aby uniknąć tego błędu. Od czerwca 2020 r. automatycznie usuniemy wdrożenia z historii, gdy zbliżasz się do limitu. Aby uzyskać więcej informacji, zobacz Automatyczne usuwanie z historii wdrożenia.

Usunięcie wdrożenia z historii nie ma wpływu na wdrożone zasoby.

Szablony i metodyka DevOps

Czy mogę zintegrować szablony usługi ARM z usługą Azure Pipelines?

Czy mogę użyć funkcji GitHub Actions do wdrożenia szablonu?

Następne kroki

Aby zapoznać się z wprowadzeniem do szablonów usługi ARM, zobacz Co to są szablony usługi ARM?.