Kubernetes
Kubernetes (K8s) é uma plataforma open source para orquestração de containers, projetada para automatizar deploy, escalabilidade e operação de aplicações distribuídas. Oferece recursos como scheduling, service discovery, balanceamento de carga, auto-healing e rolling updates.
Benefícios
- Escalabilidade horizontal com HPA
- Auto-healing e alta disponibilidade
- Rolling updates e rollbacks controlados
- Service discovery e load balancing nativos
- Isolamento e governança com Namespaces e RBAC
- Portabilidade multi-cloud
Ciclo de Vida
- Provisionamento do cluster e configuração do
kubectl - Criação de manifests YAML (Deployment, Service, ConfigMap, Secret)
kubectl apply -f .para deploy- Monitoramento de Pods e rollouts
- Exposição via Service ou Ingress
- Operação contínua e observabilidade
Arquitetura
- Control Plane: API Server, Scheduler, Controller Manager e etcd
- Nodes: kubelet, kube-proxy e runtime de containers
- Workloads: Pods, Deployments, StatefulSets, DaemonSets e Jobs
- Rede: Services, Ingress Controller e CNI
- Armazenamento: PV, PVC e StorageClasses
Recursos
- ConfigMap e Secret
- Liveness e Readiness Probes
- HPA, VPA e Cluster Autoscaler
- RBAC, NetworkPolicies e Pod Security
- Observabilidade com métricas e logs
- Helm e Kustomize
Exemplo (Deployment + Service)
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-web
spec:
replicas: 2
selector:
matchLabels:
app: app-web
template:
metadata:
labels:
app: app-web
spec:
containers:
- name: app-web
image: nginx:stable
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: app-web
spec:
selector:
app: app-web
ports:
- port: 80
targetPort: 80
type: ClusterIP
DevOps
Nenhum post encontrado.
