L'installation comporte deux étapes :
Si vous avez installé l'outil eole3
dans un venv
, il faudra activer celui-ci :
source ~/venv/bin/activate
Dans un dossier dédié sur votre poste de travail, créer un répertoire moncluster
.
Le nom moncluster
est arbitraire. Il est conseillé d'utiliser un nom de dossier sans espaces, sans accents et en minuscules seulement. :
mkdir moncluster
cd moncluster
On peut afficher la configuration par défaut avec la commande suivante :
eole3 config socle
Dans le dossier moncuster
, créer un fichier socle.yaml et l'adapter à votre environnement.
Il faut au minimum adapter la valeur de la variable domain à votre nom de domaine :
cat > socle.yaml <<EOF
default:
#general domain for the deployment
domain: mon-domaine.fr
EOF
Ensuite générer les fichiers de déploiement avec la commande suivante :
eole3 --config socle.yaml build socle
Si vous n'utilisez pas Cert Manager, copier la clef privée (tls.key) et le certificat (tls.crt) wildcard ou multi-domaines dans le répertoire "./install/infra/ingress-nginx/". Vous devez obtenir :
./install/infra/ingress-nginx/tls.key
./install/infra/ingress-nginx/tls.crt
Il est possible de changer de dépot pour récupérer une image ou une version spécifique, il faut ajouter une section dans le fichier de configuration socle.yaml
.
Exemple pour cert-manager
qui utilise plusieurs images
cert-manager:
deploy: <Déploiement du composant cert-manager sur le cluster> [False]
enabled: <Utiliser un service cert-manager déjà présent sur le cluster> [False]
clusterIssuerName: <Nom de la ressource du fournisseur pour Let's Encrypt> [laboite-clusterissuer]
type: <Type d'environement> [staging|prod]
email: <Courriel de contact pour la date d'expiration des certificats> [eole@ac-dijon.fr]
namespace: <namespace de déploiement de cert-manager> [cert-manager]
chart:
version: <Version du Helm chart> [v1.15.3]
repoUrl: <URL du dépôt du Helm chart> [https://charts.jetstack.io|~]
images:
registry: <~ (valeur correspondant à la section default), upstream (valeur par défaut du helm), <custom registry> (dépôt personnalisé des images Docker)> [~|upstream|<custom registry>]
controller:
name: <nom de l'image> [eole3/cert-manager-container-image/cert-manager-controller]
tag: <tag de l'image> [v1.15.3-eole3.0]
webhook:
name: <nom de l'image> [eole3/cert-manager-container-image/cert-manager-webhook]
tag: <tag de l'image> [v1.15.3-eole3.0]
cainjector:
name: <nom de l'image> [eole3/cert-manager-container-image/cert-manager-cainjector]
tag: <tag de l'image> [v1.15.3-eole3.0]
acmesolver:
name: <nom de l'image> [eole3/cert-manager-container-image/cert-manager-acmesolver]
tag: <tag de l'image> [v1.15.3-eole3.0]
startupapicheck:
name: <nom de l'image> [eole3/cert-manager-container-image/cert-manager-startupapicheck]
tag: <tag de l'image> [v1.15.3-eole3.0]
Exemple pour blog
qui utilise une image
blog:
deploy: <Déployer le composant blog> [true]
hostname: <Nom de l'application> [blog]
whitelistIps: <Liste des adresses IP à autoriser (notation CIDR)> [0.0.0.0/0]
images:
registry: <URL du dépôt des images Docker> [~]
blog:
name: <Nom de l'image blog> [laboite-blog_front]
tag: <Tag de l'image blog> [~]
Assurez vous d'avoir exporté la variable KUBECONFIG
faisant référence au fichier kubeconfig.yaml
concernant votre cluster Kubernetes.
Installer la configuration de déploiement avec la commande suivante :
eole3 deploy socle
Pour mettre à jour le socle, il vous faut :
Éditer le fichier moncluster/socle.yaml et mettre à jour les options.
Depuis le dossier moncluster
, générer les fichiers de déploiement avec la commande :
cd moncluster
source venv/bin/activate
eole3 --config socle.yaml build socle
deactivate
Mettre à jour la configuration avec la commande suivante :
eole3 update socle
Une fois le socle de base installé, vous pouvez installer des services additionnels et des outils d'administration.