Files
2026-03-18 18:03:44 -03:00

75 lines
2.9 KiB
YAML

# 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"