Saltar al contenido principal

Desplegando en Kubernetes

Desplegar Casdoor en Kubernetes (k8s)

Proporcionamos un ejemplo básico de cómo desplegar Casdoor en un clúster de Kubernetes. En la carpeta raíz de Casdoor, encontrarás un archivo llamado "k8s.yaml". Este archivo contiene un ejemplo de configuración para desplegar Casdoor en Kubernetes, incluyendo un despliegue y un servicio.

Antes de iniciar el despliegue, asegúrate de haber modificado el archivo conf/app.conf para que Casdoor pueda conectarse a la base de datos con éxito y que la base de datos misma esté en funcionamiento. Además, asegúrate de que Kubernetes pueda descargar las imágenes necesarias.

Para desplegar Casdoor, ejecuta el siguiente comando:

kubectl apply -f k8s.yaml

Puedes verificar el estado del despliegue ejecutando el comando kubectl get pods.

Aquí está el contenido 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

Por favor, ten en cuenta que este archivo es solo un ejemplo. Puedes realizar varias modificaciones según tus requisitos, como usar un espacio de nombres diferente, tipo de servicio, o un ConfigMap para montar el archivo de configuración. Usar un ConfigMap es un enfoque recomendado en Kubernetes para montar archivos de configuración en un entorno de producción.