V10-sp1離線源碼編譯安裝 cloud-init-18.5
cloud-init-18.5
cloud-init源碼下載下傳位址:https://launchpad.net/cloud-init/+download
參考:https://cloud.tencent.com/document/product/213/12587
1.準備
1.1 上傳cloud-init源碼包
# mkdir /usr/local/sources
将cloud-init-18.5.tar.gz上傳到/usr/local/sources目錄下
1.2 上傳依賴包
# 上傳依賴包到/tmp下
# ls /tmp/cloud-init-soft.tar.bz2
1.3 配置本地yum源安裝依賴
# mv kylin_x86_64.repo kylin_x86_64.repo.bak
# tar -xf /tmp/cloud-init-soft.tar.bz2 -C /media/
# yum-config-manager --add-repo=file:///media/cloud-init-soft/
# echo "gpgcheck=0" >> media_cloud-init-soft_.repo
# yum clean all && yum list
# yum -y install python* #一定要把本機自帶的repo備份移走,用上面我們自己建立的!
2.安裝并配置cloud-init
2.1 解壓源碼包并安裝
# cd /usr/local/sources/ && tar -xf cloud-init-18.5.tar.gz
# cd cloud-init-18.5/
# python setup.py build #輸出如下:
.....
running build_scripts
creating build/scripts-2.7
copying tools/cloud-init-per -> build/scripts-2.7
# python setup.py install --init-system systemd #輸出如下:
......
Using /usr/lib/python2.7/site-packages
Finished processing dependencies for cloud-init==18.5
2.2 修改參數
-
[Unit] Description=Initial cloud-init job (pre-networking) Wants=network-pre.target After=systemd-remount-fs.service Before=NetworkManager.service Before=network-pre.target Before=shutdown.target Conflicts=shutdown.target RequiresMountsFor=/var/lib/cloud [Service] Type=oneshot ExecStart=/usr/bin/cloud-init init --local ExecStart=/bin/touch /run/cloud-init/network-config-ready RemainAfterExit=yes TimeoutSec=0 # Output needs to appear in instance console output StandardOutput=journal+console [Install] WantedBy=cloud-init.target
-
[Unit] Description=Initial cloud-init job (metadata service crawler) Wants=cloud-init-local.service Wants=sshd-keygen.service Wants=sshd.service After=cloud-init-local.service After=systemd-networkd-wait-online.service After=networking.service After=systemd-hostnamed.service Before=network-online.target Before=sshd-keygen.service Before=sshd.service Before=systemd-user-sessions.service Conflicts=shutdown.target [Service] Type=oneshot ExecStart=/usr/bin/cloud-init init RemainAfterExit=yes TimeoutSec=0 # Output needs to appear in instance console output StandardOutput=journal+console [Install] WantedBy=cloud-init.target
2.3 啟動服務設定開機自啟
# systemctl daemon-reload
# export LC_ALL=C
# 啟動并開機自啟
# systemctl enable cloud-init-local.service
# systemctl start cloud-init-local.service
# systemctl enable cloud-init.service
# systemctl start cloud-init.service
# systemctl enable cloud-config.service
# systemctl start cloud-config.service
# systemctl enable cloud-final.service
# systemctl start cloud-final.service
# 檢視狀态
# systemctl status cloud-init-local.service
# systemctl status cloud-init.service
# systemctl status cloud-config.service
# systemctl status cloud-final.service
2.4 檢視版本
[root@v10-sp1-0518-2 ~]# cloud-init -v
/usr/bin/cloud-init 18.5