---
id: "oci-kubernetes-engine"
type: "component"
kind: "container-orchestrator"
provider: "oci"
category: "compute"
aliases: "OKE"
docs: "https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcomparingenhancedwithbasicclusters_topic.htm"
url: "https://localhost:3000/catalogue/components/oci-kubernetes-engine"
---

# OCI Kubernetes Engine

Managed Kubernetes cluster with an Oracle-run control plane.

| | |
|---|---|
| Provider | [oci](https://localhost:3000/catalogue?provider=oci) |
| Kind | [Container orchestrator](https://localhost:3000/catalogue/kinds/container-orchestrator) |
| Category | Compute |
| Official docs | [https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcomparingenhancedwithbasicclusters_topic.htm](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcomparingenhancedwithbasicclusters_topic.htm) |
| Also known as | OKE |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `autoscaling` | boolean | — | no | false | **false** |
| `clusterType` | enum | `basic`, `enhanced` | no | "enhanced" | inherited |
| `cniPlugin` | enum | `flannel`, `vcn-native-pod-networking` | no | — | inherited |
| `financiallyBackedSla` | boolean | — | no | true | inherited |
| `managed` | boolean | — | no | false | **true** |
| `maxPodsPerManagedNode` | integer | — | no | 256 | inherited |
| `networkPolicy` | boolean | — | no | — | inherited |
| `nodeCount` | integer | — | no | — | inherited |
| `nodeType` | enum | `managed`, `virtual`, `self-managed` | no | — | inherited |
| `privateControlPlane` | boolean | — | no | — | inherited |
| `rbac` | boolean | — | no | — | inherited |
| `version` | string | — | no | — | inherited |

Bold values are the ones this component pins.

## Rules that apply · 1

### Stateful node without zone redundancy `stateful-node-without-zone-redundancy` (error)

- Page: https://localhost:3000/catalogue/rules/stateful-node-without-zone-redundancy.md
- Why: A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- Applies to: every node in category compute
- Message: Stateful node '{{node.id}}' lives in exactly one availability zone. A zone outage takes its state with it.

It fires when:

- all of these hold:
  - the node's `stateless` is false
  - the node sits inside exactly 1 availability-zone group
  - this does not hold:
    - the node sits inside at least one cell group

## Other products of the same kind · 35

- [Container Service for Kubernetes](https://localhost:3000/catalogue/components/alibaba-ack.md) `alibaba-ack` — alibabacloud
- [Amazon Elastic Container Service](https://localhost:3000/catalogue/components/aws-ecs.md) `aws-ecs` — aws
- [Amazon Elastic Kubernetes Service](https://localhost:3000/catalogue/components/aws-eks.md) `aws-eks` — aws
- [Red Hat OpenShift Service on AWS](https://localhost:3000/catalogue/components/aws-rosa.md) `aws-rosa` — aws
- [Azure Kubernetes Service](https://localhost:3000/catalogue/components/azure-aks.md) `azure-aks` — azure
- [Azure Kubernetes Fleet Manager](https://localhost:3000/catalogue/components/azure-kubernetes-fleet-manager.md) `azure-kubernetes-fleet-manager` — azure
- [Azure Red Hat OpenShift](https://localhost:3000/catalogue/components/azure-red-hat-openshift.md) `azure-red-hat-openshift` — azure
- [Azure Service Fabric](https://localhost:3000/catalogue/components/azure-service-fabric.md) `azure-service-fabric` — azure
- [Cloudflare Containers](https://localhost:3000/catalogue/components/cloudflare-containers.md) `cloudflare-containers` — cloudflare
- [Generic container orchestrator](https://localhost:3000/catalogue/components/container-orchestrator.md) `container-orchestrator` — default
- [CoreWeave](https://localhost:3000/catalogue/components/coreweave.md) `coreweave` — default
- [Docker Swarm](https://localhost:3000/catalogue/components/docker-swarm.md) `docker-swarm` — default
- [k0s](https://localhost:3000/catalogue/components/k0s.md) `k0s` — default
- [K3s](https://localhost:3000/catalogue/components/k3s.md) `k3s` — default
- [Karmada](https://localhost:3000/catalogue/components/karmada.md) `karmada` — default
- [Kubernetes](https://localhost:3000/catalogue/components/kubernetes.md) `kubernetes` — default
- [MicroK8s](https://localhost:3000/catalogue/components/microk8s.md) `microk8s` — default
- [HashiCorp Nomad](https://localhost:3000/catalogue/components/nomad.md) `nomad` — default
- [Red Hat OpenShift](https://localhost:3000/catalogue/components/openshift.md) `openshift` — default
- [Rancher](https://localhost:3000/catalogue/components/rancher.md) `rancher` — default
- [DigitalOcean Kubernetes](https://localhost:3000/catalogue/components/digitalocean-kubernetes.md) `digitalocean-kubernetes` — digitalocean
- [Google Distributed Cloud (software only) for bare metal](https://localhost:3000/catalogue/components/google-distributed-cloud-bare-metal.md) `google-distributed-cloud-bare-metal` — gcp
- [Google Distributed Cloud (software only) for VMware](https://localhost:3000/catalogue/components/google-distributed-cloud-vmware.md) `google-distributed-cloud-vmware` — gcp
- [Google Kubernetes Engine](https://localhost:3000/catalogue/components/google-gke.md) `google-gke` — gcp
- [GKE Autopilot](https://localhost:3000/catalogue/components/google-gke-autopilot.md) `google-gke-autopilot` — gcp
- [GKE Enterprise fleet](https://localhost:3000/catalogue/components/google-gke-enterprise.md) `google-gke-enterprise` — gcp
- [GKE Multi-Cloud](https://localhost:3000/catalogue/components/google-gke-multi-cloud.md) `google-gke-multi-cloud` — gcp
- [Cluster Services for OpenShift](https://localhost:3000/catalogue/components/google-openshift-cluster-services.md) `google-openshift-cluster-services` — gcp
- [IBM Cloud Kubernetes Service](https://localhost:3000/catalogue/components/ibm-kubernetes-service.md) `ibm-kubernetes-service` — ibm
- [Red Hat OpenShift on IBM Cloud](https://localhost:3000/catalogue/components/ibm-openshift.md) `ibm-openshift` — ibm
- [IBM Cloud Satellite](https://localhost:3000/catalogue/components/ibm-satellite.md) `ibm-satellite` — ibm
- [OKE Virtual Node Pool](https://localhost:3000/catalogue/components/oci-oke-virtual-node-pool.md) `oci-oke-virtual-node-pool` — oci
- [OpenStack Magnum](https://localhost:3000/catalogue/components/openstack-magnum.md) `openstack-magnum` — openstack
- [OpenStack Zun](https://localhost:3000/catalogue/components/openstack-zun.md) `openstack-zun` — openstack
- [OUTSCALE Kubernetes as a Service](https://localhost:3000/catalogue/components/outscale-oks.md) `outscale-oks` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "oci-kubernetes-engine", component: "oci-kubernetes-engine" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# OCI Kubernetes Engine (OKE) cluster: Oracle runs the control plane ("Overview of Kubernetes
# Engine"), which also caps a managed node at 256 pods. "Comparing Enhanced Clusters with Basic
# Clusters": the Console creates an enhanced cluster unless you choose basic, and only enhanced
# clusters carry a financially backed SLA and support virtual nodes and workload identity.
schemaVersion: "1"
type: "component"
id: "oci-kubernetes-engine"
kind: "container-orchestrator"
provider: "oci"
docs: "https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcomparingenhancedwithbasicclusters_topic.htm"
aliases: ["OKE"]
defaults:
  managed: true
  autoscaling: false
properties:
  clusterType:
    type: "enum"
    values: ["basic", "enhanced"]
    default: "enhanced"
  nodeType:
    type: "enum"
    values: ["managed", "virtual", "self-managed"]
  cniPlugin:
    type: "enum"
    values: ["flannel", "vcn-native-pod-networking"]
  maxPodsPerManagedNode:
    type: "integer"
    default: 256
  financiallyBackedSla:
    type: "boolean"
    default: true
```

Human page: https://localhost:3000/catalogue/components/oci-kubernetes-engine
