-
Notifications
You must be signed in to change notification settings - Fork 0
K3sOracleCloud
title: k3s on Oracle Cloud Free Tier type: technique created: 2026-05-21 last_updated: 2026-05-21 related: ["radar/techniques/TelegramBotOnCloudRun", "radar/techniques/PackerProxmoxTemplates"] sources: ["https://garutilorenzo.github.io/deploy-kubernetes-for-free-oracle-cloud/"] radar_quadrant: Techniques radar_ring: Assess radar_position: center
A technique for running a production-grade Kubernetes cluster at zero cost by combining Oracle Cloud's Always Free tier with k3s, a lightweight Kubernetes distribution, provisioned via Terraform.
Oracle Cloud's Always Free tier is more generous than AWS or GCP equivalents. As of 2023 it includes:
- 4 Ampere A1 (ARM) cores and 24 GB RAM, usable as a single VM or split across up to 4 instances.
- 2 AMD-based micro instances (1/8 OCPU, 1 GB RAM each).
- 200 GB block storage.
- 10 GB object storage.
- No expiry on free resources (unlike AWS Free Tier's 12-month limit).
The A1 resources are sufficient to run a 3-node k3s cluster: one control plane node and two worker nodes.
k3s is a CNCF-certified Kubernetes distribution from Rancher (now SUSE) designed for resource-constrained environments. It packages the full Kubernetes API in a single binary under 100 MB, with an embedded SQLite datastore replacing etcd for single-node or small clusters. k3s passes the full Kubernetes conformance test suite, meaning workloads written for standard Kubernetes run unmodified.
Differences from standard Kubernetes relevant to this deployment:
- SQLite datastore (default) instead of etcd; suitable for clusters under ~50 nodes.
- Traefik ingress controller bundled by default.
- Flannel CNI bundled by default.
- ARM64 support first-class.
The reference deployment (github.com/garutilorenzo/k3s-oci-cluster) uses Terraform to provision Oracle Cloud resources and configure the cluster:
- Provision VCN, subnets, security groups, and load balancer via OCI Terraform provider.
- Create A1 instances using cloud-init to install k3s server and agents on first boot.
- Output the kubeconfig for kubectl access.
The full cluster — networking, compute, Kubernetes — is defined in code and reproducible from a single terraform apply.
The deployment runs entirely within Oracle Cloud's Always Free limits. The primary constraint is the 4 A1 core / 24 GB RAM ceiling. Workloads that exceed this require paid resources. The technique is suited to personal projects, home lab applications, and low-traffic production services.
k3s on Oracle Cloud Free Tier sits in the Assess ring of the Techniques quadrant, at center position. First studied via Lorenzo Garuti's GitHub Pages article (2023-11-04). The combination of Oracle Cloud's unusually generous Always Free tier and k3s's lightweight footprint produces a genuinely viable free Kubernetes environment. That is a documented path studied third-party, not first-person use: no cluster has been deployed here, and the Trial ring requires that, so it stays at Assess. Center position reflects the documented setup (public Terraform module) held back by the ARM64 architecture constraint — some container images lack ARM builds — and the Oracle Cloud account requirement. The gate to Trial is a completed cluster deployment running at least one personal workload.