您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關linux如何安裝cloud-init,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
安裝 cloud-init
如果您需要使用已有鏡像創建ECS實例,可以通過導入鏡像功能完成配置。在導入Linux類型鏡像時,為了保證導入的鏡像hostname、NTP和Yum源配置成功,建議您預先在源服務器、虛擬機或者云主機上安裝cloud-init。
注意事項
目前,支持安裝cloud-init的Linux發行版包括CentOS、Debian、Fedora、FreeBSD、Gentoo、RHEL(Red Hat Enterprise Linux)、SLES(SUSE Linux Enterprise Server)和Ubuntu。
若您的源服務器、虛擬機或者云主機已經安裝了cloud-init,您需要確認cloud-init版本號高于0.7.9,包含低版本cloud-init的鏡像會引起相關實例配置失敗,例如NTP、HostName 和Yum等。
登錄源服務器、虛擬機或者云主機。
運行 cloud-init --version 查詢cloud-init版本。
如果您的cloud-init版本號高于0.7.9,表示該版本可用。否則您需要 安裝cloud-init。
前提條件
安裝cloud-init之前,您的源服務器、虛擬機或者云主機必須安裝以下軟件。
git:下載cloud-init源碼包
yum安裝方式:yum install git
Python2.7:cloud-init運行和安裝的基礎
yum安裝方式:yum install python
pip:安裝cloud-init依賴的Python庫
yum安裝方式:yum install python-pip
此處列舉了 yum 安裝方式。zypper 或者 apt-get 的包管理器安裝方式與 yum 安裝方式類似。
安裝cloud-init
您可以按以下步驟安裝cloud-init:
登錄待導入鏡像的源服務器、虛擬機或者云主機。
運行 git clone https://git.launchpad.net/cloud-init 從cloud-init官網下載cloud-init源碼包。
運行 cd cloud-init 進入cloud-init目錄。
運行 python setup.py install 安裝cloud-init的安裝文件setup.py。
運行 vi /etc/cloud/cloud.cfg 修改配置文件cloud.cfg。
將 cloud_init_modules 之前的配置修改成如下:
# Example datasource config # The top level settings are used as module # and system configuration. # A set of users which may be applied and/or used by various modules # when a 'default' entry is found it will reference the 'default_user' # from the distro configuration specified below users: - default user: name: root lock_passwd: False # If this is set, 'root' will not be able to ssh in and they # will get a message to login instead as the above $user disable_root: false # This will cause the set+update hostname module to not operate (if true) preserve_hostname: false syslog_fix_perms: root:root datasource_list: [ AliYun ] # Example datasource config datasource: AliYun: support_xen: false timeout: 5 # (defaults to 50 seconds) max_wait: 60 # (defaults to 120 seconds) # metadata_urls: [ 'blah.com' ] # The modules that run in the 'init' stage cloud_init_modules:
排查故障
不同鏡像缺少的庫可能不同,您都可以通過pip安裝,安裝完之后再次重復以上步驟 4。
缺少six和oauthlib庫
安裝過程中,如果出現以下信息,表示Python缺少six庫。您可以使用pip安裝six庫:pip install six。
File "/root/cloud-init/cloudinit/log.py", line 19, in <module> import six ImportError: No module named s )
安裝過程中,如果出現以下信息,表示Python缺少oauthlib庫。您可以使用pip安裝oauthlib庫:pip install oauthlib。
File "/root/cloud-init/cloudinit/url_helper.py", line 20, in <module> import oauthlib.oauth2 as oauth2 ImportError: No module named oauthlib.oaut )
提示錯誤時沒有明確缺少的依賴庫
如果安裝報錯時,沒有明確提示缺少哪些依賴庫時,您可以根據cloud-init的requirements.txt文件里顯示的庫,并運行 pip install -r requirements.txt 安裝所有依賴庫。
關于linux如何安裝cloud-init就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。