日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用Ansible來交付Vagrant實例

Ansible 是一款系統(tǒng)管理員進(jìn)行自動化運(yùn)維的強(qiáng)大工具。Ansible 讓配置、交付、管理各種容器、軟件部署變得非常簡單?;谳p量級模塊的架構(gòu)非常適合系統(tǒng)管理,一個優(yōu)點(diǎn)就是如果某個節(jié)點(diǎn)沒有被 Ansible 管理的話,它的資源就不會被使用。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、新沂網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為新沂等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

這篇文章介紹用 Ansible 來配置 Vagrant 實例,它是一個配置好的基礎(chǔ)虛擬機(jī)映像,包含了開發(fā)環(huán)境中需要用到的工具。你可以用它來部署開發(fā)環(huán)境,然后和其他成員協(xié)同工作。用 Ansible,你可以用你的開發(fā)包自動化交付 Vagrant 實例。

我們用 Fedora 24 做主機(jī),用 CentOS 7 來作 Vagrant 實例。

設(shè)置工作環(huán)境

在用 Ansible 配置 Vagrant 實例時,你需要做幾件準(zhǔn)備的事情。首先在宿主機(jī)上安裝 Ansible 和 Vagrant,在你的主機(jī)上運(yùn)行下面的命令來安裝:

sudo dnf install ansible vagrant vagrant-libvirt

上面的命令將 Ansible 和 Vagrant 在你的宿主機(jī)上,以及包括 Vagrant 的 libvirt 接口。Vagrant 并沒有提供托管你的虛擬機(jī)的功能,它需要第三方工具比如:libirt、VirtualBox、VMWare 等等。這些工具可以直接與你的 Fedora 系統(tǒng)上的 libvirt 和 KVM 協(xié)同工作。

接著確認(rèn)你的賬戶在正確的 wheel 用戶組當(dāng)中,確保你可以運(yùn)行系統(tǒng)管理員命令。如果你的賬號在安裝過程中就創(chuàng)建為管理員,那么你就肯定在這個用戶組里。運(yùn)行下面的命令查看:

id | grep wheel

如果你能看到輸出,那么你的賬戶就在這個組里,可以進(jìn)行下一步。如果沒有的話,你需要運(yùn)行下面的命令,這一步需要你提供 root 賬戶的密碼,將 換成你的用戶名:

su -c 'usermod -a -G wheel '

然后,你需要注銷然后重新登錄,確保在用戶組里。

現(xiàn)在要建立你的第一個 Vagrant 實例了,你需要用 Ansible 來配置它。

設(shè)置 Vagrant 實例

配置一個鏡像實例之前,你需要先創(chuàng)建它。創(chuàng)建一個目錄,存放 Vagrant 實例相關(guān)的文件,并且將它作為當(dāng)前工作目錄,用下面這條命令:

mkdir -p ~/lampbox && cd ~/lampbox

在創(chuàng)建鏡像實例之前,你需要搞清楚目的,這個鏡像實例是一個運(yùn)行 CentOS 7 基礎(chǔ)系統(tǒng),模板包括 Apache 的 Web 服務(wù),MariaDB(MySQL 原開發(fā)者創(chuàng)建的一個流行的開源數(shù)據(jù)庫)數(shù)據(jù)庫和 PHP 服務(wù)。

初始化 Vagrant 實例,用 vagrant init 命令:

vagrant init centos/7

這個命令初始化 Vagrant 實例,并創(chuàng)建一個名為 Vagrantfile 的文件,包含一些預(yù)先配置的變量。打開并編輯它,下面的命令顯示了用于這次配置的基本鏡像實例。

config.vm.box = "centos/7"

現(xiàn)在設(shè)置端口轉(zhuǎn)發(fā),以便你配置完畢 Vagrant 實例并讓它運(yùn)行起來之后可以測試它。將下述配置加入到 Vagrantfile 的最終的 end 語句之前:

config.vm.network "forwarded_port", guest: 80, host: 8080

這個命令將 Vagrant 實例 的 80 端口映射為主機(jī)的 8080 端口。

下一步是設(shè)置 Ansible 作為配置 Vagrant 實例的工具,將下述配置加入到 Vagrantfile 最終的 end 語句之前,將 Ansible 作為配置工具(provisioning provider):

config.vm.provision :ansible do |ansible|
  ansible.playbook = "lamp.yml"
end

(必須將這三行在最后的 end 語句之前加入)注意 ansible.playbook = "lamp.yml" 這一句定義了配置鏡像實例的 Ansible playbook 的名字。

創(chuàng)建 Ansible playbook

在 Ansible 之中,playbook 是指在你的遠(yuǎn)端節(jié)點(diǎn)執(zhí)行的策略,換句話說,它管理遠(yuǎn)端節(jié)點(diǎn)的配置和部署。詳細(xì)的說,playbook 是一個 Yaml 文件,在里面寫入你要在遠(yuǎn)端節(jié)點(diǎn)上將要執(zhí)行的任務(wù)。所以,你需要創(chuàng)建一個名為 lamp.yml 的 playbook 來配置鏡像實例。

在 Vagrantfile 相同的目錄里創(chuàng)建一個 lamp.yml 文件,將下面的內(nèi)容粘貼到文件當(dāng)中:

---
- hosts: all
  become: yes
  become_user: root
  tasks:
  - name: Install Apache
    yum: name=httpd state=latest
  - name: Install MariaDB
    yum: name=mariadb-server state=latest
  - name: Install PHP5
    yum: name=php state=latest
  - name: Start the Apache server
    service: name=httpd state=started
  - name: Install firewalld
    yum: name=firewalld state=latest
  - name: Start firewalld
    service: name=firewalld state=started
  - name: Open firewall
    command: firewall-cmd --add-service=http --permanent

每一行代表的意思:

  • hosts: all 指定該 playbook 需要在 Ansible 配置文件中定義的所有主機(jī)上都執(zhí)行,因為還沒定義主機(jī), playbook 將只在本地運(yùn)行。
  • sudo: true 表明該任務(wù)需要用 root 權(quán)限運(yùn)行。(LCTT 譯注:此語句上述配置中缺失。)
  • tasks: 指定當(dāng) playbook 運(yùn)行是需要執(zhí)行的任務(wù),在這一節(jié)之下:
    • name: ... 描述任務(wù)的名字
    • yum: ... 描述該任務(wù)應(yīng)該由 yum 模塊執(zhí)行,可選的 key=value 鍵值對將由 yum 模塊所使用。

當(dāng) playbook 運(yùn)行時,它會安裝最新的 Apache Web 服務(wù)(http),MariaDB 和 PHP。當(dāng)安裝完畢并啟動防火墻 firewalld,給 Apache 打開一個端口。你可以通過編寫 playbook 來完成這些?,F(xiàn)在可以配置它了。

配置鏡像 實例

用 Ansible 配置 Vagrant 實例只需要以下幾步了:

vagrant up --provider libvirt

上面的命令運(yùn)行 Vagrant 實例,將實例的基礎(chǔ)鏡像下載到宿主機(jī)當(dāng)中(如果還沒下載的話),然后運(yùn)行 lamp.yml 來進(jìn)行配置。

如果一切正常,輸出應(yīng)該和下面的例子類似:

這個輸出顯示鏡像實例已經(jīng)被配置好了,現(xiàn)在檢查服務(wù)是否可用,在宿主機(jī)上打開瀏覽器,輸入 http://localhost:8080,記住本地主機(jī)的 8080 端口是 Vagrant 實例映射過來的 80 端口。你應(yīng)該可以看到如下的 Apache 的歡迎界面。

要修改你的 Vagrant 實例,你可以修改 lamp.yml,你能從 Ansible 的官網(wǎng)上找到很多文章。然后運(yùn)行下面的命令來重新配置:

vagrant provision

總結(jié)

現(xiàn)在我們知道怎么用 Ansible 來配置 Vagrant 實例了。這只是一個基本的例子,但是你可以用這些工具來實現(xiàn)不同的例子。比如你可以用所需工具的最新版本來部署一個完整的應(yīng)用?,F(xiàn)在你可以用 Ansible 來配置你自己的遠(yuǎn)端服務(wù)器和容器了。



網(wǎng)頁名稱:用Ansible來交付Vagrant實例
鏈接分享:http://www.5511xx.com/article/djggccj.html