ฉันกำลังพยายามติดตั้ง keycloak บนคลัสเตอร์ GKE ใน GCP ด้วยฐานข้อมูลภายนอก เช่น CloudSQL postrges db
ฉันต้องการใช้เฮลม์เพื่อติดตั้ง ดังนั้น:
หางเสือ repo เพิ่ม bitnami https://charts.bitnami.com/bitnami
ฉันได้ดาวน์โหลดไฟล์ Values.yml จาก bitnami repo และฉันได้อัปเดตส่วน "externalDatabase.externalSecret" ของไฟล์นี้แล้ว เนื่องจากฉันไม่ต้องการป้อนข้อมูลรับรองเป็นข้อความล้วน แต่ฉันได้สร้าง Kubernetes Secret แทน:
$ kubectl รับรหัสลับ keycloak-db-secret -o yaml
api เวอร์ชัน: v1
ข้อมูล:
POSTGRES_DATABASE: <ค่า>
POSTGRES_EXTERNAL_ADDRESS: <ค่า>
POSTGRES_EXTERNAL_PORT: <ค่า>
POSTGRES_PASSWORD: <ค่า>
POSTGRES_USERNAME: <ค่า>
ประเภท: ความลับ
ข้อมูลเมตา:
...
และการแก้ไขใน Values.yml คือ (ส่วนที่เหลือของไฟล์จะไม่เปลี่ยนแปลง):
postgresql:
เปิดใช้งาน: เท็จ
ฐานข้อมูลภายนอก:
ความลับที่มีอยู่:
ชื่อ: keycloak-db-secret
การทำแผนที่คีย์:
โฮสต์: POSTGRES_EXTERNAL_ADDRESS
พอร์ต: POSTGRES_EXTERNAL_PORT
ผู้ใช้: POSTGRES_USERNAME
รหัสผ่าน: POSTGRES_PASSWORD
ฐานข้อมูล: POSTGRES_DATABASE
เมื่อฉันวิ่ง
การติดตั้งหางเสือ --debug my-keycloak bitnami/keycloak -f Values.yml
ฉันได้รับข้อความแสดงข้อผิดพลาด
install.go:173: [debug] เวอร์ชันแผนภูมิดั้งเดิม: ""
install.go:190: [debug] CHART PATH: /home/michal/.cache/helm/repository/keycloak-5.0.7.tgz
coalesce.go:203: คำเตือน: ปลายทางสำหรับความลับที่มีอยู่คือตาราง ละเว้นค่าที่ไม่ใช่ตาราง
coalesce.go:203: คำเตือน: ปลายทางสำหรับความลับที่มีอยู่คือตาราง ละเว้นค่าที่ไม่ใช่ตาราง
ข้อผิดพลาด: ข้อผิดพลาดในการแยกวิเคราะห์ YAML บน keycloak/templates/statefulset.yaml: ข้อผิดพลาดในการแปลง YAML เป็น JSON: yaml: บรรทัดที่ 88: ไม่อนุญาตให้ใช้ค่าการแมปในบริบทนี้
helm.go:81: ข้อผิดพลาด [debug] ในการแปลง YAML เป็น JSON: yaml: บรรทัดที่ 88: ไม่อนุญาตให้ใช้ค่าการจับคู่ในบริบทนี้
ข้อผิดพลาดในการแยกวิเคราะห์ YAML ใน keycloak/templates/statefulset.yaml
helm.sh/helm/v3/pkg/releaseutil.(*manifestFile).sort
/home/circleci/helm.sh/helm/pkg/releaseutil/manifest_sorter.go:146
helm.sh/helm/v3/pkg/releaseutil.SortManifests
/home/circleci/helm.sh/helm/pkg/releaseutil/manifest_sorter.go:106
helm.sh/helm/v3/pkg/action.(*Configuration).renderResources
/home/circleci/helm.sh/helm/pkg/action/action.go:165
helm.sh/helm/v3/pkg/action.(*ติดตั้ง).เรียกใช้
/home/circleci/helm.sh/helm/pkg/action/install.go:240
main.run ติดตั้ง
/home/circleci/helm.sh/helm/cmd/helm/install.go:242
main.newInstallCmd.func2
/home/circleci/helm.sh/helm/cmd/helm/install.go:120
github.com/spf13/cobra.(*Command).execute
/go/pkg/mod/github.com/spf13/[email protected]/command.go:850
github.com/spf13/cobra.(*Command).ExecuteC
/go/pkg/mod/github.com/spf13/[email protected]/command.go:958
github.com/spf13/cobra.(*Command).Execute
/go/pkg/mod/github.com/spf13/[email protected]/command.go:895
main.main
/home/circleci/helm.sh/helm/cmd/helm/helm.go:80
runtime.main
/usr/local/go/src/runtime/proc.go:204
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1374
ฉันได้ตรวจสอบ templates/statefulset.yaml แล้ว แต่ไม่พบสิ่งใดที่อาจเป็นปัญหา (ฉันเป็นผู้เริ่มต้นหางเสือ)
บรรทัดที่ 88 อ้างถึงไฟล์ yaml ที่สร้างขึ้น ไม่ใช่ไฟล์เทมเพลตซึ่งทำให้การตามล่าบั๊กยากขึ้น
ฉันขาดอะไรไปในการกำหนดค่าของฉัน ฉันจะดีบักเพิ่มเติมได้อย่างไร
กรุณาช่วย
ปล. เอกสารสำหรับการเชื่อมต่อ Keycloak กับฐานข้อมูลภายนอกอยู่ที่นี่ :( https://docs.bitnami.com/kubernetes/apps/keycloak/configuration/use-external-database/