Skip to main content

Posts

Showing posts from June, 2019

Deploy Azure Kubernetes Services with an ARM template and Visual Studio

In 2019, Infrastructure As Code (or as some call it, Configuration Management) is gaining massive popularity. We've always had some form of it, in one way or another. In a DevOps-leading technology world, we have two primary responsibilities. Ship the product and automate as much as possible. With that, we need a fast and reliable way to automate infrastructure. Today we're going to automate spinning up an AKS (Azure Kubernetes Services) cluster with ARM templates.

What are ARM templates you may ask? ARM templates are Azure's Infrastructure-As-Code/Configuration Management solution (much like CloudFormation in AWS). ARM is made up of JSON and allow you to spin up pretty much anything you'd like in Azure. It gives you the ability to specify parameters as well so you can pass in args at runtime.

Because ARM is a Microsoft product, it fits in VERY nicely with Visual Studio. Today we're going to use Visual Studio to pull down a generic template and spin up a Kubernetes…

Creating a Docker Swarm Cluster

Today we're going to be spinning up Docker Swarm! Docker Swarm is an orchestration platform (like Kubernetes) that allows you to manage a containerized environment. In 2019, I believe that Kubernetes is far more popular in the world of DevOps, but I still want to see what Docker Swarm is all about.. so let's get started!

Prerequisites;
1. Three Linux machines (I'm using Ubuntu 18.04.1 LTS servers)
2. Docker 1.12 or newer installed on all machines. At the  time of writing this, I have version 10.06.1-ce (ce stands for community edition)
3. SSH access to said machines
4. The following ports open; TCP port 2377, TCP/UDP port 7946, and UDP port 4789
5. Some type of naming convention - Because we're going to have a manager machine, pick a naming convention that is easy to remember. For example, I named my VM's dockerswarm01, dockerswarm02, and dockerswarm03. dockerswarm01 will be the management machine

For step 1, let's go ahead and SSH into each of the Linux machine…