Niet beschikbaar voor vaste aanstelling — alleen inzetbaar via Rubicon. Neem contact met mij als je geintresseerd bent.

Getting Started met Azure Red Hat OpenShift (ARO)

Getting Started met Azure Red Hat OpenShift (ARO)

PAD B2: Enterprise Managed Kubernetes

Je hebt Kubernetes nodig, maar ook:

  • Strikte governance en compliance (multi-tenancy, RBAC, policy)
  • Built-in DevSecOps tooling (CI/CD, GitOps, image scanning)
  • Enterprise support (Microsoft + Red Hat gezamenlijk)
  • Opinionated best practices out-of-the-box

Dan is ARO de juiste keuze.

ARO vs AKS: wat is het verschil?

Aspect AKS ARO
Basis Pure upstream Kubernetes OpenShift (Kubernetes + tooling)
Control Plane Gratis Inclusief in pricing
Kosten €70-150/maand voor nodes €200-400/maand (nodes + licentie)
Multi-tenancy Handmatig (namespaces + RBAC) Built-in Projects met quota
CI/CD Integreer zelf (GitHub Actions, etc) Built-in Pipelines + Tekton
GitOps Installeer ArgoCD/Flux Built-in GitOps operator
Image Registry Azure Container Registry (apart) Built-in registry per project
Developer UX kubectl CLI oc CLI + Web Console
Security Azure Policy (apart) Built-in SCC, NetworkPolicy
Support Microsoft Microsoft + Red Hat joint

Vuistregel:

  • AKS: Je wilt Kubernetes API, rest zelf inrichten → lager kosten
  • ARO: Je wilt enterprise platform out-of-box → hogere kosten, minder configuratie

Waarom ARO kiezen?

1. Enterprise Governance

  • Multi-tenancy: Projects met resource quotas en netwerk isolatie
  • RBAC: Gedetailleerde role-based access control per project
  • Security Context Constraints (SCC): Wat containers wel/niet mogen (privileged, hostPath, etc)

2. DevSecOps out-of-box

  • Built-in CI/CD: Tekton Pipelines geïntegreerd
  • GitOps: OpenShift GitOps operator (ArgoCD onder de motorkap)
  • Image scanning: Integratie met Red Hat Quay voor vulnerability scanning
  • Developer catalog: Pre-built templates voor Java, .NET, Node.js, Python

3. Managed door Microsoft + Red Hat

  • Joint support: Beide vendors zijn verantwoordelijk
  • Upgrades: Managed control plane én worker nodes
  • SLA: 99.95% uptime garantie

Quick Start: ARO Cluster aanmaken

⚠️ Let op: ARO vereist een Red Hat pull secret en heeft specifieke netwerk requirements. Volg de officiële ARO documentatie voor production setups.

Voorbereiding

# Registreer ARO resource provider
az provider register --namespace Microsoft.RedHatOpenShift --wait

# Installeer OpenShift CLI (oc)
# Download van https://mirror.openshift.com/pub/openshift-v4/clients/ocp/

1. Netwerk en Resource Group

LOCATION=westeurope
RESOURCEGROUP=myARO-rg
CLUSTER=myAROCluster

az group create --name $RESOURCEGROUP --location $LOCATION

# Maak VNet (ARO vereist dedicated subnets)
az network vnet create \
  --resource-group $RESOURCEGROUP \
  --name aro-vnet \
  --address-prefixes 10.0.0.0/22

# Master subnet
az network vnet subnet create \
  --resource-group $RESOURCEGROUP \
  --vnet-name aro-vnet \
  --name master-subnet \
  --address-prefixes 10.0.0.0/23 \
  --service-endpoints Microsoft.ContainerRegistry

# Worker subnet
az network vnet subnet create \
  --resource-group $RESOURCEGROUP \
  --vnet-name aro-vnet \
  --name worker-subnet \
  --address-prefixes 10.0.2.0/23 \
  --service-endpoints Microsoft.ContainerRegistry

2. ARO Cluster aanmaken (duurt ~35 minuten)

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet \
  --pull-secret @pull-secret.txt  # Red Hat pull secret

3. Login via oc CLI

# Haal cluster credentials op
apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)
kubeadminPassword=$(az aro list-credentials -g $RESOURCEGROUP -n $CLUSTER --query kubeadminPassword -o tsv)

# Login
oc login $apiServer -u kubeadmin -p $kubeadminPassword

Je hebt nu toegang tot OpenShift!

OpenShift Web Console

Anders dan AKS heeft ARO een krachtige web UI:

# Open web console URL
az aro show -g $RESOURCEGROUP -n $CLUSTER --query "consoleProfile.url" -o tsv

Login met kubeadmin en het wachtwoord. In de console zie je:

  • Developer perspective: Applicatie-gerichte view (topologie, builds, pipelines)
  • Administrator perspective: Cluster-gerichte view (nodes, operators, projects)

💡 Dit is het grote verschil met AKS - OpenShift is gebouwd voor zowel developers als operators.

Eerste Project en Deployment

Maak een Project (= Namespace met extra’s)

oc new-project myapp

Dit maakt niet alleen een namespace, maar ook:

  • Resource quotas (CPU/memory limits)
  • Network policies (isolatie)
  • RBAC (wie heeft toegang)

Deploy een app via Source-to-Image (S2I)

OpenShift kan direct vanuit Git deployen zonder Dockerfile:

oc new-app https://github.com/sclorg/nodejs-ex
oc expose service/nodejs-ex

Dit triggert:

  1. BuildConfig: Detecteert Node.js, maakt container image
  2. ImageStream: Versioned container registry
  3. DeploymentConfig: Deployt de app
  4. Service + Route: Maakt app toegankelijk

Bekijk de URL:

oc get route nodejs-ex

Dit is veel sneller dan in AKS waar je zelf een Dockerfile, CI/CD pipeline en ingress moet configureren.

ARO Features die AKS niet heeft

1. Projects met quotas

oc create quota dev-quota \
  --hard=cpu=4,memory=8Gi,pods=10 \
  -n myapp

Elk team krijgt een Project met harde limieten - automatisch enforced.

2. Built-in Image Registry

oc get imagestream

Elke build opgeslagen in cluster-eigen registry - geen ACR nodig.

3. Security Context Constraints (SCC)

oc get scc

Controleert wat containers mogen:

  • restricted: Geen root, geen host access (default)
  • anyuid: Run as any user
  • privileged: Volledige host access

In AKS moet je dit met PodSecurityPolicy of Azure Policy regelen.

4. GitOps Operator

oc create -f - <<EOF
apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: argocd
  namespace: argocd
spec: {}
EOF

ArgoCD is OpenShift-native - geen Helm charts nodig.

Wanneer NIET ARO?

ARO is krachtig, maar niet altijd de juiste keuze:

Scenario Betere optie
Budget < €500/maand voor K8s  

AKS

 
Simpele microservices zonder governance

AKS

of

ACA

 
Data mag niet naar cloud

OpenShift on-prem

 
Team heeft geen OpenShift kennis

AKS

(makkelijker learning curve)

Kosten Indicatie

Minimale ARO setup:

  • 3 master nodes (managed, inclusief)
  • 3 worker nodes (Standard_D4s_v3)
  • ~€800-1000/maand (nodes + OpenShift licentie)

Vergelijkbare AKS setup:

  • Control plane (gratis)
  • 3 worker nodes (Standard_D4s_v3)
  • ~€300-400/maand

Je betaalt 2-3x meer voor ARO, maar krijgt:

  • Built-in CI/CD, GitOps, registry, developer tools
  • Enterprise support (Microsoft + Red Hat)
  • Security out-of-box (SCC, network policies)

Opruimen

az aro delete --resource-group $RESOURCEGROUP --name $CLUSTER --yes
az group delete --name $RESOURCEGROUP --yes --no-wait

Conclusie

ARO is Kubernetes met enterprise training wheels:

  • Perfect voor teams die governance/compliance nodig hebben
  • Perfect voor organisaties met Red Hat ecosysteem
  • Perfect voor developers die niet diep in Kubernetes willen duiken

Maar je betaalt premium pricing. Kies bewust:

  • Heb je echt multi-tenancy, SCC, built-in CI/CD nodig? → ARO
  • Wil je gewoon Kubernetes + zelf tools kiezen? → AKS

Volgende stappen

  • Wil je on-premises draaien? Lees over

OpenShift on-prem

  • Twijfel tussen AKS en ARO? Bekijk de

Kubernetes Keuzehulp