Was ist AKS?
Azure Kubernetes Service (AKS) ist Microsofts managed Kubernetes. Microsoft verwaltet die Control Plane (API Server, etcd) – Sie verwalten nur Worker Nodes und Ihre Workloads.
AKS vs. selbst betriebenes K3s
| Merkmal | K3s (selbst) | AKS |
|---|---|---|
| Setup | Einfach | Einfach (az CLI) |
| Control Plane | Selbst verwalten | Microsoft managed |
| Updates | Manuell | Semi-automatisch |
| Azure-Integration | Manuell | Native (ACR, RBAC...) |
| Kosten | VM-Kosten | VM-Kosten + ~0,10 €/h (Uptime SLA) |
AKS Cluster erstellen
# Cluster mit System-Node-Pool
az aks create \
--name aks-firma-prod \
--resource-group rg-firma-prod \
--node-count 3 \
--node-vm-size Standard_D4s_v5 \
--enable-managed-identity \
--enable-oidc-issuer \
--enable-workload-identity \
--network-plugin azure \
--vnet-subnet-id /subscriptions/.../snet-aks \
--attach-acr meinregistry \
--generate-ssh-keys
# kubectl konfigurieren
az aks get-credentials \
--name aks-firma-prod \
--resource-group rg-firma-prod
kubectl get nodes
Erste Anwendung deployen
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: webapp
spec:
replicas: 3
selector:
matchLabels:
app: webapp
template:
metadata:
labels:
app: webapp
spec:
containers:
- name: webapp
image: meinregistry.azurecr.io/webapp:latest
ports:
- containerPort: 80
resources:
requests:
cpu: "250m"
memory: "256Mi"
limits:
cpu: "500m"
memory: "512Mi"
---
apiVersion: v1
kind: Service
metadata:
name: webapp-svc
spec:
selector:
app: webapp
ports:
- port: 80
type: ClusterIP
kubectl apply -f deployment.yaml
kubectl get pods
kubectl get svc
Application Gateway Ingress Controller (AGIC)
# AGIC Add-on aktivieren
az aks enable-addons \
--name aks-firma-prod \
--resource-group rg-firma-prod \
--addons ingress-appgw \
--appgw-name agw-aks \
--appgw-subnet-cidr 10.0.10.0/24
# ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: webapp-ingress
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:
- host: app.firma.de
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: webapp-svc
port:
number: 80
tls:
- hosts:
- app.firma.de
secretName: tls-secret
Auto-Scaler
# Cluster Auto-Scaler (Node-Level)
az aks update \
--name aks-firma-prod \
--resource-group rg-firma-prod \
--enable-cluster-autoscaler \
--min-count 2 \
--max-count 10
# Horizontal Pod Autoscaler (Pod-Level)
kubectl autoscale deployment webapp \
--cpu-percent=70 \
--min=2 \
--max=20
FAQ
Was kostet AKS?
Control Plane: Kostenlos (mit Uptime SLA: ~0,10 €/h). Node-VMs: Standard-VM-Preise. Für 3× Standard_D4s_v5: ~500 €/Monat.
AKS vs. Container Apps – wann was?
Container Apps: Für microservices und APIs ohne Kubernetes-Kenntnisse. AKS: Wenn Sie Kubernetes-Features brauchen oder bestehende K8s-Workloads migrieren.
Fazit
AKS ist der einfachste Weg Kubernetes in Azure zu betreiben. Mit managed Control Plane und Azure-Integration reduziert sich der Ops-Aufwand erheblich.
AKS und Container-Architektur für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.