ฉันพยายามที่จะใช้คนจรจัดเป็นวิธีการจัดเตรียมเครื่องเสมือน (การตั้งค่าที่อยู่ IP ทรัพยากร ฯลฯ ) แต่ฉันก็พยายามที่จะแยกการพึ่งพาคนจรจัดของ ansible เช่นฉันเพียงแค่ต้องการใช้คนจรจัดที่จะทำสำรองเพียงครั้งเดียวโดยใช้ ansible ตั้งค่าผู้ใช้ที่ได้รับอนุญาตของฉันปลอดภัยแล้วใช้ Ansible แยกต่างหากเพื่อทำการจัดเตรียมเพิ่มเติมบนเครื่องเสมือนเหล่านี้ จากนั้นฉันก็ยังต้องการใช้คนเร่ร่อน (อาจจะมีวิธีที่ดีกว่านี้) เพื่อนำขึ้น / ลง / ระงับ / ทำลายเครื่องเสมือนโดยใช้คนจรจัด
นี่คือสิ่งที่ฉันมี:
vagrant up
- สร้างอินสแตนซ์ VM ใหม่โดยใช้กล่องคนจรจัด
builtin provisioner BPที่รันระหว่างคนจรจัดขึ้น
- เพิ่มผู้ใช้ใหม่ของฉัน (สมมติว่าansibleuser)
- เพิ่มกุญแจสาธารณะของฉันเองเพื่อansibleuser's.sshให้ansibleuserสามารถเข้าสู่ระบบผ่านทางกุญแจส่วนตัวเท่านั้น (และปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่าน)
- ปรับเปลี่ยน/etc/sudoersสำหรับ sudo ไม่มีรหัสผ่าน
- [ไม่ทำงานในขณะนี้] ลบvagrantผู้ใช้และเปลี่ยนรหัสผ่านรูทเพื่อให้เข้าถึงไม่ได้
ปัญหา
- ฉันไม่สามารถลบ - vagrantผู้ใช้ระหว่างตัว- BPจัดสรรได้เนื่องจากตัวจัดสรรนั้นล็อกอินในฐานะผู้ใช้นั้น ฉันต้องการให้ตัวจัดเตรียมอื่นรันในฐานะผู้ใช้คนอื่น (- ansibleuser) เพื่อลบคนพเนจร มีวิธีที่ดีกว่าในการทำเช่นนี้กับ- vagrant upคำสั่งครั้งแรกและครั้งเดียว
- ถ้าฉันทำอย่าง - vagrant haltนั้น- vagrant upอีกครั้งกระบวนการจะไม่เสร็จสมบูรณ์เพราะมันพยายามที่จะเป็นคนพเนจรและได้รับ- Warning: Authentication failure. Retrying...และไม่สามารถ "นำมาขึ้น" ได้สำเร็จ มีวิธีแก้ไขไหม วิธีแก้ปัญหาที่เป็นไปได้คือการระบุผู้ใช้- config.sshแต่จะต้องมีการตรวจสอบตามเงื่อนไขบางอย่างขึ้นอยู่กับเมื่อฉันเรียกใช้- vagrant up
ฉันจะแก้ปัญหาทั้งสองได้อย่างไร มีวิธีที่ดีกว่าในการทำสิ่งที่ฉันพยายามทำให้สำเร็จหรือไม่? มีวิธีที่ดีกว่าในการจัดเตรียมเครื่องเสมือนกระดูกที่ปลอดภัยและเปลือยเปล่าด้วยการตั้งค่า ssh เพื่อที่ฉันจะสามารถใช้ ansible เพื่อทำสิ่งที่ต้องการสำรองเพิ่มเติมได้หรือไม่? ฉันชอบวิธีการกำหนดค่าเครื่องเสมือนโดยง่ายด้วยการใช้ไฟล์คนจรจัดเช่นการตั้งค่าการshared_foldersกำหนดค่าCPU/RAMทรัพยากรการสร้าง NIC เสมือน