Azure Arc is a great tool to manage your on-premises hardware with Azure. This series will focus on managing a Kubernetes (k3s) cluster and will show how to install Azure Arc, and how to use different Azure services to manage the cluster.
The project for this demo has the following requirements and restrictions:
- Two on-premises Ubuntu 20.04 VMs
- Install and manage a Kubernetes distribution
- Developers must use CI/CD pipelines to deploy their applications
- A firewall blocks all inbound traffic
- Outbound traffic is allowed only on port 443
- Application logging
- Monitor Kubernetes and Vms metrics
- Alerting if something is wrong
The biggest problem with these restrictions is that the firewall blocks all inbound traffic. This makes the developers’ life way hard, for example, using a CD pipeline with Azure DevOps won’t work because Azure DevOps would push the changes from the internet onto the Kubernetes cluster.
All these problems can be solved with Azure Arc though. Let’s see how to implement all this requirements from start to finish.
- Install Azure Arc on k3s on-premises cluster
- Access k3s through Azure Arc
- GitOps with Flux
- CD with Helm Charts using Flux
- Collecting Metrics from the k3s cluster
- Azure Monitoring