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

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

公司主營業(yè)務(wù):成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出利辛免費做網(wǎng)站回饋大家。

前言

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

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

這就是Rancher-Gen要閃亮登場的時刻!

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

教程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

現(xiàn)在運行rancher-compose來啟動nginx服務(wù):

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

此時,ghost和nginx服務(wù)都啟動并運行了:

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

而且,將瀏覽器指向運行中的nginx容器中主機的IP地址,你就可以訪問ghost了:

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

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

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

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

結(jié)論

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

原文來源:Rancher Labs

網(wǎng)站題目:使用Rancher-Gen動態(tài)更新配置文件
當前路徑:http://muchs.cn/article46/jepgeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、移動網(wǎng)站建設(shè)品牌網(wǎng)站制作、標簽優(yōu)化網(wǎng)站收錄、網(wǎng)站設(shè)計

廣告

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

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