中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Rancher-Gen動態更新配置文件

發布時間:2020-06-29 22:42:56 來源:網絡 閱讀:308 作者:RancherLabs 欄目:網絡安全

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


前言


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


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


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


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


教程


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


第1步 – 部署Ghost服務


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


使用Rancher-Gen動態更新配置文件


現在,用Rancher Compose部署ghost服務:


使用Rancher-Gen動態更新配置文件


第2步 – 用Rancher-Gen創建nginx鏡像


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


使用Rancher-Gen動態更新配置文件


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


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


使用Rancher-Gen動態更新配置文件


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


使用Rancher-Gen動態更新配置文件


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


現在是時候構建鏡像了:


使用Rancher-Gen動態更新配置文件


第3步 – 創建并部署nginx服務


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


使用Rancher-Gen動態更新配置文件


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


現在運行rancher-compose來啟動nginx服務:


使用Rancher-Gen動態更新配置文件


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


使用Rancher-Gen動態更新配置文件


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


使用Rancher-Gen動態更新配置文件


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


使用Rancher-Gen動態更新配置文件


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


結論


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


原文來源:Rancher Labs

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

农安县| 平舆县| 北安市| 获嘉县| 皮山县| 微博| 利津县| 涡阳县| 光泽县| 六安市| 循化| 麻阳| 宜宾县| 陈巴尔虎旗| 雅安市| 泉州市| 大邑县| 镇康县| 新巴尔虎右旗| 满城县| 平乐县| 中卫市| 上饶县| 玛多县| 麻城市| 武平县| 宝坻区| 东光县| 娱乐| 含山县| 鄂伦春自治旗| 崇礼县| 泌阳县| 东光县| 宣武区| 金沙县| 潜江市| 阿克| 陆河县| 英超| 西城区|