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.