node1:192.168.1.50 docker 127.17.1.1
node2:192.168.1.52 docker 127.17.2.1
1.1關閉selinux
setenforce 0(立即生效)
vi /etc/selinux/config ,(重啟生效)
#selinux=enforcing
selinux=disabled
1.2關閉firewall
centos7預設開啟了firewall,需關閉。
systemctl stop firewalld(立即生效)
systemctl disable firewalld(重啟生效)
2安裝相關軟體包
yum install docker
service docker start
chkconfig docker on
yum install net-tools
yum install bridge-utils
編譯安裝ovs
node01和node02 安裝openvswitch
最新的為openvswitch-2.4.0.tar.gz,
3.1原始碼安裝。
root使用者執行:
yum -y install wget openssl-devel kernel-devel
yum groupinstall 「development tools」
adduser ovswitch
ovswitch使用者執行:
su – ovswitch
wget
tar -zxvpf openvswitch-2.4.0.tar.gz
mkdir -p ~/rpmbuild/sources
sed 『s/openvswitch-kmod, //g』 openvswitch-2.4.0/rhel/openvswitch.spec > openvswitch-2.4.0/rhel/openvswitch_no_kmod.spec
cp openvswitch-2.4.0.tar.gz rpmbuild/sources/
rpmbuild -bb –without check ~/openvswitch-2.4.0/rhel/openvswitch_no_kmod.spec
exit
root使用者執行:
rpm -ivh openvswitch-2.4.0-1.x86_64.rpm
3.3啟動openvswitch
systemctl start openvswitch.service (立即生效)
chkconfig openvswitch on (重啟生效)
檢視狀態:
systemctl status openvswitch.service -l
**********=配置篇*****=
4.node01和node02 配置ovs bridge及gre
規劃:4.1 node01:部署
開啟ip**:cat /proc/sys/net/ipv4/ip_forward,顯示為1,表示開啟。
ovs-vsctl add-br obr0
ovs-vsctl add-port obr0 gre0 -- set inte***ce gre0 type=gre options:remote_ip=192.168.1.52 #node1上執行
ovs-vsctl add-port obr0 gre0 -- set inte***ce gre0 type=gre options:remote_ip=192.168.1.50 #node2上執行
service docker stop
brctl addbr kbr0
brctl addif kbr0 obr0
ip link set dev docker0 down
ip link del dev docker0
vi /etc/sysconfig/network-scripts/ifcfg-kbr0
onboot=yes
bootproto=static
ipaddr=172.17.1.1 #node1上配置
ipaddr=172.17.2.1 #node2上配置
netmask=255.255.255.0
gateway=172.17.1.0 #node1上配置
gateway=172.17.2.0 #node2上配置
userctl=no
type=bridge
ipv6init=no
vi /etc/sysconfig/network-scripts/route-ens192 #(ip -a 檢視網絡卡)這裡route-ens192是和 該目錄下的ifcfg-ens192對應的
172.17.2.0/24 via 192.168.12.196 dev ens192 #這裡ens192是 ip a命令看到的本地網絡卡不同的機器可能不一樣
修改docker配置檔案,新增-b引數
vi /etc/sysconfig/docker
options='--selinux-enabled -b=kbr0' #docker1.9貌似不修改不起作用
reboot
說一下中間會遇到的坑
1.ip**
linux系統預設並沒有開啟ip**功能,要確認ip**功能的狀態,可以檢視/proc檔案系統,使用下面命令:
cat /proc/sys/net/ipv4/ip_forward
如果上述檔案中的值為0,說明禁止進行ip**;如果是1,則說明ip**功能已經開啟。
要想開啟ip**功能,可以直接修改上述檔案:
echo 1 > /proc/sys/net/ipv4/ip_forward
把檔案的內容由0修改為1。禁用ip**則把1改為0。
上面的命令並沒有儲存對ip**配置的更改,下次系統啟動時仍會使用原來的值,要想永久修改ip**,需要修改/etc/sysctl.conf檔案,修改下面一行的值:
net.ipv4.ip_forward = 1
修改後可以重啟系統來使修改生效,也可以執行下面的命令來使修改生效:
sysctl -p /etc/sysctl.conf
進行了上面的配置後,ip**功能就永久使能了
2.openvswitch無法開啟提示 xx.db找不到
/usr/share/openvswitch/scripts/ovs-ctl start
3.docker網絡卡修改,針對centos7:vi /etc/sysconfig/docker
options='--selinux-enabled -b=kbr0'
VM跨主機通訊ovs配置
openstack是多節點結構,同一子網的虛擬機器可能被排程到不同計算節點上,因此需要有隧道技術來保證這些同子網不同節點上的虛擬機器能夠二層互通,就像他們連線在同乙個交換機上,同時也要保證能與其它子網隔離。ovs在計算和網路節點上建立隧道port來連線各節點上的網橋br int br int是舉例的...
Docker跨主機通訊
已安裝zookeeper。這裡使用前面mesos裡的zookeeper配置 sudo vi etc default docker etc default docker內容 docker add opts h tcp h unix var run docker.sock cluster store z...
docker跨主機儲存
特點 實驗環境 oracle vm virtualbox虛擬機器 docker 192.168.2.100 docker1 192.168.2.200 curl ssl sh 建立配置檔案 add a service 虛擬機器軟體 endpoint 宿主機ip volume path 宿主機使用者路...