欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Docker容器跨主機通信的方法

 更新時間:2017年11月27日 10:48:33   作者:Solinx  
本篇文章主要介紹了詳解Docker容器跨主機通信的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

默認情況下Docker容器需要跨主機通信兩個主機節(jié)點都需要在同一個網(wǎng)段下,這時只要兩個Docker容器的宿主機能相互通信并且該容器使用net網(wǎng)絡(luò)模式,改實現(xiàn)方式為網(wǎng)橋模式通信;

除此之外我們還可以通過使用第三方工具為不同主機間創(chuàng)建一個覆蓋網(wǎng)絡(luò),使之能夠 跨節(jié)點通信 ,這里將使用Flanneld實現(xiàn);

安裝etcd

創(chuàng)建 cat /etc/etcd/etcd.conf文件

# [member]
 ETCD_NAME=infra1
 ETCD_DATA_DIR="/var/lib/etcd"
 ETCD_LISTEN_PEER_URLS="http://192.168.2.150:2380"
 ETCD_LISTEN_CLIENT_URLS="http://192.168.2.150:2379"

 #[cluster]
 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.2.150:2380"
 ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
 ETCD_ADVERTISE_CLIENT_URLS="http://192.168.2.150:2379"

創(chuàng)建/etc/systemd/system/etcd.service文件

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/local/bin/etcd \
 --name ${ETCD_NAME} \
 --initial-advertise-peer-urls ${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
 --listen-peer-urls ${ETCD_LISTEN_PEER_URLS} \
 --listen-client-urls ${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
 --advertise-client-urls ${ETCD_ADVERTISE_CLIENT_URLS} \
 --initial-cluster-token ${ETCD_INITIAL_CLUSTER_TOKEN} \
 --initial-cluster infra1=http://192.168.2.150:2380,infra2=http://192.168.2.151:2380 \
 --initial-cluster-state new \
 --data-dir=${ETCD_DATA_DIR}
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

啟動systemctl start etcd

在etcd中創(chuàng)建目錄:etcdctl --endpoints=http://192.168.2.150:2379,http://192.168.5.151:2379

mkdir /kube-centos/network

創(chuàng)建config節(jié)點并寫入網(wǎng)絡(luò)配置信息:

etcdctl --endpoints=http://172.20.0.113:2379,http://172.20.0.114:2379
 mk /kube-centos/network/config '{"Network":"192.167.0.0/16","SubnetLen":24,"Backend":{"Type":"vxlan"}}'

Flanneld

創(chuàng)建 /etc/sysconfig/flanneld文件

# Flanneld configuration options 
# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379"

# etcd config key. This is the configuration key that flannel queries
# For address range assignment
# FLANNEL_ETCD_PREFIX="/kube-centos/network"
FLANNEL_ETCD_PREFIX="/coreos.com/network"
# Any additional options that you want to pass
FLANNEL_OPTIONS="-iface=eth0"

創(chuàng)建/usr/lib/systemd/system/flanneld.service文件

[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
Wants=network-online.target
After=etcd.service
Before=docker.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/flanneld
EnvironmentFile=-/etc/sysconfig/docker-network
#ExecStart=/usr/bin/flanneld-start $FLANNEL_OPTIONS
ExecStart=/usr/bin/flanneld-start -etcd-endpoints=http://192.168.2.150:2379,http://192.168.2.151:2379 -  iface=ens33
#ExecStart=/usr/bin/flanneld-start -etcd-endpoints=http://192.168.2.150:2379,http://192.168.2.151:2379 -etcd-  prefix=/kube-centos/network
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure

[Install]
WantedBy=multi-user.target
RequiredBy=docker.service

啟動systemctl start flanneld

flannled啟動后會生產(chǎn)/run/flannel/subnet.env文件

修改docker啟動參數(shù)配置加上:

EnvironmentFile=/run/flannel/subnet.env
--bip=${FLANNEL_SUBNET} --ip-masq=${FLANNEL_IPMASQ} --mtu=${FLANNEL_MTU}

重啟docker,此時docker將使用flanneld配置的網(wǎng)段為container分配ip;

 

在兩個節(jié)點分別啟動容器:docker run -it –rm busybox sh

查看其中一個主機節(jié)點的容器IP,ping另一個主機節(jié)點IP

 

查看其中一個主機節(jié)點的容器IP,ping另一個主機節(jié)點IP

 

此時已可聯(lián)通;

注意iptables配置是否正確;

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • win10家庭版安裝docker遇到的問題小結(jié)

    win10家庭版安裝docker遇到的問題小結(jié)

    這篇文章主要介紹了win10家庭版安裝docker遇到的問題小結(jié),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    數(shù)據(jù)卷有兩種形式,一種是容器中的某個目錄,它可以被別的容器引用,只要有一個容器引用了這個數(shù)據(jù)卷,數(shù)據(jù)就不會被刪除;另一種數(shù)據(jù)卷是將容器中的數(shù)據(jù)卷和宿主機的目錄進行掛載。 數(shù)據(jù)卷可以在多個容器之間共享,修改數(shù)據(jù)卷不會影響鏡像
    2021-07-07
  • Docker部署Rabbitmq容器實現(xiàn)過程解析

    Docker部署Rabbitmq容器實現(xiàn)過程解析

    這篇文章主要介紹了Docker部署Rabbitmq容器實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2

    詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2

    這篇文章主要介紹了詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • docker如何部署tomcat應(yīng)用

    docker如何部署tomcat應(yīng)用

    這篇文章主要介紹了docker如何部署tomcat應(yīng)用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Docker 修改docker存儲位置 修改容器鏡像大小限制操作

    Docker 修改docker存儲位置 修改容器鏡像大小限制操作

    這篇文章主要介紹了Docker 修改docker存儲位置 修改容器鏡像大小限制操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作

    docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作

    這篇文章主要介紹了docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 基于docker啟動nginxssl配置

    基于docker啟動nginxssl配置

    這篇文章主要介紹了基于docker啟動nginxssl配置,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Docker實現(xiàn)分布式應(yīng)用功能教程

    Docker實現(xiàn)分布式應(yīng)用功能教程

    這篇文章主要介紹了Docker實現(xiàn)分布式應(yīng)用功能,涉及docker分布式應(yīng)用、負載均衡相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2018-06-06
  • Docker容器的導(dǎo)入導(dǎo)出操作教程

    Docker容器的導(dǎo)入導(dǎo)出操作教程

    這篇文章主要給大家介紹了關(guān)于Docker容器的導(dǎo)入導(dǎo)出操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論