La DIO a mis en place un prototype de cluster openshift/OKD (OKD est la version gratuite de openshift) qui est une parmi d’autre d’un cluster Kubernetes.
À noter très important qu’il s’agit d’un prototype et qu’il ne faut en aucun cas mettre des services en production sur le cluster.
Actuellement le stockage est un système ceph en hyperconvergé (le ceph tourne dans le cluster lui même qui le ré-expose à lui même). Ce n’est pas la solution à terme (qui sera un CEPH externe).
Cependant pour ceux qui ont envie de tester vous étés libre de faire «ce que vous voulez».
L’URL est https://picard.paas.obspm.fr
Les applications seront exposés sur *.apps.paas.obspm.fr
L’authentification se fait via OIDC (notre CAS).
Pour le test il faut installer le client oc il est critique d’installer la version qui vient de https://github.com/okd-project/okd/releases/tag/ et me surtout pas installer la version openshift. Cela se voit en tapant la commande
oc version
Dans la chaine de retour il faut impérativement
Client Version: 4.12.0-0.okd-2023-03-05-022504
la chaine “okd”
N’hésitez à pas échanger ici en rajoutant l’étiquette k8s
Je reçois un timeout lors de la connexion à l’api via oc
oc version
Client Version: 4.15.0-0.okd-2024-03-10-010116
oc login --token=sha256~mon jeton --server=https://api.paas.obspm.fr:6443
error: dial tcp 145.238.186.11:6443: i/o timeout - verify you have provided the correct host and port and that the server is currently running.
Mon jeton est issu de ma connexion sur l’interface web.
Je me connecte en passant par OpenVPN (je suis chez moi)
Le port 6443 semble filtré
nmap -p6443 api.paas.obspm.fr
Starting Nmap 7.70 ( https://nmap.org ) at 2024-06-20 22:26 CEST
Nmap scan report for api.paas.obspm.fr (145.238.186.11)
Host is up (0.0055s latency).
PORT STATE SERVICE
6443/tcp filtered sun-sr-https
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds
Merci Albert,
Je n’ai rien changé de particulier et la connexion depuis le client oc fonctionne bien maintenant, et je peux exécuter des commandes.
Je continue de tester différentes configurations.
Bonjour,
J’ai l’impression qu’il n’y a pas de Load Balancer installé sur le cluster. Mon service LoadBalancer reste en pending et je n’ai pas les droits d’installation.
~/okd$ k get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
egress-lb LoadBalancer 172.30.19.158 <pending> 80:30694/TCP 3m57s
hello-svc NodePort 172.30.174.67 <none> 80:30690/TCP 17h
Serait-il possible d’installer par exemple celui-ci:
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.8/config/manifests/metallb-native.yaml
kubectl -n metallb-system get all
Je vois pas de raison particulière pourquoi on aurait besoin d’un loadbalancer sur un openshift.
Il y a déjà les ha proxy qui vont bien pour accéder au cluster depuis l’extérieur.
C’est quoi le but ?
Rappel : C’est un openshift pas tout à fait un kubernetes…
Oui, les 2 solutions sont surement possibles. Disons que, ce que j’ai compris en tant que novice, c’est que dans la philosophie d’un cluster Kubernetes offrant un service PAAS, l’intégration du Load Balancer dans le cluster est généralement conseillée, c’est d’ailleurs la raison d’être du type d’objet de base de Kubernetes : service LoadBalancer.
Dans mon cas, c’est juste pour des tests, donc si le load balancer MetalLB ne s’installe pas du premier coup (vu qu’il est, à la base, prévu pour Kubernetes et pas pour Openshift) inutile d’insister et de perdre du temps la dessus.
Ce que je veux dire c’est que c’est natif dans openshift, on n’a pas besoin d’en installer un en plus. Si tu veux plus d’instance (de part exemple ton apache) il suffit d’augmenter le nombre d’instance. Via l’utilisation du dns interne ça devrait «le faire».
En ce qui concerne l’accès, il y a dans la configuration du dns de obspm.fr déjà un *.paas.obspm.fr qui renvoit sur le ha-proxy du cluster openshift.
Par défaut si tu déploie une application (par exemple dans le «market») ça sera nom_projet.paas.obspm.fr qui sera pris (ou quelques choses dans le genre).
Surtout que je ne pense pas que cela soit utile…
À noter très important : j’ai des compétences aussi très limiter en k8s ou openshift, donc si ça se trouve je raconte des conneries…
Un autre point, j’ai l’impression que je n’ai pas les droits pour créer un namespace ?
$oc project dpawg2
Already on project "dpawg2" on server "https://api.paas.obspm.fr:6443".
$ oc create namespace argo
Error from server (Forbidden): namespaces is forbidden: User "grolleau" cannot create resource "namespaces" in API group "" at the cluster scope