Skip to content

xiicloud/qingcloud-docker-network

Repository files navigation

青云Docker网络插件

Build Status

通过本插件在青云平台使用Docker时,可以为每个容器创建一块独立的网卡, 让Docker直接对接青云的SDN网络,无需端口映射。 用户可以直接为容器分配一个EIP,也可以把容器添加到负载均衡后面。 如果用户与青云建立了VPN连接,可以直接通过桌面浏览器访问容器里的服务。

用户可通过青云的防火墙按需配置每个容器的安全策略。

本网络插件由希云cSphere团队开发和维护,欢迎试用和提出宝贵的改进意见。

csphere

注意事项

  1. 由于IPAM插件需要通过--ipam-opt参数指定vxnet,而这个参数是在Docker 1.10版本才引入的,所以1.10以下的版本目前无法使用本插件。

使用方法

  1. 登录青云控制台,创建一个VPC网络,然后创建两个私有网络(分别命名为mgmt和user),并将之加入VPC网络。
  2. 基于CentOS 7 64位镜像创建虚拟机,网络选择mgmt。
  3. 登录虚拟机,执行 yum remove -y NetworkManager 删除NetworkManger,否则机器上绑定多个网卡时会污染默认路由导致虚拟机无法登录。
  4. /etc/sysconfig/network-scripts/ifcfg-eth0文件里写入以下内容来配置虚拟机主网卡:
TYPE=Ethernet
DEVICE=eth0
NAME=eth0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
  1. 执行 curl https://get.docker.com|bash 安装Docker
  2. 安装并启动青云Docker插件:

 从源码编译安装(依赖于Docker 1.9以上环境):

git clone https://github.com/nicescale/qingcloud-docker-network.git /tmp/qingcloud-docker-network
# 国内用户可 git clone https://git.oschina.net/csphere/qingcloud-docker-network.git /tmp/qingcloud-docker-network
cd /tmp/qingcloud-docker-network
make
cp bin/qingcloud-docker-network /bin/

 启动:

 ACCESS_KEY_ID=xxxxxxxx SECRET_KEY=xxxxxxxxxx ZONE=sh1a /usr/bin/qingcloud-docker-network

或者基于Docker镜像运行插件:

  docker run -d --restart=always --name=netplugin --net=host \
  --cap-add NET_ADMIN \
  -v /var/lib/docker/qingcloud-network:/var/lib/docker/qingcloud-network \
  -v /var/run/docker/plugins:/var/run/docker/plugins \
  -e ACCESS_KEY_ID=xxxxxxxx \
  -e SECRET_KEY=xxxxxxxxxx \
  -e ZONE=sh1a \
  csphere/qingcloud-docker-network
  1. 创建网络:
docker network create \
  -d qingcloud \
  --subnet=172.25.1.0/24 \
  --gateway=172.25.1.1 \
  -o vxnet=vxnet-qpxj8ci \
  --ipam-driver=qingcloud  \
  --ipam-opt vxnet=vxnet-qpxj8ci \
  vxnet-qpxj8ci

其中vxnet 填写给容器使用的那个私有网络的ID,可在青云控制台查看。 gateway和subnet需要在青云把私有网络加入路由器时指定的网络参数一致。 8. 创建容器测试: docker run -it --rm --net=vxnet-qpxj8ci alpine sh

Copyright and License

Code developed by cSphere (https://csphere.cn) and released under the Apache 2.0 License.

Releases

No releases published

Packages

No packages published