9a59349e34 | ||
---|---|---|
app | ||
cluster-bootstrap | ||
cluster-management | ||
gitops-baseconfig | ||
gitops-clusterconfig | ||
observability | ||
presentation | ||
security | ||
servicemesh | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
README.md | ||
SECURITY.md |
README.md
WORK IN PROGRESS
This repo is a WORK IN PROGRESS.
AKS Production Patterns
This repo was created to help organizations understand the patterns they will need to think about as they move AKS workloads into production.
Sections
The repo has been broken into 4 distinct patterns that we are seeing as our more mature customers adopt AKS. The sections do not have to be done in order, they stand by themselves.
Sample Agenda
The following is a sample agenda of what a 2-day engagement might look like.
Day 1
- Review of base AKS platform capabilities and configuration (15 minutes)
- Production Ready AKS Architecture Overview & Networking Design (45 Mins)
- Cluster Management (~ 1/2 Day)
- Namespaces, RBAC, Limits, Quotas
- GitOps and Multicluster Management
- Cluster and Nodepool Upgrades / Patching
- Cost Management
- Cluster Management Hands-on Challenge
- Future – Azure Arc for Kubernetes
- Observability (~ 1/2 Day)
- Logging & Monitoring Tooling at Cluster/Node/Pod Levels
- Logs vs Metrics vs Dashboarding
- Azure Monitor for Containers
- Prometheus + Grafana
- Alerting (Logs, Metrics, Policy)
- Threat detection
- App Telemetry
- Observability Hands-on Challenge
Day 2
- Security (~ 1/2 Day)
- Kubernetes Policy (OPA + Gatekeeper)
- Secrets Management – AAD Pod Identity + Key Vault
- Image Management – Build-time & Run-time Scanning
- Security Hands-on Challenge
- Future – AKS + Azure Policy + Azure Container Registry
- Service Mesh (~ 1/2 Day)
- Do I need it?
- Capabilities
- Planning for Service Mesh
- Service Mesh Hands-on Challenge
- Service Mesh Interface (SMI)
- Wrap-up (30 mins)
- Goals & Summary
- Share Lessons Learned
Prerequisites
The following are the requirements to start.
-
REQUIRED: AKS Cluster Provisioned in an Azure Subscription before day of Workshop
- Either a basic cluster using the basic AKS cluster bootstrapping script
- Or the advanced networking cluster with Egress and Ingress configured
-
Azure Account Azure Portal
- Ability to create AKS Clusters
- Ability to create Azure Service Principals or access to one that can create AKS Clusters
-
Azure CLI Install CLI
- Minimum Version: 2.1.0
- AKS Preview Extension: 0.4.30
- Firewall Extension Version: 0.3.0
-
Kubectl CLI Install kubectl with Azure CLI
- Minimum Version: 1.15.0
-
Git Git SCM
- Minimum Version: 2.22
-
GitHub Account GitHub Account
- Required for GitOps Approach to Multi-Cluster Management
-
Docker Community Edition (CE)Install CE
-
Code Editor Install VS Code
Fork the Repo
It is important to Fork this repo, not just clone it. You will be creating Personal Access Tokens, which in turn will be creating SSH keys, and they will be used to make changes to a GitHub repo.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Microsoft Open Source.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.