메인 콘텐츠로 건너뛰기

쿠버네티스에 배포하기

쿠버네티스(k8s)에 Casdoor 배포하기

우리는 쿠버네티스 클러스터에 Casdoor를 배포하는 기본 예제를 제공합니다. Casdoor의 루트 폴더에서 'k8s.yaml'이라는 이름의 파일을 찾을 수 있습니다. 이 파일에는 Casdoor를 쿠버네티스에 배포하기 위한 예제 설정이 포함되어 있으며, 배포 및 서비스가 포함되어 있습니다.

배포를 시작하기 전에 conf/app.conf 파일을 수정하여 Casdoor가 데이터베이스에 성공적으로 연결할 수 있도록 하고, 데이터베이스 자체가 실행 중인지 확인해야 합니다. 또한, 쿠버네티스가 필요한 이미지를 끌어올 수 있는지 확인하세요.

Casdoor를 배포하려면 다음 명령을 실행하세요:

kubectl apply -f k8s.yaml

kubectl get pods 명령을 실행하여 배포 상태를 확인할 수 있습니다.

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

이 파일은 단지 예제일 뿐임을 유의하세요. 다른 네임스페이스, 서비스 유형 또는 구성 파일을 마운트하기 위한 ConfigMap을 사용하는 등 요구 사항에 따라 다양한 수정을 할 수 있습니다. ConfigMap을 사용하는 것은 프로덕션 환경에서 구성 파일을 마운트하기 위한 쿠버네티스에서 권장하는 접근 방식입니다.