Giter Site home page Giter Site logo

qingcloud-docker-network's Introduction

青云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.

qingcloud-docker-network's People

Contributors

mountkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qingcloud-docker-network's Issues

已知问题

青云的metadata接口 http://metadata.ks.qingcloud.com/i-xxxxxxxx/ 频率限制为每分钟5次,但为了获取本机所绑定的从网卡列表,创建一个容器需要调用两次这个接口。其中一次由IPAM driver调用,另外一次由network driver调用。由于Docker的IPAM插件与Network插件之间没办法共享数据,所以以上两个调用无法合并。这限制了每台机器每分钟只能创建两个容器。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.