การปรับใช้งานบน Kubernetes
ปรับใช้งาน Casdoor ใน Kubernetes (k8s)
เรามีตัวอย่างพื้นฐานในการปรับใช้งาน Casdoor ในคลัสเตอร์ Kubernetes ในโฟลเดอร์รากของ Casdoor, คุณจะพบไฟล์ที่ชื่อว่า "k8s.yaml" ไฟล์นี้ประกอบด้วยตัวอย่างการตั้งค่าสำหรับการปรับใช้งาน Casdoor ใน Kubernetes, รวมถึงการปรับใช้งานและบริการ
ก่อนที่จะเริ่มการปรับใช้งาน, ตรวจสอบให้แน่ใจว่าคุณได้แก้ไขไฟล์ 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 เพื่อติดตั้งไฟล์การตั้งค่า การใช้ ConfigMap เป็นวิธีที่แนะนำใน Kubernetes สำหรับการติดตั้งไฟล์การตั้งค่าในสภาพแวดล้อมการผลิต