Pular para o conteúdo principal

Implantando no Kubernetes

Implante o Casdoor no Kubernetes (k8s)

Nós fornecemos um exemplo básico de implantação do Casdoor em um cluster Kubernetes. Na pasta raiz do Casdoor, você encontrará um arquivo chamado "k8s.yaml". Este arquivo contém um exemplo de configuração para implantar o Casdoor no Kubernetes, incluindo um deployment e um serviço.

Antes de iniciar a implantação, certifique-se de que você modificou o arquivo conf/app.conf para que o Casdoor possa se conectar ao banco de dados com sucesso e que o próprio banco de dados esteja em execução. Além disso, certifique-se de que o Kubernetes possa puxar as imagens necessárias.

Para implantar o Casdoor, execute o seguinte comando:

kubectl apply -f k8s.yaml

Você pode verificar o status da implantação executando o comando kubectl get pods.

Aqui está o conteúdo 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, note que este arquivo é apenas um exemplo. Você pode fazer várias modificações conforme suas necessidades, como usar um namespace diferente, tipo de serviço ou um ConfigMap para montar o arquivo de configuração. Usar um ConfigMap é uma abordagem recomendada no Kubernetes para montar arquivos de configuração em um ambiente de produção.