เท่าที่ฉันเห็น cloud-init
ทำงานทุกครั้งที่คอนฟิกเปลี่ยน ไม่ใช่แค่ครั้งแรกที่ระบบบูท แต่ทุกครั้งที่คอนฟิกูเรชันที่ให้มาเปลี่ยนแปลง สิ่งนี้ค่อนข้างสมเหตุสมผล เพราะฉันคิดว่าเป็นการยากที่จะกำหนด "ครั้งแรก" (VM ที่โคลนได้รันก่อนที่จะถูกแช่แข็งและใช้เป็นเทมเพลต ดังนั้นมันจึงไม่ใช่ครั้งแรกจริงๆ) อย่างไรก็ตาม ฉันได้ค้นพบเป็นครั้งคราว ค่อนข้างน้อย แต่ก็ยังพบสิ่งนั้นอยู่ cloud-init
ทำงานซ้ำบนระบบที่จัดเตรียมไว้แล้วเมื่อรีบูต
อย่างไรก็ตาม บางขั้นตอนดูเหมือนจะทำให้การตั้งค่าเสียหายเมื่อ cloud-init
ทำงานบนระบบที่กำหนดค่าไว้อย่างสมบูรณ์ ตัวอย่างเช่น หากเรียกใช้อีกครั้งหลังจากการตั้งค่าเริ่มต้นและ cloud-init
ตั้งค่าการกำหนดค่าบางอย่างเป็นค่า เอ็กซ์
แต่คุณได้ทำการลบล้างด้วยตนเองในภายหลังเป็น วาย
และตอนนี้ cloud-init
รันใหม่เพื่อตั้งค่ากลับเป็น เอ็กซ์
. หรือให้ระบบสร้างโฮสต์คีย์ SSH ของคุณใหม่
ฉันพบว่ามีประโยชน์มากในการเรียกใช้ด้วยตนเอง:
sudo touch /etc/cloud/cloud-init.disabled
...หลังจากการตั้งค่าเริ่มต้นเพื่อป้องกันไม่ให้ทำงาน cloud-init
อีกครั้ง. (ในกรณีที่ cloud-init
ใช้สำหรับการกำหนดค่าประเภท "โคลน & ตั้งค่า IPs / ชื่อโฮสต์" เริ่มต้นเท่านั้น)
แต่มีวิธีใดบ้างที่จะทำให้สิ่งนี้เป็นไปโดยอัตโนมัติ? เช่นเดียวกับการเพิ่มพารามิเตอร์บางอย่างให้กับ /etc/cloud/cloud.cfg
ที่ปิดตัวเองหลังจากการวิ่งครั้งต่อไป?