advanced
GKE
Managed Kubernetes в Google Cloud: обновления кластера, node pools, workload identity, autoscaling и интеграция ingress.
Google Kubernetes Engine — managed Kubernetes для команд, которым нужна переносимая оркестрация, свои controllers, batch jobs или service mesh. FullStack-команда часто крутит API, workers и ingress в GKE, а доступ к GCP API даёт через Workload Identity вместо долгоживущих JSON-ключей.
apiVersion: apps/v1
kind: Deployment
metadata:
name: api
spec:
replicas: 3
selector:
matchLabels:
app: api
template:
metadata:
labels:
app: api
spec:
serviceAccountName: api-sa
containers:
- name: api
image: gcr.io/project/api:2.1.0
readinessProbe:
httpGet:
path: /health/ready
port: 3000
| Возможность GKE | Зачем | |-----------------|-------| | Node pools | Разделение system и app-нагрузок | | Workload Identity | Pod'ы без статических ключей к GCP API | | Autopilot vs Standard | Меньше ops с нодами vs больше tuning |
Заранее спланируйте upgrades, pod disruption budgets и cluster autoscaling до production-трафика.
На интервью: когда GKE лучше Cloud Run; Workload Identity; Ingress/Gateway; sizing node pool; rollout со readiness probes.
Типовые ошибки: production на одном node pool без taints; cluster-admin для app service account; нет resource requests — HPA не работает; неожиданные окна upgrade control plane.
Компромисс — переносимость Kubernetes и экосистема против сложности YAML, стоимости кластера и нагрузки на platform-команду.
Чеклист:
- Workload Identity для GCP API из pod'ов.
- Отдельные node pools для system и application.
- Rollout с readiness и PDB.
- Requests перед cluster autoscaling и HPA.