Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🧰 OpenShift (Red Hat) – Topo complet (1 → 17)

Kubernetes d’entreprise : sĂ©curitĂ© (SCC/SELinux), CI/CD (Tekton), GitOps (Argo CD), Operators, ObservabilitĂ©, Multi-cloud & Edge.

1Facile

1) Introduction

OpenShift = Kubernetes + Sécurité + CI/CD + Gouvernance + Support Red Hat.

PaaSKubernetesCRI-O
2Moyen

2) Architecture

API/etcd/Control Plane, Workers, Ingress/Router, Registry, OAuth, Operators.

Control PlaneRouter
3Facile

3) Versions

OCP (commercial), OKD (communautaire), Dedicated, Online.

OCPOKD
4Moyen

4) OS & Infra

RHCOS (immutable), RHEL, Bare Metal/VMware/Cloud. SELinux, Podman, systemd.

RHCOSRHEL
5Avancé

5) Installation

IPI/UPI, DNS/Load Balancer, ignition, disconnected, Day-2 ops.

openshift-installIgnition
6Avancé

6) Sécurité

SCC, RBAC, OAuth/IdP, mTLS, Compliance Operator, NetworkPolicies.

SCCSELinux
7Moyen

7) CI/CD & GitOps

Tekton Pipelines, Triggers, Argo CD, S2I. Dev → Build → Deploy.

TektonArgo CD
8Moyen

8) Observabilité

Prometheus/Alertmanager, Grafana, Loki/EFK, Metrics & logging operators.

PromQLEFK
9Facile

9) Tarifs & Licences

OKD gratuit; OCP (Std/Premium), Dedicated (core-hour), support entreprise.

SupportSLA
10Facile

10) CLI (oc)

Login, new-project, new-app, get/describe/logs, adm, top, policy.

ocadm
11Moyen

11) Multi-cloud & Edge

AWS/Azure/GCP/VMware/Bare Metal, RHACM, MicroShift/Edge.

RHACMEdge
12Facile

12) Cas d’usage

Banque/PCI, Santé/HIPAA, Telco/5G, Industrie, Public.

Compliance
13Facile

13) Docs & ressources

Docs OCP/OKD, Learning Portal, Operators Hub, Marketplace.

DocsTraining
14Facile

14) OpenShift vs K8s

Sécurité renforcée, console, S2I, registry intégré, GitOps natif.

Comparatif
15Facile

15) Avantages / Limites

+ SĂ©curitĂ©/Support; − CoĂ»t/ComplexitĂ© (vs k3s/EKS).

Pros/Cons
16Moyen

16) Architecture type

Control Plane HA, Ingress/Router HAProxy, Registry intégré, Observabilité.

HARouter
17Facile

17) Conclusion & Next

Plateforme K8s d’entreprise, focus sĂ©curitĂ© & gouvernance. Prochaines Ă©tapes.

Roadmap
1) Introduction Ă  OpenShift

OpenShift (OCP) est la plateforme conteneurs d’entreprise de Red Hat, bĂątie sur Kubernetes, avec CRI-O pour le runtime, Operators pour l’automatisation, Tekton pour le CI/CD et Argo CD pour le GitOps. Elle offre un cadre sĂ©curisĂ© (SCC/SELinux), gouvernĂ© (RBAC/OAuth/IdP), et industrialisĂ© (Registry, Console, Routing, Monitoring).

  • PaaS : build → deploy → run (S2I, pipelines, promotions).
  • SĂ©curitĂ© : isolation forte, politiques strictes, conformitĂ© (CIS/NIST/PCI/HIPAA).
  • Support : Red Hat (SLA, patches, CVE, lifecycle).
Résumé en 1 ligne
OpenShift = Kubernetes + Sécurité + CI/CD + GitOps + Support Red Hat
Exemple S2I (Node.js)
oc new-project demo
oc new-app nodejs:18-ubi8~https://github.com/sclorg/nodejs-ex.git --name=hello
oc expose svc/hello
2) Architecture & Composants

OpenShift Ă©tend Kubernetes avec : Console Web, OAuth/IdP, Router HAProxy, Image Registry intĂ©grĂ©, Build/S2I, Pipelines Tekton, GitOps Argo CD, ObservabilitĂ© opĂ©rĂ©e. Le tout s’appuie sur RHCOS (immutable), CRI-O, et etcd (clĂ©/valeur).

[Dev/CI] → Git → Build (S2I/Tekton) → Registry → Deploy (Operators) → Route/Ingress → App
                                  ↑---------------------- ObservabilitĂ© ---------------------↑
ComposantRĂŽleNotes
API ServerFront de l’API K8s/OCPRBAC/OAuth, admission
etcdStockage état clusterHA, chiffrement au repos
Controller/SchedulerReconcile & placement PodsAffinités/taints
Router (HAProxy)L7, TLS, SNI, stickyExposition apps
RegistryDépÎt images interneQuotas, pull-through
OAuth/IdPSSO (LDAP, OIDC, GitHub)Groupes & mappages
OperatorsLifecycle applicatifPatterns CRD

Réseau Pod-to-Pod (SDN OVN-Kubernetes), Services (ClusterIP/NodePort/LoadBalancer), Routes/Ingress (L7). Les NetworkPolicies contrÎlent les flux est-ouest. Le Router gÚre TLS/Edge/PassThrough/Reencrypt.

Internet → LB → OpenShift Router(HAProxy) → Service(ClusterIP) → Pods
Pod ↔ Pod : overlay OVN-K, politiques NetPol (deny/allow)
3) Versions & Éditions
  • OCP (On-prem/Cloud) : support Red Hat, marketplace, lifecycle.
  • OKD : distribution communautaire (Origin), features proches d’OCP.
  • OpenShift Dedicated : managĂ© par Red Hat sur hyperscalers.
  • OpenShift Online : PaaS public (dĂ©veloppeur/POC).
Cycle de vie (exemple)
OCP 4.x : releases fréquentes, z-streams pour correctifs (CVE), Extended Update Support possible.
4) OS & Infrastructure

RHCOS : OS immuable basé sur rpm-ostree, mises à jour atomiques & rollback. IntÚgre CRI-O, kubelet, agents MCO (Machine Config Operator).

# Inspect version & rollback
rpm-ostree status
sudo rpm-ostree rollback
PlateformeSupportNotes
Bare MetalOuiIPI/UPI, Metallb (LB), iPXE
VMware vSphereOuiCSI/Cloud Provider
AWS/Azure/GCPOuiIPI natif (LB/DNS/Storage)
OpenStackOuiProvider intégré

Hardening : SELinux enforcing, fapolicyd, auditd, journald forwardĂ©. Chiffrement etcd, clĂ©s TLS gĂ©rĂ©es par l’API, KMS externes possibles.

5) Installation & Day-2 Ops
# 1) Générer l'infra & cluster (ex: AWS)
openshift-install create cluster --dir=cluster --log-level=info
export KUBECONFIG=cluster/auth/kubeconfig
oc whoami && oc get nodes -o wide

Pré-requis : DNS publics (api, api-int, *.apps), LB L4/7, IAM (cloud), VLANs (on-prem), NTP/PKI.

UPI : tu fournis toi-mĂȘme l’infra (PXE, LB, DNS, ignition) puis l’installateur ne fait que “joindre” les nƓuds.

openshift-install create manifests --dir=cluster
openshift-install create ignition-configs --dir=cluster
# Déployer ignitions via iPXE/HTTP, booter RHCOS, puis joindre.

Mode dĂ©connectĂ© : mirroring d’images et d’Operators (quay ↔ registry privĂ©).

oc adm release mirror \
  --from=quay.io/openshift-release-dev/ocp-release:4.16.12-x86_64 \
  --to=registry.local/ocp/release --to-release-image=registry.local/ocp/release:4.16.12
  • MCO : gĂ©rer configs systĂšme (chrony, sysctl, kubelet conf) via MachineConfig.
  • ClusterVersion Operator : mises Ă  jour contrĂŽlĂ©es (Channel, Overrides).
  • ClusterAutoscaler/MachineAutoscaler : scale nodes auto.
oc get clusterversion
oc get co                                     # ClusterOperators
oc get machinesets -n openshift-machine-api
oc adm must-gather                            # bundle diag
journalctl -u kubelet --no-pager | tail -200
6) Sécurité (SCC, RBAC, OAuth, NetPol, Compliance)

Les Security Context Constraints encadrent les capacités des Pods : utilisateur, SELinux, volumes, hostPath, privs, etc.

# Associer un serviceaccount Ă  une SCC "nonroot"
oc adm policy add-scc-to-user nonroot -z app-sa -n prod
# Lier un rÎle "view" à un groupe LDAP mappé
oc adm policy add-role-to-user view "CN=devs,OU=Groups,DC=corp,DC=lan" -n sandbox
# OAuth : IdP OIDC, mappage groupes, scopes
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata: {name: allow-frontend, namespace: prod}
spec:
  podSelector: {matchLabels: {app: backend}}
  ingress:
    - from: [{podSelector: {matchLabels: {app: frontend}}}]
      ports: [{protocol: TCP, port: 8080}]

Use Compliance Operator pour scanner CIS/NIST/PCI : profils, scans planifiés, remédiations (MachineConfig/Ansible).

7) CI/CD (Tekton) & GitOps (Argo CD)
Pipeline Tekton (extrait)
apiVersion: tekton.dev/v1
kind: Pipeline
metadata: {name: build-deploy}
spec:
  tasks:
    - name: build
      taskRef: {name: buildah}
      params: [{name: IMAGE, value: image-registry.openshift-image-registry.svc:5000/prod/app:latest}]
    - name: deploy
      runAfter: [build]
      taskRef: {name: kubernetes-actions}
      params: [{name: script, value: "oc rollout restart deploy/app -n prod"}]
Argo CD (GitOps)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata: {name: app-prod, namespace: openshift-gitops}
spec:
  source: {repoURL: https://git/org/app-config.git, path: overlays/prod, targetRevision: main}
  destination: {server: https://kubernetes.default.svc, namespace: prod}
  syncPolicy: {automated: {prune: true, selfHeal: true}}
8) Observabilité (Monitoring & Logging)
# Pod CPU top
oc adm top pods -A
# PromQL: Util CPU moyenne (5m)
rate(container_cpu_usage_seconds_total{container!="",pod!=""}[5m])
# Logs app
oc logs deploy/app -f -n prod
# Stack: Loki/Fluentd/Grafana ou EFK (Elasticsearch/Fluentd/Kibana)
# Alertmanager : routes → Slack/PagerDuty
# Exemple rule
- alert: HighErrorRate
  expr: sum(rate(http_requests_total{status=~"5.."}[2m])) > 1
  for: 5m
  labels: {severity: warning}
9) Tarifs & Licences (aperçu indicatif)
ÉditionCoĂ»tSupportRemarques
OKDGratuitCommunautaireIdéal lab/POC
OCP StandardLicence/cores8x5Cluster prod
OCP PremiumLicence/cores24x7Critique
OpenShift Dedicatedcore-hourGéré RHManaged cloud

Consulte les tarifs exacts avec ton partenaire Red Hat (dimensionnement, options RHACM, ACS, Quay, etc.).

10) Aide-mémoire CLI (oc/adm)
oc login https://api.cluster:6443
oc new-project sandbox
oc new-app python:3.11-ubi9~https://github.com/user/repo.git --name=api
oc expose svc/api
oc get pods -A -o wide
oc describe pod ...
oc adm top nodes
oc adm policy add-role-to-user admin alice -n prod
oc set image deploy/api api=image-registry.../api:1.2.3
oc rollout restart deploy/api -n prod
oc get events --sort-by=.lastTimestamp
11) Multi-cloud, Edge & RHACM

RHACM gÚre flotte multi-clusters (policy, placement, observabilité). MicroShift : OCP allégé pour Edge/IoT.

# RHACM - Policy (ex. enforce NetPol)
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata: {name: enforce-netpol}
spec: {disabled: false, remediationAction: enforce}
12) Cas d’usage (exemples)
  • Banque/FinTech : microservices PCI DSS, isolation forte, secrets gĂ©rĂ©s.
  • SantĂ© : trajectoires HIPAA, audit logs, chiffrement, traçabilitĂ©.
  • Telco : 5G/edge, CNFs, autoscale, faible latence.
Pattern “3 environnements”
dev → stage → prod
Promotion via GitOps (PR/merge), images signées (cosign), politiques admission.
13) Documentation & Ressources
  • Docs officielles OpenShift (OCP 4.x), OKD (community), Learning Portal.
  • OperatorHub : Operators certifiĂ©s (DB, ObservabilitĂ©, Messaging...).
  • Best practices : multitenancy, quotas, security contexts, limits/requests.
Tip: crée un "Runbook" interne (SOP) : checklist install, patching, policy RHACM, backup etcd, DR testé.
14) OpenShift vs Kubernetes “vanilla”
CritĂšreOpenShiftKubernetes pur
InstallationInstalleur intégré IPI/UPIkubeadm/kops/DIY
SécuritéSCC/SELinux/OAuth/RBAC strictsRBAC/PSP (dépr.)/PSA
ConsoleWeb console complĂšteDashboard/Lens Ă  part
CI/CDTekton/Argo intĂ©grĂ©sÀ installer
RegistryIntégréHarbor/DockerHub externes
SupportRed HatCommunautaire/Cloud vendor
15) Avantages & Limites
✅ Points forts
  • SĂ©curitĂ© entreprise (SCC, SELinux, Compliance).
  • ÉcosystĂšme intĂ©grĂ© : Console, Registry, Pipelines, GitOps.
  • Operators & lifecycle automatisĂ©.
  • Support & cycle de vie maĂźtrisĂ©s.
⚠ Limites
  • CoĂ»t licence/support.
  • ComplexitĂ© d’exploitation (vs k3s/EKS managĂ©).
  • Exigences infra (LB/DNS/PKI) plus strictes.
16) Architecture type (mermaid)
graph TD
U[Dev / Ops] -->|oc/Console| A[OpenShift API]
A --> B[Controller]
A --> C[Scheduler]
A --> D[(etcd)]
A --> E[Workers]
E --> F[Pods Apps]
E --> G[Image Registry]
E --> H[Router (HAProxy)]
I[Monitoring (Prometheus/Alertmanager/Grafana)] --> A
J[Git + Tekton + Argo CD] --> A
      

Remplace/complĂšte par une image PNG si tu prĂ©fĂšres (voir bouton “Diagrammes”).

17) Conclusion & prochaines étapes

OpenShift apporte une opinion forte et sécurisée de Kubernetes, avec CI/CD & GitOps out-of-the-box, Operators et une gouvernance intégrée. Idéal pour des environnements régulés, hybrides et à grande échelle.

Next steps
  • Valider l’architecture cible (HA, storage, rĂ©seau, IdP).
  • DĂ©finir les guardrails (SCC, quotas, limites, policies RHACM).
  • Mettre en place la supply chain (build signing, SBOM, scans).
Bouton “Installer” – Raccourcis utiles
openshift-install create cluster --dir=cluster --log-level=debug
export KUBECONFIG=cluster/auth/kubeconfig
oc get co && oc get nodes -o wide
oc get clusteroperators | grep -v Available=True
# Post-install
oc new-project demo
oc new-app python:3.11-ubi9~https://github.com/user/repo.git --name=api
oc expose svc/api
oc get route -n demo
Diagrammes OpenShift sous Red Hat

Place tes fichiers dans static/img/openshift/ puis remplace les sources ci-dessous.

Vue globale
OCP Global
CI/CD & GitOps
OCP CI/CD