Skip to main content
RunBook Academy

KubernetesCII · Managed vs Self-Managed KubernetesManaged vs self-managed

AKS, GKE, OKE — the other managed Kubernetes providers

Advanced⏱ ~17 minkubectlazgcloudoci

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

Not yet marked complete on this device.

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

ProviderControl plane feePer-Pod feeNotes
EKS$0.10/hournoneper cluster
AKSfreenoneper cluster
GKE Standard$0.10/hournoneper cluster
GKE Enterprise$0.10/hour (cluster) + management feenoneper cluster + per fleet
GKE Autopilot$0.10/hour + per-Podyesper cluster + per Pod
OKEfreenoneper 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

ProviderOperational burdenLock-inCost
AKSlow (managed control plane)Azuremoderate
GKE Standardlow (managed control plane)GCPmoderate
GKE Autopilotvery low (managed nodes too)GCPhigher (per Pod)
OKElow (managed control plane)OCIlower

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:

  1. Assess cloud commitment (existing investments, contracts, expertise).
  2. Assess lock-in tolerance.
  3. Model the total cost (control plane + worker nodes
    • operational).
  4. Assess the operational trade-offs (most-managed vs most-control).
  5. 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

  1. Q1. What is the most managed Kubernetes option in the major cloud providers?

  2. Q2. AKS and OKE have free control planes; EKS and GKE charge per cluster; GKE Autopilot also charges per Pod.

  3. 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).

  4. 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.