Kubernetesへのデプロイ
Kubernetes(k8s)でCasdoorをデプロイする
KubernetesクラスターでCasdoorをデプロイする基本的な例を提供します。 Casdoorのルートフォルダには、「k8s.yaml」という名前のファイルがあります。 このファイルには、デプロイメントとサービスを含む、KubernetesでCasdoorをデプロイするための例の設定が含まれています。
デプロイを開始する前に、conf/app.conf
ファイルを変更して、Casdoorがデータベースに正常に接続できるようにし、データベース自体が実行されていることを確認してください。 また、Kubernetesが必要なイメージをプルできることを確認してください。
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を使用することもできます。 本番環境での設定ファイルのマウントには、KubernetesでConfigMapを使用することが推奨されています。