Kubernetes je standard pro orchestraci kontejnerů. Tady je vše od A do Z.
Architektura¶
- Control plane: API server, etcd, scheduler, controller manager
- Worker nodes: kubelet, kube-proxy, container runtime
Základní objekty¶
Pod¶
apiVersion: v1
kind: Pod
metadata: { name: my-app }
spec:
containers:
- name: app
image: myapp:1.0
ports: [{ containerPort: 3000 }]
Deployment¶
apiVersion: apps/v1
kind: Deployment
metadata: { name: my-app }
spec:
replicas: 3
selector: { matchLabels: { app: my-app } }
template:
metadata: { labels: { app: my-app } }
spec:
containers:
- name: app
image: myapp:1.0
resources:
requests: { memory: 128Mi, cpu: 100m }
limits: { memory: 256Mi, cpu: 200m }
Service¶
apiVersion: v1
kind: Service
metadata: { name: my-app }
spec:
selector: { app: my-app }
ports: [{ port: 80, targetPort: 3000 }]
type: ClusterIP
Ingress¶
apiVersion: networking.k8s.io/v1
kind: Ingress
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service: { name: my-app, port: { number: 80 } }
ConfigMap & Secret¶
kubectl create configmap app-config –from-file=config.yaml
kubectl create secret generic db-creds –from-literal=password=secret
Helm¶
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-db bitnami/postgresql
Monitoring¶
Prometheus + Grafana je de-facto standard. Instalace přes helm chart kube-prometheus-stack.
Certifikace¶
CKA (Certified Kubernetes Administrator) je nejcennější K8s certifikace. Připravte se hands-on, ne z knih.