# OCI Service: Oracle Container Engine for Kubernetes (OKE) # Last verified: 2026-03 service: name: "Oracle Container Engine for Kubernetes (OKE)" id: oke category: infrastructure color: "#2D5967" description: "Managed Kubernetes service with Oracle-optimized control plane, integrated with OCI networking, IAM, and observability." when_to_use: - "Containerized applications (microservices, 12-factor apps)" - "Need horizontal auto-scaling for application tier" - "Multi-team environments needing namespace isolation" - "CI/CD-driven deployments" - "Workloads requiring service mesh, ingress controllers" when_not_to_use: - "Simple stateless functions → use OCI Functions instead" - "Single monolithic app with no container strategy → use Compute VMs" - "Team has no Kubernetes experience and timeline is tight" - "Batch processing only → consider OCI Data Flow or Compute" variants: - id: oke_managed name: "OKE Managed Nodes" description: "Customer manages worker nodes (OS patching, scaling config)" - id: oke_virtual name: "OKE Virtual Nodes" description: "Serverless worker nodes — no OS management, pay per pod" use_when: - "Want zero node management overhead" - "Bursty workloads with variable pod count" - "Cost optimization for intermittent workloads" sizing: control_plane: "Free (managed by Oracle)" worker_nodes: recommended_shapes: - "VM.Standard.E4.Flex (general purpose, best price/performance)" - "VM.Standard.A1.Flex (ARM/Ampere, 30-50% cheaper for compatible workloads)" - "VM.Standard3.Flex (Intel, when Intel compatibility required)" - "VM.GPU.A10.1 / VM.GPU.A100 (GPU workloads)" sizing_guidance: "Start with 3 nodes across fault domains for HA. Size OCPUs based on aggregate pod CPU requests + 20% headroom." gotchas: - id: oke_lb_shape severity: LOW description: "OKE creates OCI Load Balancers for LoadBalancer-type services. Default is 10 Mbps flexible — adjust annotation for production bandwidth." - id: oke_cni_choice severity: MEDIUM description: "VCN-Native Pod Networking (OCI CNI) gives pods VCN IPs directly — better for NSG integration but consumes subnet IPs. Flannel overlay is simpler but no direct VCN integration." - id: oke_pv_block_volume severity: LOW description: "Persistent volumes use OCI Block Volumes. For ReadWriteMany, use OCI File Storage (FSS) CSI driver." implied_dependencies: - service: vcn reason: "Worker nodes and pods need VCN subnets" - service: load_balancer reason: "Ingress traffic to services" - service: block_storage reason: "Persistent volumes for stateful pods" references: documentation: "https://docs.oracle.com/en-us/iaas/Content/ContEng/home.htm" changelog: - date: "2026-03-14" contributor: { name: "Diego Cabrera", team: "Field Architecture" } change: "Initial creation with managed/virtual nodes, sizing, gotchas, dependencies"