Passer au contenu principal

Déploiement sur Kubernetes

Déployez Casdoor dans Kubernetes (k8s)

Nous fournissons un exemple de base pour déployer Casdoor dans un cluster Kubernetes. Dans le dossier racine de Casdoor, vous trouverez un fichier nommé "k8s.yaml". Ce fichier contient un exemple de configuration pour déployer Casdoor dans Kubernetes, incluant un déploiement et un service.

Avant de commencer le déploiement, assurez-vous d'avoir modifié le fichier conf/app.conf afin que Casdoor puisse se connecter à la base de données avec succès et que la base de données elle-même soit en fonctionnement. De plus, assurez-vous que Kubernetes puisse télécharger les images nécessaires.

Pour déployer Casdoor, exécutez la commande suivante :

kubectl apply -f k8s.yaml

Vous pouvez vérifier l'état du déploiement en exécutant la commande kubectl get pods.

Voici le contenu de k8s.yaml :

# this is only an EXAMPLE of deploying casddor in kubernetes
# please modify this file according to your requirements
apiVersion: v1
kind: Service
metadata:
#EDIT IT: if you don't want to run casdoor in default namespace, please modify this field
#namespace: casdoor
name: casdoor-svc
labels:
app: casdoor
spec:
#EDIT IT: if you don't want to run casdoor in default namespace, please modify this filed
type: NodePort
ports:
- port: 8000
selector:
app: casdoor
---
apiVersion: apps/v1
kind: Deployment
metadata:
#EDIT IT: if you don't want to run casdoor in default namespace, please modify this field
#namespace: casdoor
name: casdoor-deployment
labels:
app: casdoor
spec:
#EDIT IT: if you don't use redis, casdoor should not have multiple replicas
replicas: 1
selector:
matchLabels:
app: casdoor
template:
metadata:
labels:
app: casdoor
spec:
containers:
- name: casdoor-container
image: casbin/casdoor:latest
imagePullPolicy: Always
ports:
- containerPort: 8000
volumeMounts:
# the mounted directory path in THE CONTAINER
- mountPath: /conf
name: conf
env:
- name: RUNNING_IN_DOCKER
value: "true"
#if you want to deploy this in real prod env, consider the config map
volumes:
- name: conf
hostPath:
#EDIT IT: the mounted directory path in THE HOST
path: /conf

Veuillez noter que ce fichier est seulement un exemple. Vous pouvez effectuer diverses modifications selon vos besoins, telles que l'utilisation d'un autre espace de noms, type de service, ou un ConfigMap pour monter le fichier de configuration. L'utilisation d'un ConfigMap est une approche recommandée dans Kubernetes pour monter des fichiers de configuration dans un environnement de production.