KubernetesCII · Managed vs Self-Managed KubernetesManaged vs self-managed
AKS, GKE, OKE — the other managed Kubernetes providers
What you'll learn
- Compare AKS, GKE, and OKE in detail
- Map the responsibility split for each
- Reason about the lock-in for each (Azure-specific, GCP-specific, OCI-specific)
- Apply the operational discipline of choosing based on cloud commitment
Prerequisites
Verified against Kubernetes 1.34.x · kubeadm 1.34.x · kubectl 1.34.x · etcd 3.6.x · CoreDNS 1.11.x · containerd 1.7.x / 2.x · 2026-08-16
AKS (Azure), GKE (Google Cloud), and OKE (Oracle Cloud Infrastructure) are the other major managed Kubernetes providers. This lesson walks the responsibility split for each, the cost comparison, the lock-in assessment, and the operational discipline.
AKS (Azure Kubernetes Service)
flowchart LR
A[AKS responsibilities] --> A1["Control plane: Azure"]
A --> A2["etcd: Azure"]
A --> A3["Upgrades: Azure"]
A --> A4["Azure CNI: Pod IPs from VNet"]
A --> A5[Azure Disk CSI driver]
A --> A6[Azure AD for RBAC]
A --> A7[Azure Load Balancer for Service]
AKS manages:
- Control plane (API server, scheduler, controller manager).
- etcd.
- Upgrades (via portal or CLI).
- Azure CNI (default) — Pods get VNet IPs.
- Azure Disk CSI driver (block storage).
- Azure File CSI driver (file storage).
- Azure AD integration (RBAC via Azure AD).
- Azure Load Balancer for Service type LoadBalancer.
The operator manages:
- Worker nodes (or Azure can manage via node pools).
- Application workloads.
- Ingress (nginx, Application Gateway Ingress Controller).
- Add-ons (cert-manager, Argo CD, Velero).
GKE (Google Kubernetes Engine)
flowchart LR
A[GKE responsibilities] --> A1["Control plane: Google"]
A --> A2["etcd: Google"]
A --> A3["Upgrades: Google"]
A --> A4["GKE CNI: Pod IPs from VPC"]
A --> A5[GCE PD CSI driver]
A --> A6[Google IAM for RBAC]
A --> A7[GCP Load Balancer for Service]
GKE manages:
- Control plane.
- etcd.
- Upgrades (auto-upgrade available).
- GKE CNI (default) — Pods get VPC IPs.
- GCE Persistent Disk CSI driver.
- Google IAM integration (Workload Identity).
- GCP Load Balancer for Service type LoadBalancer.
GKE also offers:
- Autopilot mode. Google manages nodes too (CPU, memory, scaling). The operator manages only workloads.
- GKE Enterprise. Multi-cluster management, Config Management, policy controller.
GKE has been the most managed of the three — Autopilot mode is closest to “fully managed” of any provider.
OKE (Oracle Kubernetes Engine / OCI)
flowchart LR
A[OKE responsibilities] --> A1["Control plane: Oracle"]
A --> A2["etcd: Oracle"]
A --> A3["Upgrades: Oracle"]
A --> A4["OCI VCN CNI: Pod IPs from VCN"]
A --> A5[OCI Block Storage CSI driver]
A --> A6[Oracle IAM for RBAC]
A --> A7[OCI Load Balancer for Service]
OKE manages:
- Control plane.
- etcd.
- Upgrades.
- OCI VCN CNI (default) — Pods get VCN IPs.
- OCI Block Storage CSI driver.
- Oracle IAM integration.
- OCI Load Balancer for Service type LoadBalancer.
OKE is Oracle’s managed Kubernetes service. The integrations are OCI-specific.
The lock-in comparison
flowchart LR
A[AKS lock-in] --> A1[Azure CNI]
A --> A2[Azure Disk CSI]
A --> A3[Azure AD RBAC]
A --> A4[Application Gateway Ingress]
B[GKE lock-in] --> B1[GKE CNI]
B --> B2[GCE PD CSI]
B --> B3[Workload Identity]
B --> B4[GKE-specific Ingress]
C[OKE lock-in] --> C1[OCI VCN CNI]
C --> C2[OCI Block Storage CSI]
C --> C3[Oracle IAM]
C --> C4[OCI Load Balancer]
Each provider has lock-in:
- AKS. Azure CNI, Azure Disk/File CSI, Azure AD RBAC, Application Gateway Ingress.
- GKE. GKE CNI, GCE PD CSI, Workload Identity, GKE-specific Ingress.
- OKE. OCI VCN CNI, OCI Block Storage CSI, Oracle IAM, OCI Load Balancer.
Migrating from one to another requires replacing all provider-specific integrations with cloud-agnostic equivalents.
The cost comparison
| Provider | Control plane fee | Per-Pod fee | Notes |
|---|---|---|---|
| EKS | $0.10/hour | none | per cluster |
| AKS | free | none | per cluster |
| GKE Standard | $0.10/hour | none | per cluster |
| GKE Enterprise | $0.10/hour (cluster) + management fee | none | per cluster + per fleet |
| GKE Autopilot | $0.10/hour + per-Pod | yes | per cluster + per Pod |
| OKE | free | none | per cluster |
The cost varies. AKS and OKE have free control planes; EKS and GKE charge $0.10/hour per cluster. Autopilot charges per Pod.
The operational trade-offs
| Provider | Operational burden | Lock-in | Cost |
|---|---|---|---|
| AKS | low (managed control plane) | Azure | moderate |
| GKE Standard | low (managed control plane) | GCP | moderate |
| GKE Autopilot | very low (managed nodes too) | GCP | higher (per Pod) |
| OKE | low (managed control plane) | OCI | lower |
The trade-offs vary. GKE Autopilot is the most managed but the most expensive per Pod; AKS has a free control plane; EKS and GKE Standard are similar.
The operational discipline
Choosing among AKS, GKE, OKE:
- Assess cloud commitment (existing investments, contracts, expertise).
- Assess lock-in tolerance.
- Model the total cost (control plane + worker nodes
- operational).
- Assess the operational trade-offs (most-managed vs most-control).
- Choose the provider that matches.
The discipline is to choose based on drivers, not on trends. A team already invested in Azure will likely choose AKS; a team already invested in GCP will likely choose GKE; a team with OCI commitments will choose OKE.
Quiz
Knowledge check · 4 questions
Q1. What is the most managed Kubernetes option in the major cloud providers?
Q2. AKS and OKE have free control planes; EKS and GKE charge per cluster; GKE Autopilot also charges per Pod.
Q3. A team is on GKE and needs to migrate to AKS for cost reasons. The migration is taking 6 months because of GKE-specific integrations. Diagnosis and what could have been done?
The team chose GKE without assessing lock-in. The cost analysis revealed AKS is cheaper (free control plane). The migration requires replacing GKE-specific integrations (GKE CNI, GCE PD CSI, Workload Identity) with AKS equivalents (Azure CNI, Azure Disk CSI, Azure AD RBAC).
Q4. Name three provider-specific integrations common to AKS, GKE, and OKE and the cloud-agnostic alternative for each.
Passing score: 75%. Answers are checked in this browser.
Production discipline
AKS vs GKE vs OKE in production rests on five non-negotiable elements:
- Assess cloud commitment. Existing investments and contracts drive the choice.
- Assess lock-in tolerance. Low tolerance → abstract cloud-specific dependencies.
- Model total cost. Control plane + worker nodes
- operational cost + lock-in cost.
- Consider GKE Autopilot for very-low-burden. The trade-off is higher per-Pod cost.
- Plan for migration. Even if a provider is chosen, abstract cloud-specific dependencies.
The choice among AKS, GKE, OKE is consequential. The discipline is to make it based on drivers and to plan for change.