Skip to main content

6 posts tagged with "arm"

View All Tags

· 2 min read
Piotr Rogala

Debug natywnych szablonów ARM jest ciężkim procesem dla wielu osób. Utrzymanie infrastruktury jako kod również nie jest prostą sprawą, dlatego często używa się Terraforma dla wdrożeń w Microsoft Azure.

Szablony ARM nie posiadają pliku stanu jak to jest w Terraform dlatego często spotykam się z opinią, że, ARM'y są beznadziejnie. Po wdrożeniu trudno jest utrzymać stały rozwój infrastruktury z tego samego szablonu oraz często problemem jest przewidywalność co się stanie z obiektami, które już masz. Nie będę się rozwodził co lepsze co gorsze, ponieważ wiele zależy od naszej wiedzy, podejścia, problemu lub zlecenia, które wykonujemy. Jako Inżynier nie przywiązuje się do rozwiązań i uważam, że do każdego problemu należy podchodzić indywidualnie. Moim zdaniem najlepsze rozwiązania to rozwiązania natywne nie wymagające tworzenia koła na nowo. Stąd zachęcam do pisania szablonów ARM dla Azure.

Jako pomoc w tworzeniu infrastruktury jako kod (IaC) w Microsoft Azure polecam zapoznać się z modułem PowerShell: ARMHelper

https://www.powershellgallery.com/packages/ARMHelper/0.6.2

Za pomocą komendy: Test-ARMExistingResource możemy zbudować polecenie, które sprawdzi nam wskazany szablon w kontekście z deploy'owanych zasobów w Azure i wyświetli co się stanie. Przykład poniżej przedstawia stworzoną resource groupe bez zasobów:

Użyłem szablonu z mojego repo: https://github.com/RogalaPiotr/JustCloudPublic/tree/master/simple-vm-shutdown-on-time
Wykonuje kolejno komendy:

· 7 min read
Piotr Rogala

Wszyscy który robią depyolemnty z VSTS spotykają się z sytuacją, kiedy standardowe 240min się kończy i trzeba stworzyć sobie taką maszynę. Sam robiłem taką maszynę parę razy i kiedy znów pojawiła się ta konieczność postanowiłem stworzyć automatyczny deployment który nam stworzy z JSON'a cała maszynkę i podepnie ją do Agent pool w VSTS.

Miałem parę pomysłów, aby zrobić bardzo uniwersalny template który nie tylko przyda się wam, ale również mi w przyszłości do budowania innych szablonów. Także w skrócie opiszę ciekawostki które zastosowałem szablonie, który znajdziecie na moim GitHubie.

GitHubhttps://github.com/RogalaPiotr/JustCloudPublic/tree/master/simple-vm-with-installation-vsts-agent

Założenie dotyczące szablonu: chciałbym dodać informację, gdzie ważnym jest zwrócenie uwagi, że maszyna ma być odizolowana od naszej sieci wewnętrznej, dlatego szablon jest infrastruktura stand alone, aby było bezpiecznie i w razie czego można ją usuną lub powołać więcej agentów do deployment’ów.

· 3 min read
Piotr Rogala

Szablony ARM mają nam pomać w pracy dlatego kiedy testuję wiele szablonów zdarza mi się, że zapominam o resource'ach, które utworzyłem w Azure co powoduje, że marnuję pieniądzę na subskrypcji. Powodem są zazwyczaj późne godziny pracy i przemęczenie, a później te z deploy'owane wirtualki działają przez parę dni nic nie robiąc. Dlatego postanowiłem sobie pomóc i do każego deploy'mentu dodaję wpis który wyłączy wirtualkę o jakiejś godzinie. Poniższy przykład zaprezentuje deplyment Windows'a 2016 z manage disk'iem i "Microsoft.DevTestLab/schedules".

W poprzendich moich postach możesz przeczytać jak zalogować się do Azure za pomocą PowerShell i CLI oraz jak używać do deploymentów Visual Studio Code i Visual Studio.

Przydatne linki:

Źródła:

· 3 min read
Piotr Rogala

Ten wpis jest przeznaczony dla osób chcących nauczyć się tworzenia szablonów ARM'owych do deploy'owania w Azure. Visual Studio ma tylko nam pomóc w pracy z szablonem natomiast moim zdaniem przydaje się na początku pracy z ARM oraz przy rozbudowanych szablonach. Po pierwsze podczas edycji plików .json w VS zobaczymy strukturę całego szablonu co pomoże nam zrozumieć co potrzebujemy, żeby działał poprawnie. Po drugie gdy mamy bardzo duże szablony VS pomaga nam odnaleźć się w nim poprzez JSON Outline, w którym w wygodny sposób możemy sprawdzić wszystkie elementy: parameters, variables, resources.

Cel: Stworzyć czysty szablon ARM z wykorzystaniem Visual Studio 2017.

Do realizacji celu potrzebujemy:

Utworzenie projektu nie jest niczym nadzwyczajnym poza wybraniem odpowiedniego template'a. Aby utworzyć projekt związany z szablonem ARM należy wybrać z grupy Cloud: Azure Resource Group.

· One min read
Piotr Rogala

Jeśli nie mogliście być na AzureDay North Poland 2016 zapraszam do obejrzenia mojej sesji która została umieszczona na 9channel. Podczas sesji dowiecie się jak działa ARM w Azure oraz jakimi sposobami można deployować własne środowiska. Podczas sesji zauważycie trochę error-ów, które są spowodowane błędnymi nazwami używanymi w konsoli. Jeśli masz problem z deploymentami, zapraszam do dyskusji w komentarzach. Dziękuję wszystkim który przybyli na moją sesję i do zobaczenia na meetupach, które organizuje we Wrocławiu więcej informacji tutaj: http://www.meetup.com/Microsoft-Azure-Users-Group-Poland/ .

https://channel9.msdn.com/Events/Azure-Day-Poland/AzureDay-North-Poland-2016/Azure-Resource-Manager-JSON-Automation/player

· 2 min read
Piotr Rogala

Każdy prawdziwy admin powinien korzystać nie tylko z okienek, a między innymi z PowerShell-a. Dlatego napiszę parę słów na temat zarządzania Azure-m oraz zaprezentuję jak łatwo można się połączyć z Azure za pomocą konsoli PS. W dwóch stepach opiszę co należy zrobić, aby zrobić to szybko i ze zrozumieniem tematu.

Małe wprowadzenie: Azure przechodzi domyślnie w tryb kontenerowy tak zwany Resource Groups nazywany też ARM czyli Azure Resource Manager. Z punktu widzenia architekta, admina, specjalisty IT zmienia to wiele rzeczy począwszy od poleceń PowerShell-owych, aż po budowanie aplikacji w chmurze. Wszystkich wnikliwych informacji dowiemy się na stronach MS natomiast my skupimy się jak postawić pierwsze kroki w Azure poprzez konsolkę PS.

Step 1: Po pierwsze potrzebujemy Powershell dla Azure, który ściągniemy tutaj: https://github.com/Azure/azure-powershell/releases/download/v1.0.2-December2015/azure-powershell.1.0.2.msi

Step 2: Podłączyć się do Azure możemy dwoma komendami, które umożliwią nam zarządzanie naszymi subskrypcjami.

  • Add-AzureAccount (tryb normalny ASM)
  • Login-AzureRmAccount (tryb kontenerowy ARM)