/kubernetes

A repository of various K8S setups and configurations

Primary LanguageHCLMIT LicenseMIT

Overview

A set of example Kubernetes clusters with a focus on Azure AKS and CNCF projects. Most of these examples require Terraform so requires a working knowledge of that tooling and how it is used with Azure/GCP. This repository also contains a few applications that can be used to demostrate various capabilities

Tooling

AKS

Directory Description
Azure Backups A demo of AKS Backups deployment
Azure ML Extensions An example Azure ML Studio connectedt to an AKS cluster with the Azure Machine Learning extension added
Basic An simple example AKS cluster for testing
Premium A Quick and Dirty method to upgrade an AKS cluster to Premium Tier for Long Term Support
Chaos Studio A set of ARM templates to onboard Chaos studio to an AKS cluster with a few experiments enabled
Cilium An example AKS cluster with Cilium enabled
Container Storage An example AKS cluster with Azure Managed Container Storage (Preview) created.
HTTP Proxy An example AKS cluster created with an HTTP Proxy. Sample includes configurations for a basic Squid proxy running on an Azure VM
Istio An example AKS cluster with Managed Service Mesh installed. Outdated. Use AKS with Istio instead
Kata An example AKS cluster with AKS Isolated or Kata Containers (Preview)
Keyvault CSI Example An example AKS cluster with the Azure Keyvault CSI driver installed. Includes a demo app to mount the secrets
Keyvault Traefik Demo An example AKS cluster with the Azure Keyvault CSI driver to mount a certificate for Traefik Ingress Controller
Managed Prometheus An example AKS cluster with Azure Managed Prometheus and Azure Managed Grafana
Multi-Cluster Multi-Region An example AKS Fleet Manager for muliple regions
Multi-Cluster Patching An example AKS Fleet Manager for patch managment
Node Auto Provisioner An example Karpenter with AKS
Proximity Groups An example AKS cluster deployed to a single AZ in an Azure region then grouped closely within the datacenter using Proximity Groups
SPN Auth An example how to authenticate to an AKS cluster using Service Principals. Outdated
Storage Class Removal An example how to remove storage classes from an AKS cluster. Outdated
Windows 2022 An example AKS cluster with Windows 2022 node pools
Dapr An example AKS cluster with Dapr Extension installed

Container Apps

Directory Description
Basic A basic Container App Environment
Jobs A Container App Environment for jobs - TBD
NAT An internal Container App Environment with a NAT Gateway for Egress control
Workload Profile A workload profile Container App Environment with an Azure Firewall for egress control
Workload Profile - Consumption A workload profile Container App Environment with an Azure Firewall for egress control using Consumption plan only

GKE

Directory Description
Basic A simple GKE cluster for testing and comparisons only.

Demo Apps

  • eshop - A sample application from Microsoft to demonstrate various Azure services
  • httpbin - A simple web application to test various HTTP calls (http://httpbin.org/)
  • mssql - An example on how to deploy SQL Server in an Always On configuration Outdated
  • nodejs - A very basic Nodejs API container
  • otel-prometheus - An example app using Open Telemetry to export metrics to Prometheus

Kubernetes Specific

  • Namespace - Examples on Namespace configs
  • Network Policies - Example Network policies
  • Pods - Example pods
  • Roles - Examples using Kubernetes RBAC
  • Windows - Window containers examples