Score:1

จะเชื่อมโยง configmap กับไฟล์ภายนอกได้อย่างไร

ธง ke

ด้วยสิ่งนี้ เราสามารถสร้าง configmap ที่เชื่อมโยงกับไฟล์ภายนอกได้

kubectl สร้าง configmap database-config --from-file=database.properties

แต่เมื่อเราแก้ไข yaml มันจะแสดงว่ามีการดัมพ์เนื้อหาทั้งหมดของไฟล์ไว้ที่นั่น

มีอยู่แล้วหรือไม่ที่จะชี้ไปที่ไฟล์ใน yaml ด้วย เพื่อที่ฉันจะได้เก็บไฟล์คุณสมบัติไว้ในโฟลเดอร์เดียวกับ configmap yaml และ appy โฟลเดอร์ yamls ทั้งหมดด้วย:

kubectl ใช้ -f target_folder\

กรุณาแนะนำ

Score:0
ธง in

อะไร คอนฟิกแมป เป็น

ConfigMap เป็นวัตถุ API ที่ใช้เก็บข้อมูลที่ไม่เป็นความลับ คู่คีย์-ค่าพ็อดสามารถใช้ ConfigMaps เป็นตัวแปรสภาพแวดล้อม อาร์กิวเมนต์บรรทัดคำสั่ง หรือเป็นไฟล์คอนฟิกูเรชันในวอลุ่ม

ConfigMap ช่วยให้คุณแยกการกำหนดค่าเฉพาะสภาพแวดล้อมออกได้ จากอิมเมจคอนเทนเนอร์ของคุณ เพื่อให้แอปพลิเคชันของคุณทำได้อย่างง่ายดาย แบบพกพา

กล่าวอีกนัยหนึ่งเมื่อ คอนฟิกแมป ถูกสร้างขึ้นจากไฟล์ภายนอก (เช่นกรณีของคุณ) หรือจากค่าอื่น ๆ เซิร์ฟเวอร์ API จะตรวจสอบว่าทุกอย่างถูกต้องหรือไม่ จากนั้นจะบันทึกลงใน ฯลฯ. นอกจากนี้ยังอธิบายเหตุผลว่าทำไมเมื่อคุณ แก้ไข ของคุณ คอนฟิกแมป คุณเห็นบริบททั้งหมดของมัน สิ่งนี้เกิดขึ้นเพราะ คอนฟิกแมป คืออ่านจาก ฯลฯไม่ใช่แหล่งข้อมูลภายนอกใดๆ

นี่เป็นหนึ่งในเหตุผลที่ไม่แนะนำให้จัดเก็บไฟล์บันทึกขนาดใหญ่เป็น configmaps หรือข้อมูลลับ เนื่องจากจะส่งผลต่อประสิทธิภาพของคลัสเตอร์ kubernetes เนื่องจากออบเจกต์ของคลัสเตอร์ทั้งหมดถูกจัดเก็บไว้ใน ฯลฯ.

ปรับแต่ง

นี่เป็นวิธีหนึ่งในการบรรลุความต้องการของคุณในการเรียกใช้คำสั่งเดียวในการสร้าง/กำหนดค่า คอนฟิกแมป ขึ้นอยู่กับไฟล์ในไดเร็กทอรีเดียวกัน เป็นเครื่องมือแบบสแตนด์อโลนในการปรับแต่งออบเจ็กต์ Kubernetes ผ่านไฟล์การปรับแต่ง

ฉันสร้างตัวอย่างสั้น ๆ และง่าย ๆ เพื่อแสดงแนวคิด:

$ ต้นไม้
.
âââ application.properties
âââ kustomization.yaml
0 ไดเร็กทอรี 2 ไฟล์

$cat kustomization.yaml 
เครื่องกำเนิดตัวเลือก:
  enableNameSuffixHash: true # แฟล็กนี้ใช้เพื่อหลีกเลี่ยงการสร้าง configmap ใหม่ แต่จะถูกแก้ไขเมื่อบริบทของไฟล์เปลี่ยนไป
configMapGenerator:
- ชื่อ: การกำหนดค่าแอปพลิเคชัน
  ไฟล์:
  - application.properties

$cat application.properties 
Listen.url=localhost:9010
client.url=some_url:3000

ทดสอบนี้คำสั่งนี้จะ เรนเดอร์เท่านั้น configmap จะยังไม่สร้าง:

$ kubectl ปรับแต่ง application.settings/
api เวอร์ชัน: v1
ข้อมูล:
  แอปพลิเคชันคุณสมบัติ: |
    Listen.url=localhost:9010
    client.url=some_url:3000
ประเภท: ConfigMap
ข้อมูลเมตา:
  ชื่อ: การกำหนดค่าแอปพลิเคชัน

ขั้นตอนสุดท้ายคือการ นำมาใช้ มัน:

$ kubectl ใช้ -k application.settings/
สร้าง configmap/application-config แล้ว

$ kubectl รับ ซม
ชื่อข้อมูลอายุ
การกำหนดค่าแอปพลิเคชัน 1 23 วินาที

คำอธิบายสั้น ๆ สำหรับคำสั่งด้านบน:

หากต้องการใช้ทรัพยากรเหล่านั้น ให้เรียกใช้ kubectl ที่ใช้กับ --kustomize หรือ -k ธง.

Wytrzymały Wiktor avatar
it flag
สวัสดี @uday นี่ [ตอบคำถามของคุณ](https://stackoverflow.com/help/someone-answers)ไหม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา