国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一種生產環境Docker Overlay Network的配置方案

CoderStudy / 2188人閱讀

摘要:原文地址介紹一種生產環境的配置方案。概要先講一下生產環境中的問題有多個,希望能夠通過連接起來。因此生產環境中會同時存在無狀態應用利用創建的。不會幫你檢查名稱沖突的情況,如果名稱沖突了那么會得到錯誤的結果。

原文地址

介紹一種生產環境Docker overlay network的配置方案。

概要

先講一下生產環境中的問題:

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

Docker swarm只適合于無狀態應用,不適合有狀態應用。

因此生產環境中會同時存在

無狀態應用:利用docker service create/docker stack deploy創建的。

有狀態應用:利用docker run/docker compose up創建的。

希望兩種應用能夠連接到同一個overlay網絡,在網絡內部能夠通過

tasks. DNS name 連接到無狀態應用(見Container discovery)

DNS name 連接到有狀態應用

解決辦法:

創建attachable的overlay network

有狀態應用掛到這個overlay network上

無狀態應用也掛到這個overlay network上

步驟

到manager節點上創建attachable的overlay network,名字叫做prod-overlay:

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

在manager節點上查看這個網絡是否創建成功:

$ 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節點上查看這個網絡,這時你看不到這個網絡,不過不要擔心,當后面在worker節點上創建工作負載后就能看到了:

$ 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上創建容器c1,掛到prod-overlay network上:

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

在worker上創建容器c2,掛到prod-overlay network上:

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

在manager上創建service c,掛到prod-overlay network上:

docker service create -td --name c --replicas 2 --network prod-overlay busybox
驗證 查看worker節點的network

之前在worker節點上沒有看到prod-overlay network,現在你應該可以看見了:

$ 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
確認容器可以互ping

到manager節點上,讓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節點上,讓c1 ping tasks.ctasks.c是之前創建的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節點上,讓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節點上,查看service c的task,看到有c.1c.2兩個task,分別部署在兩個節點上:

$ 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所在的節點上,查看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.1、c.2的容器里:

ping c1c2;

ping tasks.c

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

注意

通過docker run / docker compose up創建的容器的名字,要保證在整個集群里是唯一的。docker 不會幫你檢查名稱沖突的情況,如果名稱沖突了那么會得到錯誤的DNS結果。

參考資料

Use overlay networks

Use an overlay network for standalone containers

Docker Reference Architecture: Designing Scalable, Portable Docker Container Networks

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28050.html

相關文章

  • Prometehus自動發現Docker Swarm Overlay網絡中容器

    摘要:原文地址介紹如何使用的機制,自動發現并抓取網絡中的容器所提供的指標。我們需要一種動態發現容器的方法。使用的機制,半自動的發現容器。文章最開始說到的半自動就是這個意思,我們得事先知道記錄有哪些,然后讓去發現這些記錄背后對應的容器有哪些。 原文地址 介紹如何使用Prometheus的dns service discovery機制,自動發現并抓取Docker swarm overlay網絡中...

    wangtdgoodluck 評論0 收藏0
  • Docker Swarm部署應用總結

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

    Paul_King 評論0 收藏0
  • Docker Overlay網絡MTU

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

    wuyangnju 評論0 收藏0
  • Docker Daemon生產環境關鍵幾個參數

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

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

    摘要:后續將其他節點加入集群都會用到這個值將節點加入集群查看節點信息相關命令創建服務更新服務刪除服務減少服務實例增加服務實例查看所有服務查看服務的容器狀態查看服務的詳細信息。前言本篇是Docker第十三篇,Docker的使用至此就介紹完成,接下來繼續Kubernetes。Docker系列文章:為什么要學習DockerDocker基本概念Docker鏡像基本原理Docker容器數據卷Dockerfi...

    番茄西紅柿 評論0 收藏2637

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<