Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 40 additions & 3 deletions docs/containers_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ Au-delà du positionnement, chaque offre s'appuie sur des choix technologiques d
| **Stockage persistant** | OpenShift Data Foundation | Rook-Ceph |
| **Réseau (CNI)** | OVN-Kubernetes | Cilium |
| **Ingress / Load Balancing** | HAProxy / MetalLB | NGINX Ingress / MetalLB |
| **Sécurité (Policy Engine)** | Security Context Constraints (SCC) | Kyverno |
| **Sauvegarde** | Veeam Kasten K10 (option) | Veeam Kasten K10 |
| **Sécurité (Policy Engine)** | Security Context Constraints (SCC) | PSA + Kyverno + Capsule |
| **Sauvegarde** | Veeam Kasten K10 (option) | Veeam Kasten K10 (inclus) |
| **Automatisation (GitOps)** | OpenShift Pipelines | ArgoCD |
| **Observabilité** | Prometheus / Grafana | Prometheus / Grafana / Loki |

Expand All @@ -47,6 +47,43 @@ Le choix de la plateforme de conteneurisation est une décision structurante. Vo
...et que vous devez opérer dans un secteur hautement régulé (public, santé, OIV) ou qualifier votre propre solution, l'**Offre PaaS OpenShift** est la solution de référence qui vous apporte le plus haut niveau de garantie du marché.

* **Si vous privilégiez l'open source, la modernité et la sécurité "zero-trust"...**
...et que votre culture d'entreprise est fortement orientée vers l'open source, l'absence de dépendance éditeur et les approches de sécurité de nouvelle génération (systèmes immuables, gestion par API), l'**Offre Managed Kubernetes** est la plus alignée avec votre vision.
et que votre culture d'entreprise est fortement orientée vers l'open source, l'absence de dépendance éditeur et les approches de sécurité de nouvelle génération (systèmes immuables, gestion par API), l'**Offre Managed Kubernetes** est la plus alignée avec votre vision.

Notre rôle de conseil est de vous accompagner dans cette décision. Nos architectes sont à votre disposition pour analyser votre contexte et définir avec vous la meilleure trajectoire.

---

## Explorer nos solutions

<div className="row">
<div className="col col--6">
<div className="card">
<div className="card__header">
<h3>PaaS OpenShift</h3>
</div>
<div className="card__body">
<p>
Découvrez notre plateforme "as a Service" pour moderniser vos applications sur un socle certifié SecNumCloud.
</p>
</div>
<div className="card__footer">
<a href="./paas_openshift" className="button button--primary button--block">En savoir plus</a>
</div>
</div>
</div>
<div className="col col--6">
<div className="card">
<div className="card__header">
<h3>Managed Kubernetes</h3>
</div>
<div className="card__body">
<p>
Explorez notre offre Kubernetes pure, portable et sans surcouche, hébergée sur une infrastructure souveraine.
</p>
</div>
<div className="card__footer">
<a href="./managed_kubernetes" className="button button--primary button--block">En savoir plus</a>
</div>
</div>
</div>
</div>
236 changes: 184 additions & 52 deletions docs/managed_kubernetes/concepts.md

Large diffs are not rendered by default.

11 changes: 6 additions & 5 deletions docs/managed_kubernetes/managed_kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ title: Vue d'ensemble
</div>
</div>

Managed Kubernetes by Cloud Temple est une solution d’orchestration de conteneurs basée sur des produits OpenSources et conçue pour offrir un haut niveau de sécurité, de résilience et d’automatisation sur les plateformes SecNumcloud de Cloud Temple. Chaque cluster est déployé dans un environnement IaaS Cloud-Temple (VMware ou OpenIaaS) entièrement dédié au client.
Managed Kubernetes by Cloud Temple est une solution d’orchestration de conteneurs basée sur des produits OpenSources et conçue pour offrir un haut niveau de sécurité, de résilience et d’automatisation sur les plateformes SecNumcloud de Cloud Temple. Chaque cluster est déployé dans un environnement IaaS Cloud-Temple OpenIaaS entièrement dédié au client.

Cette offre est conçue pour les experts Kubernetes et les adeptes de l'open source qui recherchent une solution native, portable, sans surcouche constructeur, sur un OS minimaliste et immuable conçu pour l’automatisation et la sécurité.

Expand All @@ -47,20 +47,21 @@ La solution inclut nativement une stack complète et cohérente d'outils open so

Nous proposons deux architectures distinctes pour répondre à vos besoins, que ce soit pour des environnements de développement ou de production critiques.

### Architecture Mono-AZ (Développement et Test)
### Architecture "Dev/Test"

Idéale pour les environnements hors production, cette architecture compacte déploie toutes les ressources au sein d'une seule zone de disponibilité (AZ). Elle est conçue pour l'agilité et la maîtrise des coûts.

- **Cas d'usage** : Développement, tests, pré-production, proof-of-concept (POC).
- **Cas d'usage** : Développement, tests, proof-of-concept (POC).
- **Points clés** :
- 1 nœud Control Plane.
- 3 nœuds Workers (ou plus).
- Le stockage distribué (Ceph) est co-localisé sur les nœuds workers.
- Ne bénéficie pas de SLA de haute disponibilité.
- aucune restriction de sécurité

<img src={require('./images/archi_overview_1az.png').default} alt="Architecture Mono-AZ" />

### Architecture Multi-AZ (Production)
### Architecture Production (Multi-AZ)

Conçue pour la production et les applications critiques, cette architecture distribue les ressources sur trois zones de disponibilité (AZ) pour garantir une haute disponibilité et une résilience maximale, conformément aux exigences SecNumCloud.

Expand Down Expand Up @@ -88,4 +89,4 @@ L'offre inclus en détail les composants suivants:
- Cost management avec KubeCost
- Stratégies de sécurité avancée avec Kyverno et Capsule
- Veeam Kasten (sauvegarde, automatisations inter-environnements et réversibilité)
- (optionnel): Authentification Entra avec SSO
- (optionnel): Authentification SSO avec un Identity Provider Externe OIDC (Microsoft Entra, FranceConnect, Okta, AWS IAM, Google, Salesforce, ...)
112 changes: 103 additions & 9 deletions docs/managed_kubernetes/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,115 @@ Bienvenue sur le guide de démarrage de **Managed Kubernetes** Cloud Temple.

L'objectif de cette section est de vous orienter vers les ressources nécessaires pour prendre en main votre cluster.

### Avant de commencer
---

## Avant de commencer

Pour interagir avec votre cluster, deux éléments sont indispensables :
Pour interagir avec votre cluster, plusieurs éléments sont indispensables :

1. **Le fichier `kubeconfig`** : Ce fichier, qui vous est fourni par les équipes Cloud Temple à la livraison du service, contient toutes les informations pour vous connecter de manière sécurisée.
2. **L'outil `kubectl`** : Il s'agit de l'interface en ligne de commande standard pour piloter un cluster Kubernetes.
3. **L'outil `kubelogin`** (si OIDC est utilisé) : Si votre cluster est configuré pour s'authentifier via un fournisseur d'identité OIDC (comme Entra ID/Azure AD), vous devez installer l'outil `kubelogin` pour gérer le flux d'authentification. Suivez le [guide d'installation de kubelogin](https://github.com/int128/kubelogin).

Outils graphiques recommandés: Pour une expérience plus visuelle et une gestion simplifiée de vos ressources, nous vous recommandons l'utilisation de **Lens**. C'est un outil puissant pour Kubernetes qui vous permet d'explorer votre cluster, de gérer vos applications et de visualiser leur état de manière graphique.
Certains de nos tutoriels utiliseront Lens pour illustrer les manipulations. Vous pouvez le télécharger ici : [https://k8slens.dev/](https://k8slens.dev/).

---

## Accéder à votre cluster Kubernetes Managé

Votre cluster de production est identifié par un code à 5 lettres (6 lettres en Dev/Test). Ce code est utilisé pour construire les url des différentes interfaces. Dans les tutoriaux, nous utiliserons **"ctodev"**.

Les urls sont:

- API kubernetes (utilisée dans kubeconfig):
- **identifiant**.mk.ms-cloud-temple.com:6443 (donc dans notre exemple: [https://ctodev.mk.ms-cloud-temple.com:6443](https://ctodev.mk.ms-cloud-temple.com:6443) )

- url publiques :
- k10.external-secured.**identifiant**.mk.ms-cloud-temple.com
- grafana.external-secured.**identifiant**.mk.ms-cloud-temple.com
- harbor.external-secured.**identifiant**.mk.ms-cloud-temple.com
- kubecost.external-secured.**identifiant**.mk.ms-cloud-temple.com

### Vos premiers pas
*Les url ci dessus ne sont accessible que depuis des IP publiques connues, configurées dans le firewall de la solution. Si vous souhaitez ajouter une IP publique, il faut faire une demande de support.*

Votre première mission consiste à valider la connexion à votre cluster, puis à y déployer une application test pour vous familiariser avec l'environnement.
- url internes :
- ceph.internal.**identifiant**.mk.ms-cloud-temple.com
- argocd.internal.**identifiant**.mk.ms-cloud-temple.com
- hubble.internal.**identifiant**.mk.ms-cloud-temple.com

Nous avons préparé un tutoriel complet qui vous guide pas à pas pour accomplir ces tâches.
*Les url ci dessus ne sont pas exposées sur Internet. Elles ne sont accessibles que sur le réseau Interne Kubernetes Managé.*

<div class="card">
<h3>Tutoriel : Déployer votre première application</h3>
<p>Suivez ce guide détaillé pour vous connecter, déployer une application "Hello World", et l'exposer sur Internet.</p>
<a href="tutorials" class="card-link">Commencer le tutoriel &rarr;</a>
---

## Vos permissions

Pour les clusters Kubernetes Managé **"Dev/Test"**, le compte de service qui vous a été fourni dispose de toutes les permissions sur l'ensemble du cluster (ClusterAdmin)

Sur les cluster **"Production"**, vos permissions sont limitées. Vous disposez d"un droit **"Viewer Etendu"** sur les ressources du cluster. Ce droit accorde un accès en lecture seule à des ressources clés, à la fois au niveau du cluster et pour le diagnostic :

- Namespaces : autorisent les locataires à lister les espaces de noms pour les outils et tableaux de bord.
- Pods, deployments, replicaset... : autorisent les locataires à lister les ressources déployées sur le cluster.
- Nodes : offrent une visibilité sur la capacité, les taints et les labels des nœuds afin de comprendre le comportement du planificateur.
- StorageClasses, PVs, PVCs, VolumeAttachments et CSIDrivers : permettent aux locataires d’identifier les classes de stockage disponibles et de résoudre les problèmes de liaison entre PVC et PV ou les erreurs liées aux pilotes CSI.
- IngressClasses : informent les utilisateurs sur les contrôleurs d’ingress disponibles pour le routage des applications.
- NetworkPolicies, ResourceQuotas, LimitRanges et Events : essentiels pour diagnostiquer les restrictions réseau, les échecs de planification ou les violations de quotas de ressources.

Le compte de service qui vous a été confié a aussi été rendu **propriétaire d'un premier *tenant* Capsule**.
Vous pouvez créer des Namespaces, qui seront rattachés à votre tenant Capsule.
Les comptes externes (OIDC) sont des membres de ce même tenant Capsule, ce qui leur permet d'interagir librement à l'intérieur des **namespaces** qui sont associés au tenant. (Voir le tutoriel "Gérer les permissions avec Capsule")

Certaines actions ne sont pas permises :

- lister / créer des tenant Capsule
- créer des CRD: Si vous devez déployer une application avec des CRD (helm chart d'un opérateur par exemple), vous devrez interagir avec le support pour que ces CRD soient importées (via extraction des yaml depuis le chart helm). Vous pourrez ensuite déployer votre chart helm avec l'option --skip-crds. Voir : [Documentation Helm 3](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)

---

<div class="row">
<div class="col col--4">
<div className="card">
<div className="card__header">
<h3>Tutoriel : Déployer votre première application</h3>
</div>
<div className="card__body">
<p>
Suivez un guide détaillé pour vous connecter, déployer une application "Hello World", et l'exposer sur Internet.
</p>
</div>
<div className="card__footer">
<a href="./tutorials/firstdeploy" className="button button--primary button--block">Commencer le tutoriel &rarr;</a>
</div>
</div>
</div>
<div class="col col--4">
<div className="card">
<div className="card__header">
<h3>Tutoriel : Comprendre le réseau</h3>
</div>
<div className="card__body">
<p>
Découvrez le plan d'adressage, les Ingress Controllers et comment exposer vos services de manière sécurisée.
</p>
</div>
<div className="card__footer">
<a href="./tutorials/networking" className="button button--primary button--block">Voir le tutoriel réseau &rarr;</a>
</div>
</div>
</div>
<div class="col col--4">
<div className="card">
<div className="card__header">
<h3>Tutoriel : Gérer les permissions avec Capsule</h3>
</div>
<div className="card__body">
<p>
Apprenez à utiliser Capsule pour créer des tenants et déléguer des permissions à vos équipes.
</p>
</div>
<div className="card__footer">
<a href="./tutorials/usingcapsule" className="button button--primary button--block">Découvrir Capsule &rarr;</a>
</div>
</div>
</div>
</div>
151 changes: 0 additions & 151 deletions docs/managed_kubernetes/tutorials.md

This file was deleted.

Loading