Skip to content

Azure Arc-enabled Kubernetes MicroHack: comprehensive fixes and improvements#338

Merged
ASchwarz1984 merged 76 commits intomicrosoft:mainfrom
skiddder:main
Apr 20, 2026
Merged

Azure Arc-enabled Kubernetes MicroHack: comprehensive fixes and improvements#338
ASchwarz1984 merged 76 commits intomicrosoft:mainfrom
skiddder:main

Conversation

@skiddder
Copy link
Copy Markdown
Contributor

Summary

Comprehensive updates to the Azure Arc-enabled Kubernetes MicroHack (03_Hybrid_Azure_Arc_Kubernetes).

Changes

Infrastructure & Lab Environment

  • Add Windows 11 workstation VM, Azure Bastion, and Ansible provisioning
  • Add explicit NSG rules for node communication
  • Replace public IP addresses with private IPs (SSH tunnel approach)
  • Fix Terraform destroy issue for shut-down VMs
  • Fix naming conventions and cleanup script for manually created resources
  • Fix user_number extraction logic to handle various username patterns

Challenges & Walkthroughs

  • Validate solution steps use correct resource names consistently
  • Fix links between challenges and solutions
  • Fix spelling and description issues across challenges
  • Update challenge 3 content
  • Add team1 namespace configuration (challenge 5)

General

  • Arc Gateway is now GA and supports arc-enabled Kubernetes
  • Fix Helm deployment without LoadBalancer
  • Fix Ansible playbook issues and trailing \r characters
  • Fix regex for general usernames

Fixes #2, #4, #5

skiddder and others added 28 commits February 2, 2026 15:34
tags to avoid SSH port closure
updated setup read.me
scp syntax fix
fixed logic to test for az cli extensions
fixed links
added workaround for cli bug in k8s policy assignment
fix for helm deployment without loadbalancer
added cleanup script for manually created resources
fixed terraform destroy issue for shut-down vms
- Terraform: Windows 11 Pro VM per participant with WinRM for Ansible
- Terraform: Central Azure Bastion (Standard SKU) with VNet peering to all participant VNets
- Ansible: Playbook to install Git, VS Code, WSL2 (via Chocolatey), Ubuntu, Azure CLI, kubectl, Helm
- Ansible: Auto-generated inventory and Bastion tunnel helper script
- NSGs: RDP/WinRM restricted to Bastion subnet, SSH/K3s API restricted to VirtualNetwork
- Updated readme with architecture, deployment steps, and security notes
- start_here.sh: Auto-create provider.tf from template if missing

Closes #3
- solution steps use correct resource names consistantly. Fixes #2
- links between challenges and solutions work. Fixes #4
- fixed ansible pb issues
- fixed trailing \r
- replaces public with private ip addresses
# Conflicts:
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/Readme.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/challenges/challenge-01.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/challenges/challenge-02.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/challenges/challenge-03.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/challenges/challenge-04.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/challenges/challenge-05.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/k3s-master-setup.sh
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/k3s-worker-setup.sh
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/k8s-cluster.tf
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/provider-template.txt
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/readme.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/start_here.sh
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/lab/variables.tf
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/walkthrough/challenge-01/az_connect_k8s.sh
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/walkthrough/challenge-01/solution.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/walkthrough/challenge-02/solution.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/walkthrough/challenge-03/solution.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/walkthrough/challenge-04/solution.md
#	03-Azure/01-03-Infrastructure/03_Hybrid_Azure_Arc_Kubernetes/walkthrough/challenge-05/solution.md
Copy link
Copy Markdown
Collaborator

@ASchwarz1984 ASchwarz1984 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thx

@ASchwarz1984 ASchwarz1984 merged commit 6f38cc0 into microsoft:main Apr 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants