在azure中建立DDC集群

在Azure上建立DDC集群

  • 建立3台虚拟机作为UCP集群,3台虚拟机作为DTR集群.

  • 资源组:HYD-DockerDateCenter
    虚拟机size:DS3 4核14G
    系统:ubuntu14.04LTS
    Docker版本:17.03.0-ce

  • UCP集群:DDC-UCP-master1/2/3

  • DTR集群:DDC-DTR-node1/2/3

安装Docker环境

apt-get update
使用aufs storage drivers
apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
安装软件包允许通过https使用存储库
apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
建立资源库
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装docker deamon
apt-get install docker-ce
因为国内被墙的厉害,所以我使用.deb的安装包,安装docker.
[地址](https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.03.0~ce-0~ubuntu-trusty_amd64.deb)

安装UCP

  • 为了符合上线环境要求,使用内网

      docker run --rm -it --name ucp \
        -v /var/run/docker.sock:/var/run/docker.sock \
        docker/ucp:2.1.1 install \
        --host-address 10.1.2.4 \
        --interactive
    
  1. 在镜像pull完以后,需要输入ucp的用户和密码.
  2. 在进入UI界面时,需要证书,国内邮箱可申请.为时30天试用期
    Docker Store订阅获取证书
    image

添加node管理节点

  为了让Docker群集和UCP容错和高可用性,加入节点。管理节点是群集中执行业务流程和群组管理任务的节点,并为工作节点分派任务执行.

  1. 勾选第一条作为ucp集群manager,dtr的node不需要勾选.
    image

添加DTR

在dtr node中使用命令

docker run -it --rm docker/dtr install \
   --dtr-external-url https://10.1.2.5 \
   --ucp-node DDC-DTR-node1 \
   --ucp-username hydsoft \
   --ucp-insecure-tls \
   --ucp-url https://10.1.2.4  

添加DTR副本

保证在第一个dtr挂掉以后数据不会丢失,业务继续.

docker run -it --rm docker/dtr join \
   --dtr-external-url https://10.1.2.7 \
   --ucp-node DDC-DTR-node2 \
   --ucp-username hydsoft \
   --ucp-insecure-tls \
   --ucp-url https://10.1.2.4  

DTR备份

  1. 在Azure上创建一个存储账户,并创建一个容器为备份容器.
  2. 在DTR界面中选择setting->storage.
    image

OPENVPN

  • 因为dtr使用内网添加,访问dtr界面时使用外网地址是无法访问的,所以使用vpn.这样在访问UCP和DTR时,都可以使用https://内网IP.
  1. 在资源组中创建一个有公网ip和子网ip的虚拟机.我命名为DDC-access
  2. 配置好docker环境.

搭建ovpn

  1. 创建需要挂载的目录

     OVPN_DATA="/root/ovpn-data"  
     mkdir ${OVPN_DATA}
    
  2. 建立easyrsa PKI证书存储

     docker run -v ${OVPN_DATA}:/etc/openvpn --rm  kylemanna/openvpn ovpn_genconfig -u tcp://DDC-access的公网IP
    
  3. 生成EasyRSA PKI 证书授权中心 会让你输入CA私有密钥的密码,自己设定.

     docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
    
  4. 生成客户端证书和配置文件

     创建客户端证书(会提示你生成客户端登录密码和输入ca私有秘钥的密码)
     docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full yangchen
     通过容器内部脚本生成配置文件
     docker run -v ${OVPN_DATA}:/etc/openvpn --rm    kylemanna/openvpn ovpn_getclient yangchen > ${OVPN_DATA}/yangchen.ovpn
    
  5. 将服务容器启动

     docker run --name openvpn -v ${OVPN_DATA}:/etc/openvpn -d -p 1194:1194 --privileged kylemanna/openvpn
    

注意: 因为Azure的虚拟机,默认只有开启22端口进行ssh连接.所以在UCP创建过程中,如果出现报错,提示很多端口没有开启,就需要手动去网络添加入站规则.
Opnvpn的容器映射1194端口,需要网络安全组手动开启.

posted @ 2017-09-28 11:29  杨老板  阅读(274)  评论(0编辑  收藏  举报