วิธีกำจัด cloud-init


20

ฉันใช้ Ubuntu 14.04 ภาพเป็นกล่องฐานของฉันสำหรับคนจรจัด น่าเสียดายที่กล่องฐานนี้มี cloud-init ซึ่งทำให้เกิดปัญหามากมายระหว่างการเริ่มต้นเครื่อง: https://github.com/mitchellh/vagrant/issues/3860

ฉันไม่ได้ใช้เครื่องในระบบคลาวด์ดังนั้นฉันไม่ต้องการสิ่งนี้ ฉันพิมพ์แม้ว่า:

sudo apt-get remove cloud-init

จะแก้ปัญหาของฉัน แต่เครื่องยังคงใช้เวลาประมาณ 3 นาทีเมื่อเริ่มต้นพยายามกำหนดสิ่งที่ฉันไม่ต้องการ

ฉันสามารถดูมีจำนวน AA ของเมฆที่ init ไฟล์ที่เกี่ยวข้องใน/etc/init(ตัวอย่างเช่นcloud-init.conf, cloud-final.conf, cloud-config.confฯลฯ ) ฉันสามารถลบได้ แต่ฉันไม่แน่ใจว่าปลอดภัยหรือไม่

ฉันได้ติดตั้งrcconfเพื่อตรวจสอบสคริปต์ starup ทั้งหมด แต่ฉันไม่พบสิ่งใดที่เกี่ยวข้องกับ cloud-init ที่นั่น ความคิดใด ๆ

คำตอบ:


12

ตามเอกสาร cloud-initวิธีการปิดใช้งานคือ:

sudo touch /etc/cloud/cloud-init.disabled

และ / หรือตั้งค่าcloud-init=disabledบนบรรทัดคำสั่งเคอร์เนลหากเปิดใช้งานวิธีนั้น


โปรดทราบว่ามันไม่ได้ลบออก มันยังอยู่ที่นั่น แต่มันจะหยุดพยายามกำหนดค่าสิ่งต่าง ๆ ในช่วงแรก ๆ ดูcloudinit.readthedocs.io/en/latest/topics/boot.html
Ludovic Kuty

แน่ใจว่าเป็นเหตุผลที่ผมบอกว่ามันจะปิดการใช้งานมัน
Pierz

1
ใช่คุณถูก. ความคิดเห็นของฉันไม่มีประโยชน์
Ludovic Kuty

6

ใน 14.04 คุณสามารถใช้ dpkg-reconfigure เพื่อปิดการใช้งาน cloud-init ด้วยวิธีต่อไปนี้:

echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg
sudo dpkg-reconfigure -f noninteractive cloud-init

หรือเพียงใช้sudo dpkg-reconfigure cloud-initเพื่อทำแบบโต้ตอบ


6

สิ่งนี้ใช้ได้กับฉันใน Ubuntu Server 18.04.1 LST

  1. $ echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg

  2. $ sudo apt-get purge cloud-init

  3. $ sudo rm -rf /etc/cloud/; sudo rm -rf /var/lib/cloud/

  4. $ reboot

โชคดี.


1
จริงๆ? เปลี่ยนไฟล์ที่คุณลบสองขั้นตอนในภายหลังหรือไม่ ดูเหมือนว่าคุณสามารถข้ามขั้นตอนแรกได้
Enno Gröper

2

Cloud Init อยู่ที่นั่นเพื่อกำหนดค่าเครือข่ายและสามารถหยุดในระยะต่าง ๆ ได้ ในเวอร์ชันล่าสุดคุณสามารถปิดการใช้งาน Cloud Init ในระยะแรกโดยตรวจสอบให้แน่ใจว่ามีไฟล์ต่อไปนี้อยู่:

/etc/cloud/cloud-init.disabled

หรือในภายหลังโดยตรวจสอบให้แน่ใจว่าไฟล์/etc/cloud/cloud.cfg.d/99-disable-network-config.cfgมีอยู่กับเนื้อหาต่อไปนี้:

network: {config: disabled}

คุณสามารถใช้คำสั่งนี้เพื่อ:

$ sudo echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

ข้อมูลนี้สามารถพบได้ในความคิดเห็นส่วนหัวของ/etc/netplan/50-cloud-init.yamlซึ่งในส่วนอ่านดังนี้

# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

นี่คือจากไฟล์ใน Ubuntu 18.04 LTS และน่าจะใช้ได้สำหรับรุ่นต่อ ๆ ไป


IMHO จะปิดใช้งานส่วนการกำหนดค่าเครือข่ายเท่านั้น ดังนั้นจึงไม่เพียงพอ
Ludovic Kuty

@LudovicKuty ซึ่งเป็นสิ่งที่ cloud-init ทำอยู่ที่นั่น: กำหนดค่าสิ่งต่าง ๆ ดังนั้นหากคุณหยุดพยายามกำหนดค่าสิ่งต่าง ๆ คุณได้บรรลุเป้าหมายแล้วและก็เพียงพอที่จะทำให้มันเป็นไปตามที่คุณต้องการ หากคุณยืนยันไม่ได้โปรดอธิบายว่า "พอ" จะเป็นเช่นไร
code_dredd

อาจยังคงพยายามกำหนดค่าสิ่งอื่นนอกเหนือจากเครือข่าย IMHO ผู้ปฏิบัติการต้องการปิดการใช้งานอย่างสมบูรณ์ โปรดทราบว่ารายละเอียดนี้อาจน่าสนใจในกรณีอื่น ๆ
Ludovic Kuty

@LudovicKuty ความคิดเห็นของคุณกำลังถูกมองเป็นการเก็งกำไร ("IMHO", "มันอาจ ... ", ฯลฯ ) หากคุณไม่สามารถแสดงให้เห็นว่าเอกสารผิดและพยายามดำเนินการต่อหลังจากที่ถูกบอกไม่ให้ทำฉันไม่คิดว่าจะมีอะไรอีกมากมายและในกรณีนี้คุณควรรายงานข้อผิดพลาดให้ดีกว่า . นี่ก็เพียงพอแล้วทุกครั้งที่ฉันทำมันในเซิร์ฟเวอร์ของฉัน
code_dredd

ไปตรวจสอบcloudinit.readthedocs.io/en/latest/topics/boot.html VS cloudinit.readthedocs.io/en/latest/topics/network-config.html คุณกำลังวิจารณ์ "IMHO" และ "อาจ" ของฉันและคุณกำลังเขียน "วิธีที่ถูกต้องในการปิดใช้งาน Cloud Init อยู่กับคำสั่งนี้" แต่คุณควรเพิ่ม "IMHO" เนื่องจากไม่ใช่วิธีที่ถูกต้องในการทำ
Ludovic Kuty
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.