(Optional) ลองใช้ K8s Helm
บทนำ
ตอนนี้เราจะแสดงวิธีการ deploy Casdoor บน Kubernetes โดยใช้ Helm เพื่อการจัดการที่ง่ายและสามารถขยายได้
ข้อกำหนดเบื้องต้น
- Kubernetes cluster ที่กำลังทำงาน
- Helm v3 ที่ติดตั้งแล้ว
ขั้นตอนการติดตั้ง
ขั้นตอนที่ 1: ติดตั้ง Casdoor Chart
Install the Casdoor chart:
helm install casdoor oci://registry-1.docker.io/casbin/casdoor-helm-charts --version v1.702.0
ขั้นตอนที่ 2: เข้าถึง Casdoor
เมื่อติดตั้งแล้ว Casdoor สามารถเข้าถึงได้ที่ URL บริการที่ Kubernetes cluster ของคุณให้
การปรับแต่งและการกำหนดค่า
ปรับแต่งการติดตั้ง Casdoor ของคุณโดยการแก้ไขค่าใน Helm chart สำหรับตัวเลือกที่ละเอียดยิ่งขึ้น โปรดดูที่ไฟล์ values.yaml พารามิเตอร์ต่อไปนี้สามารถกำหนดค่าได้
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
---|---|---|
replicaCount | จำนวนของ replicas ของแอปพลิเคชัน Casdoor ที่จะทำงาน | 1 |
image.repository | Repository สำหรับ Docker image ของ Casdoor | casbin |
image.name | ชื่อของ Docker image ของ Casdoor | casdoor |
image.pullPolicy | นโยบายการดึง Docker image ของ Casdoor | IfNotPresent |
image.tag | แท็กสำหรับ Docker image ของ Casdoor | "" |
config | การตั้งค่าการกำหนดค่าสำหรับแอปพลิเคชัน Casdoor | ดูที่ฟิลด์ config |
database.driver | ไดรเวอร์ฐานข้อมูลที่จะใช้ (รองรับ mysql, postgres, cockroachdb, sqlite3) | sqlite3 |
database.user | ชื่อผู้ใช้ฐานข้อมูล | "" |
database.password | รหัสผ่านฐานข้อมูล | "" |
database.host | โฮสต์ฐานข้อมูล | "" |
database.port | พอร์ตฐานข้อมูล | "" |
database.databaseName | ชื่อของฐานข้อมูลที่ใช้โดย Casdoor | casdoor |
database.sslMode | โหมด SSL สำหรับการเชื่อมต่อฐานข้อมูล | disable |
service.type | ประเภทของ Kubernetes service ที่จะสร้างสำหรับ Casdoor (ClusterIP, NodePort, LoadBalancer ฯลฯ) | ClusterIP |
service.port | หมายเลขพอร์ตสำหรับบริการ Casdoor | 8000 |
ingress.enabled | ไม่ว่าจะเปิดใช้งาน Ingress สำหรับ Casdoor หรือไม่ | false |
ingress.annotations | Annotations สำหรับทรัพยากร Ingress | {} |
ingress.hosts | ชื่อโฮสต์สำหรับทรัพยากร Ingress | [] |
resources | คำขอทรัพยากรและขีดจำกัดสำหรับคอนเทนเนอร์ Casdoor | {} |
autoscaling.enabled | ไม่ว่าจะเปิดใช้งาน Horizontal Pod Autoscaler สำหรับ Casdoor หรือไม่ | false |
autoscaling.minReplicas | จำนวนขั้นต่ำของ replicas สำหรับ Horizontal Pod Autoscaler | 1 |
autoscaling.maxReplicas | จำนวนสูงสุดของ replicas สำหรับ Horizontal Pod Autoscaler | 100 |
autoscaling.targetCPUUtilizationPercentage | เปอร์เซ็นต์การใช้ CPU เป้าหมายสำหรับ Horizontal Pod Autoscaler | 80 |
nodeSelector | ป้ายกำกับโหนดสำหรับการมอบหมายพ็อด | {} |
tolerations | ป้ายกำกับความอดทนสำหรับการกำหนด pod | [] |
affinity | การตั้งค่าความชอบพอสำหรับการกำหนด pod | {} |
extraContainersEnabled | ไม่ว่าจะเปิดใช้งานคอนเทนเนอร์ sidecar เพิ่มเติมหรือไม่ | false |
extraContainers | คอนเทนเนอร์ sidecar เพิ่มเติม | "" |
extraVolumeMounts | การติดตั้ง volume เพิ่มเติมสำหรับคอนเทนเนอร์ Casdoor | [] |
extraVolumes | volume เพิ่มเติมสำหรับคอนเทนเนอร์ Casdoor | [] |
envFromSecret | ให้ตัวแปรสภาพแวดล้อมจาก secret | [{name:"",secretName:"",key:""}] |
envFromConfigmap | ให้ตัวแปรสภาพแวดล้อมจาก configmap | [{name:"",configmapName:"",key:""}] |
envFrom | ให้ตัวแปรสภาพแวดล้อมจาก secret หรือ configmap ทั้งหมด | `[{name:"",type:"configmap \ |
การจัดการการ Deployment
เพื่ออัพเกรดการ deployment Casdoor ของคุณ:
helm upgrade casdoor casdoor/casdoor-helm-charts
เพื่อถอนการติดตั้ง Casdoor:
helm delete casdoor
สำหรับการจัดการและการปรับแต่งเพิ่มเติม โปรดดูที่เอกสารของ Helm และ Kubernetes
สรุป
การใช้ Helm เพื่อ deploy Casdoor บน Kubernetes ทำให้การจัดการและการขยายขอบเขตของบริการการตรวจสอบสิทธิ์ของคุณในสภาพแวดล้อม Kubernetes ของคุณง่ายขึ้น