本發(fā)明專利技術(shù)提供了一種配置Docker集群容器外部IP的方法,該方法保證在外部可以靈活的訪問Docker集群容器提供的服務(wù)。Docker集群環(huán)境初始化配置外部IP并交給后臺數(shù)據(jù)庫保存,同時在主機建立好路由。Docker集群創(chuàng)建容器后會分配到一個外部IP供外部訪問,后臺數(shù)據(jù)庫記錄映射關(guān)系。Docker集群銷毀容器刪除Linux?Iptables規(guī)則,后臺數(shù)據(jù)庫刪除記錄并回收外部IP。
【技術(shù)實現(xiàn)步驟摘要】
一種配置Docker集群容器外部IP的方法
本專利技術(shù)涉及的是一種計算機軟件應(yīng)用的技術(shù),尤其是一種基于LinuxIptables規(guī)則和Mariadb數(shù)據(jù)庫配置Docker集群容器外部IP的方法,保證在外部可以靈活的訪問Docker集群容器提供的服務(wù)。
技術(shù)介紹
在現(xiàn)有技術(shù)中,公知的技術(shù)是Docker是一個開源的引擎,可以輕松的為任何一個應(yīng)用創(chuàng)建一個輕量級的可移植的、自給自足的容器,開發(fā)者編譯測試通過的容器可以批量的在生產(chǎn)環(huán)境中部署,包括虛擬機、OpenStack集群和其他的基礎(chǔ)應(yīng)用平臺。Docker集群創(chuàng)建容器時一般使用支持多主機通信的Overlay模式,外部訪問容器服務(wù)必須使用端口映射的方式,這存在主機端口不足的致命缺陷。因此我們需要一種配置Docker集群容器外部IP的方法,可以在外部更靈活的訪問容器服務(wù)。LinuxIptables是用來設(shè)置、維護和檢查Linux內(nèi)核的IP包過濾規(guī)則的。我們使用其中的NAT表用于網(wǎng)絡(luò)地址轉(zhuǎn)換,包含PREROUTING、OUTPUT、POSTROUTING三個鏈。每個鏈都是一個規(guī)則列表,對對應(yīng)的包進行匹配;每條規(guī)則指定應(yīng)當如何處理與之相匹配的包,也可以跳向同一表內(nèi)用戶定義的鏈。Mariadb數(shù)據(jù)庫作為MySQL的一個分支,主要有開源社區(qū)維護,采用GPL授權(quán)許可,其目的是完全兼容MySQL,包括API和命令行,使之輕松成為MySQL的代替品,但在擴展功能、存儲引擎以及一些新的功能改進方面都強過MySQL。
技術(shù)實現(xiàn)思路
本專利技術(shù)的目的就是針對現(xiàn)有技術(shù)所存在的不足,而提供一種配置Docker集群容器外部IP的方法,該方法保證在外部可以靈活的訪問Docker集群容器提供的服務(wù)。Docker集群環(huán)境初始化配置外部IP并交給后臺數(shù)據(jù)庫保存,同時在主機建立好路由。Docker集群創(chuàng)建容器后會分配到一個外部IP供外部訪問,后臺數(shù)據(jù)庫記錄映射關(guān)系。Docker集群銷毀容器刪除LinuxIptables規(guī)則,后臺數(shù)據(jù)庫刪除記錄并回收外部IP。本方案是通過如下技術(shù)措施來實現(xiàn)的:一種配置Docker集群容器外部IP的方法,包括如下步驟:1)主機搭建Docker集群環(huán)境,配置外部網(wǎng)絡(luò)的基本信息,后臺數(shù)據(jù)庫建立數(shù)據(jù)表并保存信息,同時Docker主機選取首個外部IP進行路由的創(chuàng)建,數(shù)據(jù)庫記錄該外部IP;2)Docker環(huán)境創(chuàng)建容器時需要申請外部IP,后臺數(shù)據(jù)庫檢索數(shù)據(jù)表分配可用IP;下發(fā)該IP及路由信息到容器所在主機添加并執(zhí)行LinuxIptables規(guī)則,此時可用該IP訪問容器服務(wù),數(shù)據(jù)庫記錄外部IP與內(nèi)部IP的映射;3)Docker環(huán)境銷毀容器時需要釋放外部IP,通知后臺數(shù)據(jù)庫刪除外部IP與內(nèi)部IP的映射記錄,將外部IP重置為可用狀態(tài);下發(fā)該IP到容器所在主機刪除對應(yīng)的LinuxIptables規(guī)則。所述的步驟1)中基本信息包括無類別域間路由選擇CIDR段、網(wǎng)關(guān)、可用IP段。所述的LinuxIptables規(guī)則使用NAT表用于轉(zhuǎn)換包的源或目標地址。所述的后臺數(shù)據(jù)庫采用Mariadb數(shù)據(jù)庫,后臺數(shù)據(jù)庫建立Network、Subnet、IP三張表,其中Network表記錄每個網(wǎng)絡(luò)的基本信息,映射一到多個Subnet表;Subnet表記錄每個網(wǎng)絡(luò)的可用IP段,映射一到多個IP表;IP表記錄每個IP及其是否可用的狀態(tài)。本方案的有益效果可根據(jù)對上述方案的敘述得知,由于在該方案中集成在生產(chǎn)環(huán)境下Docker集群管理環(huán)境工程中,容器可根據(jù)需要靈活的申請與釋放外部IP,從而完成Docker集群網(wǎng)絡(luò)的控制管理與容器服務(wù)的靈活訪問;Docker集群初始化時配置外部網(wǎng)絡(luò)的可用IP范圍,后臺數(shù)據(jù)庫接收參數(shù)建立數(shù)據(jù)表并保存數(shù)據(jù),同時在集群主機上初始化路由。Docker集群創(chuàng)建容器后從外部IP池中分配IP下發(fā)到主機增加LinuxIptables規(guī)則,后臺數(shù)據(jù)庫記錄內(nèi)部IP與外部IP映射信息,此時Docker容器可以用該外部IP進行訪問。Docker集群銷毀容器時在所在主機刪除LinuxIptables規(guī)則,后臺數(shù)據(jù)庫刪除此前的內(nèi)部IP與外部IP映射記錄,回收容器的外部IP并重新置為可用待分配狀態(tài)。由此可見,本專利技術(shù)與現(xiàn)有技術(shù)相比,具有突出的實質(zhì)性特點和顯著的進步,其實施的有益效果也是顯而易見的。具體實施方式為能清楚說明本方案的技術(shù)特點,下面通過一個具體實施方式,對本方案進行闡述。本方案的一種配置Docker集群容器外部IP的方法,包括如下步驟:1)主機搭建Docker集群環(huán)境,配置外部網(wǎng)絡(luò)的基本信息,后臺數(shù)據(jù)庫建立數(shù)據(jù)表并保存信息,同時Docker主機選取首個外部IP進行路由的創(chuàng)建,數(shù)據(jù)庫記錄該外部IP;基本信息包括無類別域間路由選擇CIDR段、網(wǎng)關(guān)、可用IP段。2)Docker環(huán)境創(chuàng)建容器時需要申請外部IP,后臺數(shù)據(jù)庫檢索數(shù)據(jù)表分配可用IP;下發(fā)該IP及路由信息到容器所在主機添加并執(zhí)行LinuxIptables規(guī)則,此時可用該IP訪問容器服務(wù),數(shù)據(jù)庫記錄外部IP與內(nèi)部IP的映射;3)Docker環(huán)境銷毀容器時需要釋放外部IP,通知后臺數(shù)據(jù)庫刪除外部IP與內(nèi)部IP的映射記錄,將外部IP重置為可用狀態(tài);下發(fā)該IP到容器所在主機刪除對應(yīng)的LinuxIptables規(guī)則。所述的LinuxIptables規(guī)則使用NAT表用于轉(zhuǎn)換包的源或目標地址。所述的后臺數(shù)據(jù)庫采用Mariadb數(shù)據(jù)庫,后臺數(shù)據(jù)庫建立Network、Subnet、IP三張表,其中Network表記錄每個網(wǎng)絡(luò)的基本信息,映射一到多個Subnet表;Subnet表記錄每個網(wǎng)絡(luò)的可用IP段,映射一到多個IP表;IP表記錄每個IP及其是否可用的狀態(tài)。本專利技術(shù)并不僅限于上述具體實施方式,本領(lǐng)域普通技術(shù)人員在本專利技術(shù)的實質(zhì)范圍內(nèi)做出的變化、改型、添加或替換,也應(yīng)屬于本專利技術(shù)的保護范圍。本文檔來自技高網(wǎng)...
【技術(shù)保護點】
一種配置Docker集群容器外部IP的方法,其特征在于包括如下步驟:1)主機搭建Docker集群環(huán)境,配置外部網(wǎng)絡(luò)的基本信息,后臺數(shù)據(jù)庫建立數(shù)據(jù)表并保存信息,同時Docker主機選取首個外部IP進行路由的創(chuàng)建,數(shù)據(jù)庫記錄該外部IP;2)Docker環(huán)境創(chuàng)建容器時需要申請外部IP,后臺數(shù)據(jù)庫檢索數(shù)據(jù)表分配可用IP;下發(fā)該IP及路由信息到容器所在主機添加并執(zhí)行Linux?Iptables規(guī)則,此時可用該IP訪問容器服務(wù),數(shù)據(jù)庫記錄外部IP與內(nèi)部IP的映射;3)Docker環(huán)境銷毀容器時需要釋放外部IP,通知后臺數(shù)據(jù)庫刪除外部IP與內(nèi)部IP的映射記錄,將外部IP重置為可用狀態(tài);下發(fā)該IP到容器所在主機刪除對應(yīng)的Linux?Iptables規(guī)則。
【技術(shù)特征摘要】
1.一種配置Docker集群容器外部IP的方法,其特征在于包括如下步驟:1)主機搭建Docker集群環(huán)境,配置外部網(wǎng)絡(luò)的基本信息,后臺數(shù)據(jù)庫建立數(shù)據(jù)表并保存信息,同時Docker主機選取首個外部IP進行路由的創(chuàng)建,數(shù)據(jù)庫記錄該外部IP;2)Docker環(huán)境創(chuàng)建容器時需要申請外部IP,后臺數(shù)據(jù)庫檢索數(shù)據(jù)表分配可用IP;下發(fā)該IP及路由信息到容器所在主機添加并執(zhí)行LinuxIptables規(guī)則,此時可用該IP訪問容器服務(wù),數(shù)據(jù)庫記錄外部IP與內(nèi)部IP的映射;3)Docker環(huán)境銷毀容器時需要釋放外部IP,通知后臺數(shù)據(jù)庫刪除外部IP與內(nèi)部IP的映射記錄,將外部IP重置為可用狀態(tài);下發(fā)該IP到容器所在主機刪除對應(yīng)的LinuxIptables規(guī)則。...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:李珂,潘峰,王德奎,劉安,
申請(專利權(quán))人:鄭州云海信息技術(shù)有限公司,
類型:發(fā)明
國別省市:河南,41
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。