使用Rancher-Gen動(dòng)態(tài)更新配置文件-創(chuàng)新互聯(lián)

Docker和Rancher讓大家能更輕易地部署和管理基于微服務(wù)的應(yīng)用程序。然而,如果有些服務(wù)是依賴于其他動(dòng)態(tài)服務(wù)的,那該如何管理它們的配置?你是否時(shí)常覺(jué)得,要是有方法能自動(dòng)檢測(cè)后端服務(wù)的變化,并實(shí)現(xiàn)配置文件的動(dòng)態(tài)更新就好了?本文給你答案。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)肥東免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

前言

Docker和Rancher讓大家能更輕易地部署和管理基于微服務(wù)的應(yīng)用程序。然而,有一個(gè)關(guān)鍵的挑戰(zhàn)是,如果有些服務(wù)是依賴于其他動(dòng)態(tài)服務(wù)的,那該如何管理它們的配置?

試想以下情形:您有多個(gè)運(yùn)行Web應(yīng)用程序的后端容器,和一些將所有的請(qǐng)求都代理到這些后端容器的nginx容器。現(xiàn)在,你必須要部署一個(gè)新版本的Web應(yīng)用程序,這意味著你需要構(gòu)建和部署新版本的后端容器。在這些部署工作完成之后,nginx的配置需要更改為指向新的后端容器。那么,你該怎樣處理nginx呢?改變其配置,構(gòu)建一個(gè)新的容器并部署它?此刻的你是不是會(huì)覺(jué)得,要是有方法能自動(dòng)檢測(cè)后端服務(wù)的變化,并實(shí)現(xiàn)nginx的動(dòng)態(tài)更新就好了?

這就是Rancher-Gen要閃亮登場(chǎng)的時(shí)刻!

Rancher-Gen是一個(gè)Python的工具,它能監(jiān)聽(tīng)的Rancher服務(wù)的變化,并呈現(xiàn)一個(gè)用戶指定的Jinja2模板。這允許用戶為現(xiàn)有的、并基于這些變化的服務(wù)生成配置文件。另外,Rancher-Gen提供了一種機(jī)制,在模板呈現(xiàn)之后會(huì)運(yùn)行通知命令。下面的教程會(huì)介紹如何自動(dòng)生成運(yùn)行g(shù)host博客平臺(tái)后端服務(wù)的nginx配置文件 。

教程

下面介紹的所有配置文件都可以在Rancher-Gen庫(kù)中的演示目錄下找到。

第1步 – 部署Ghost服務(wù)

為簡(jiǎn)單起見(jiàn),我們打算使用Docker hub中的官方ghost鏡像。因此,創(chuàng)建一個(gè)docker-compose.yml 文件,并添加以下的ghost服務(wù):

使用Rancher-Gen動(dòng)態(tài)更新配置文件

現(xiàn)在,用Rancher Compose部署ghost服務(wù):

使用Rancher-Gen動(dòng)態(tài)更新配置文件

第2步 – 用Rancher-Gen創(chuàng)建nginx鏡像

下面是用以搭建nginx鏡像的Dockerfile:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

讓我們來(lái)一步一步拆解Dockerfile。步驟1和2不言自明:只需安裝nginx、Python和Rancher-Gen。

第3步要設(shè)置鏡像啟動(dòng)時(shí)運(yùn)行的服務(wù)。第一個(gè)服務(wù)是nginx,它用/etc/servce/nginx文件運(yùn)行。該文件的內(nèi)容是:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

注意一下在通知步驟之后,我們是怎樣通過(guò)名為 /nginxconf/default.j2 和/etc/nginx/sites-available/default 的這兩個(gè)路徑的。前者是Jinjia2模板,后者是渲染模板的輸出位置。以下是在default.j2文件的內(nèi)容:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

Dockerfile的第4步和第5步在鏡像中設(shè)置了運(yùn)行命令“/sbin/my_init”并暴露端口80和443。

現(xiàn)在是時(shí)候構(gòu)建鏡像了:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

第3步 – 創(chuàng)建并部署nginx服務(wù)

現(xiàn)在我們已有了nginx鏡像,就可以開(kāi)始向我們?cè)诘?步中創(chuàng)建的docker-compose.yml文件中添加nginx服務(wù)了。

使用Rancher-Gen動(dòng)態(tài)更新配置文件

上述可變的RANCHER_GEN_OPTIONS環(huán)境是用于向Rancher-Gen傳遞附加命令行選項(xiàng)的 。你可以在Rancher-Gen文檔中查看這些選項(xiàng)的說(shuō)明。

現(xiàn)在運(yùn)行rancher-compose來(lái)啟動(dòng)nginx服務(wù):

使用Rancher-Gen動(dòng)態(tài)更新配置文件

此時(shí),ghost和nginx服務(wù)都啟動(dòng)并運(yùn)行了:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

而且,將瀏覽器指向運(yùn)行中的nginx容器中主機(jī)的IP地址,你就可以訪問(wèn)ghost了:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

如果你使用shell來(lái)檢查nginx容器,并打開(kāi)渲染的文件 /etc/nginx/sites-enabled/default,你將會(huì)看到以下的輸出:

使用Rancher-Gen動(dòng)態(tài)更新配置文件

正如預(yù)期的那樣,這是在運(yùn)行rancher-gen命令時(shí)的基于指定模板的渲染輸出。此時(shí),如果你要升級(jí)ghost服務(wù),并再次查看渲染文件,你會(huì)發(fā)現(xiàn)上游部分下的IP地址已經(jīng)改變了。

結(jié)論

總結(jié)來(lái)說(shuō),Rancher-Gen是一個(gè)自動(dòng)化工具,可用于生成文件,并運(yùn)行通知命令。借助Jinja2的模板表現(xiàn)力,及其整潔的命令行界面,Rancher-Gen可用于生成大多數(shù)配置文件,并自動(dòng)解決那些對(duì)大多數(shù)系統(tǒng)管理員和軟件工程師而言繁瑣和重復(fù)的工作。

原文來(lái)源:Rancher Labs

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:使用Rancher-Gen動(dòng)態(tài)更新配置文件-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://www.muchs.cn/article6/shsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、虛擬主機(jī)品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化