成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一種生產(chǎn)環(huán)境Docker Overlay Network的配置方案

CoderStudy / 2194人閱讀

摘要:原文地址介紹一種生產(chǎn)環(huán)境的配置方案。概要先講一下生產(chǎn)環(huán)境中的問題有多個(gè),希望能夠通過連接起來。因此生產(chǎn)環(huán)境中會(huì)同時(shí)存在無狀態(tài)應(yīng)用利用創(chuàng)建的。不會(huì)幫你檢查名稱沖突的情況,如果名稱沖突了那么會(huì)得到錯(cuò)誤的結(jié)果。

原文地址

介紹一種生產(chǎn)環(huán)境Docker overlay network的配置方案。

概要

先講一下生產(chǎn)環(huán)境中的問題:

有多個(gè)Docker host,希望能夠通過Docker swarm連接起來。

Docker swarm只適合于無狀態(tài)應(yīng)用,不適合有狀態(tài)應(yīng)用。

因此生產(chǎn)環(huán)境中會(huì)同時(shí)存在

無狀態(tài)應(yīng)用:利用docker service create/docker stack deploy創(chuàng)建的。

有狀態(tài)應(yīng)用:利用docker run/docker compose up創(chuàng)建的。

希望兩種應(yīng)用能夠連接到同一個(gè)overlay網(wǎng)絡(luò),在網(wǎng)絡(luò)內(nèi)部能夠通過

tasks. DNS name 連接到無狀態(tài)應(yīng)用(見Container discovery)

DNS name 連接到有狀態(tài)應(yīng)用

解決辦法:

創(chuàng)建attachable的overlay network

有狀態(tài)應(yīng)用掛到這個(gè)overlay network上

無狀態(tài)應(yīng)用也掛到這個(gè)overlay network上

步驟

到manager節(jié)點(diǎn)上創(chuàng)建attachable的overlay network,名字叫做prod-overlay:

docker network create -d overlay --attachable prod-overlay

在manager節(jié)點(diǎn)上查看這個(gè)網(wǎng)絡(luò)是否創(chuàng)建成功:

$ docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
fbfde97ed12a        bridge              bridge              local
73ab6bbac970        docker_gwbridge     bridge              local
a2adb3de5f7a        host                host                local
nm7pgzuh6ww4        ingress             overlay             swarm
638e550dab67        none                null                local
qqf78g8iio10        prod-overlay        overlay             swarm

在worker節(jié)點(diǎn)上查看這個(gè)網(wǎng)絡(luò),這時(shí)你看不到這個(gè)網(wǎng)絡(luò),不過不要擔(dān)心,當(dāng)后面在worker節(jié)點(diǎn)上創(chuàng)建工作負(fù)載后就能看到了:

$ docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
fbfde97ed12a        bridge              bridge              local
73ab6bbac970        docker_gwbridge     bridge              local
a2adb3de5f7a        host                host                local
nm7pgzuh6ww4        ingress             overlay             swarm
638e550dab67        none                null                local

在manager上創(chuàng)建容器c1,掛到prod-overlay network上:

docker run --name c1 --network prod-overlay -itd busybox

在worker上創(chuàng)建容器c2,掛到prod-overlay network上:

docker run --name c2 --network prod-overlay -itd busybox

在manager上創(chuàng)建service c,掛到prod-overlay network上:

docker service create -td --name c --replicas 2 --network prod-overlay busybox
驗(yàn)證 查看worker節(jié)點(diǎn)的network

之前在worker節(jié)點(diǎn)上沒有看到prod-overlay network,現(xiàn)在你應(yīng)該可以看見了:

$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
01180b9d4833        bridge              bridge              local
cd94df435afc        docker_gwbridge     bridge              local
74721e7670eb        host                host                local
nm7pgzuh6ww4        ingress             overlay             swarm
32e6853ea78d        none                null                local
dw8kd2nb2yl3        prod-overlay        overlay             swarm
確認(rèn)容器可以互ping

到manager節(jié)點(diǎn)上,讓c1 ping c2

$ docker exec c1 ping -c 2 c2
PING c2 (10.0.2.2): 56 data bytes
64 bytes from 10.0.2.2: seq=0 ttl=64 time=0.682 ms
64 bytes from 10.0.2.2: seq=1 ttl=64 time=0.652 ms

到manager節(jié)點(diǎn)上,讓c1 ping tasks.ctasks.c是之前創(chuàng)建的service c的DNS name:

$ docker exec c1 ping -c 2 tasks.c
PING tasks.c (10.0.2.8): 56 data bytes
64 bytes from 10.0.2.8: seq=0 ttl=64 time=2.772 ms
64 bytes from 10.0.2.8: seq=1 ttl=64 time=0.694 ms

到manager節(jié)點(diǎn)上,讓c1 查詢 tasks.c的DNS name,可以看到tasks.c有兩條記錄:

$ docker exec c1 nslookup -type=a tasks.c
Server:        127.0.0.11
Address:    127.0.0.11:53

Non-authoritative answer:
Name:    tasks.c
Address: 10.0.2.7
Name:    tasks.c
Address: 10.0.2.8

到manager節(jié)點(diǎn)上,查看service c的task,看到有c.1、c.2兩個(gè)task,分別部署在兩個(gè)節(jié)點(diǎn)上:

$ docker service ps c
ID            NAME  IMAGE           NODE            DESIRED STATE  CURRENT STATE           ERROR  PORTS
p5n70vhtnz2f  c.1   busybox:latest  docker-learn-1  Running        Running 17 minutes ago
byuoox1t7cve  c.2   busybox:latest  docker-learn-2  Running        Running 17 minutes ago

c.1 task所在的節(jié)點(diǎn)上,查看task c.1的容器名:

$ docker ps -f name=c.1
CONTAINER ID  IMAGE           COMMAND  CREATED         STATUS         PORTS  NAMES
795a3bd3c20a  busybox:latest  "sh"     21 minutes ago  Up 21 minutes         c.1.p5n70vhtnz2f5q8p2pcvbyfmw

然后在c1里ping task c.1的容器名:

$ docker exec c1 ping -c 2 c.1.p5n70vhtnz2f5q8p2pcvbyfmw
PING c.1.p5n70vhtnz2f5q8p2pcvbyfmw (10.0.2.7): 56 data bytes
64 bytes from 10.0.2.7: seq=0 ttl=64 time=0.198 ms
64 bytes from 10.0.2.7: seq=1 ttl=64 time=0.128 ms

你同樣可以:

c2里:

ping c1

ping tasks.c

ping task c.1、c.2的容器

在task c.1c.2的容器里:

ping c1、c2

ping tasks.c

ping task c.1、c.2的容器

注意

通過docker run / docker compose up創(chuàng)建的容器的名字,要保證在整個(gè)集群里是唯一的。docker 不會(huì)幫你檢查名稱沖突的情況,如果名稱沖突了那么會(huì)得到錯(cuò)誤的DNS結(jié)果。

參考資料

Use overlay networks

Use an overlay network for standalone containers

Docker Reference Architecture: Designing Scalable, Portable Docker Container Networks

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28050.html

相關(guān)文章

  • Prometehus自動(dòng)發(fā)現(xiàn)Docker Swarm Overlay網(wǎng)絡(luò)中容器

    摘要:原文地址介紹如何使用的機(jī)制,自動(dòng)發(fā)現(xiàn)并抓取網(wǎng)絡(luò)中的容器所提供的指標(biāo)。我們需要一種動(dòng)態(tài)發(fā)現(xiàn)容器的方法。使用的機(jī)制,半自動(dòng)的發(fā)現(xiàn)容器。文章最開始說到的半自動(dòng)就是這個(gè)意思,我們得事先知道記錄有哪些,然后讓去發(fā)現(xiàn)這些記錄背后對應(yīng)的容器有哪些。 原文地址 介紹如何使用Prometheus的dns service discovery機(jī)制,自動(dòng)發(fā)現(xiàn)并抓取Docker swarm overlay網(wǎng)絡(luò)中...

    wangtdgoodluck 評論0 收藏0
  • Docker Swarm部署應(yīng)用總結(jié)

    摘要:配置網(wǎng)絡(luò)參照生產(chǎn)環(huán)境配置中的和子網(wǎng)章節(jié)。特別注意觀察和的子網(wǎng)是否與已有網(wǎng)絡(luò)沖突如果有沖突則參考網(wǎng)絡(luò)的中的方法修改子網(wǎng)。部署使用的是的監(jiān)控方案。創(chuàng)建應(yīng)用網(wǎng)絡(luò)創(chuàng)建你也可以改成自己的名字參考網(wǎng)絡(luò)的檢查子網(wǎng)與是否配置正確。 原文 大綱 本文只是一種實(shí)際部署方案的例子,涉及到的技術(shù)有(除Docker/Docker Swarm外): Docker overlay network Fluentd...

    Paul_King 評論0 收藏0
  • Docker Overlay網(wǎng)絡(luò)MTU

    摘要:如果的網(wǎng)卡為,則不需要此步驟設(shè)置和的以下步驟得在或之前做假設(shè)你有三個(gè)機(jī)器,,準(zhǔn)備搞一個(gè)集群獲得的參數(shù),注意停掉刪掉虛擬網(wǎng)卡啟動(dòng)重建,記得設(shè)置之前得到的參數(shù)和正確的值再到和上執(zhí)行相同的命令。 原文地址 Docker Daemon生產(chǎn)環(huán)境配置提到了MTU設(shè)置,但是這只是針對于名為bridge的docker bridge network,對于overlay network是無效的。 如果do...

    wuyangnju 評論0 收藏0
  • Docker Daemon生產(chǎn)環(huán)境關(guān)鍵幾個(gè)參數(shù)

    摘要:原文地址一些生產(chǎn)環(huán)境中要注意的參數(shù)配置。本文介紹一些生產(chǎn)環(huán)境中要特別注意的參數(shù),這些參數(shù)可以通過在命令行參數(shù)形式給,也可以通過在里配置。然后執(zhí)行來驗(yàn)證配置是否生效。它們的原理就是修改參數(shù)。 原文地址 一些docker daemon生產(chǎn)環(huán)境中要注意的參數(shù)配置。 本文介紹一些生產(chǎn)環(huán)境中dockerd要特別注意的參數(shù),這些參數(shù)可以通過在dockerd命令行參數(shù)形式給,也可以通過在/etc/d...

    mengbo 評論0 收藏0
  • Docker Swarm介紹

    摘要:后續(xù)將其他節(jié)點(diǎn)加入集群都會(huì)用到這個(gè)值將節(jié)點(diǎn)加入集群查看節(jié)點(diǎn)信息相關(guān)命令創(chuàng)建服務(wù)更新服務(wù)刪除服務(wù)減少服務(wù)實(shí)例增加服務(wù)實(shí)例查看所有服務(wù)查看服務(wù)的容器狀態(tài)查看服務(wù)的詳細(xì)信息。前言本篇是Docker第十三篇,Docker的使用至此就介紹完成,接下來繼續(xù)Kubernetes。Docker系列文章:為什么要學(xué)習(xí)DockerDocker基本概念Docker鏡像基本原理Docker容器數(shù)據(jù)卷Dockerfi...

    番茄西紅柿 評論0 收藏2637

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<