75 lines
2.9 KiB
YAML
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"
|