
# 部署北鲲云平台服务
1. 配置北鲲云平台部署服务器 
   1. 配置节点域名解析 3台服务器都需要
      ```
      vi /etc/hosts
      172.17.3.11 deploy
      172.17.3.12 accountslave
      172.17.3.13 authslave
      ```
      
   
   2. 配置部署服务器间免密登录
      ```
      ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
      cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
      cd ~/.ssh
      ssh-copy-id accountslave
      scp ~/.ssh/id_rsa accountslave:/root/.ssh
      ```
      
   
   3. 关闭防火墙和selinux
      ```
      #关闭防火墙 需要注意要在安装docker之前就关闭好 否则关闭后要重启docker
      systemctl disable firewalld --now
      #禁用selinux  需要重启才能生效
      sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
      sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
      ```
      
   
   4. 安装必备软件例如docker
      ```
      yum install -y docker-ce-19.03.9-3.el7.x86_64 docker-ce-cli-19.03.9-3.el7.x86_64 containerd.io-1.2.6-3.3.el7.x86_64
      systemctl enable docker --now
      curl -o /usr/local/bin/docker-compose -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m`
      chmod +x /usr/local/bin/docker-compose
      ```
      
   
   5. 部署节点安装gnome桌面和VNC服务方便堡垒机可视化连接
      ```
      yum install -y tigervnc-server xorg-x11-fonts-Type1 xrdp
      yum groupinstall -y "GNOME Desktop" "Graphical Administration Tools"
      yum install -y mesa-libGL
      yum install -y fwupdate
      systemctl enable gdm --now
      ```
      
   
   
   
   
2. 创建docker swarm集群 
   1. 初始化docker swarm集群
      ```
      deploy节点执行 初始化swarm集群 deploy
      docker swarm init
      ```
      
   
   2. 添加节点到docker swarm集群并建立必须目录 以下accountslave节点执行
      ```
      docker swarm join --token SWMTKN-1-1rmkhkehf6ciu45803kg2ixu48jvbl7rzbdsbyqe3lc4dqxd6d-14d7kfs2ei4lzit4h3hgczuu3 172.17.3.11:2377
      mkdir -p /data/db/account /data/logs/nginx /data/zk/zoo/data /data/zk/zoo/datalog /data/logs/zoo /data/logs/kafka
      chmod -R 777 /data/logs/nginx
      以下authslave节点执行
      docker swarm join --token SWMTKN-1-1rmkhkehf6ciu45803kg2ixu48jvbl7rzbdsbyqe3lc4dqxd6d-14d7kfs2ei4lzit4h3hgczuu3 172.17.3.11:2377
      mkdir -p /data/db/auth /data/logs/nginx /data/logs/openresty /etc/openldap/cacerts
      chmod -R 777 /data/logs/nginx
      ```
      
   
   3. 给docker node打上标签 在主节点打标签
      ```
      docker node ls
      docker node update --label-add master=true deploy
      docker node update --label-add account=true accountslave
      docker node update --label-add auth=true authslave
      ```
      
   
   
   
   
3. 搭建本地docker镜像仓库 
   1. 创建本地仓库目录
      ```
      部署本地docker registry 并上传cloudam镜像
      cd /etc/cloudam
      docker pull docker.io/library/registry:latest
      docker tag docker.io/library/registry:latest docker-registry
      ```
      
   
   2. 使用yml文件启动docker服务
      ```
      mkdir -p /etc/cloudam/registry
      cp ./config/deploy/registry.yml ./
      docker-compose -f registry.yml up -d
      ```
      
   
   
   
   
4. 启动docker集群 
   1. 解压docker镜像压缩文件并推送至本地docker镜像仓库
      ```
      tar -zxvf image_cloud.tar.gz
      ls ./image/local/*.tar | xargs -n1 docker load -i
      docker images | grep latest | grep -v deploy | awk '{print "docker tag " $1 ":latest deploy:5000/" $1 ":latest;docker push deploy:5000/" $1 ":latest"}' | xargs  -i  sh -c '{}'
      ```
      
   
   2. 按说明配置.env文件内容
      ```
      vi  /etc/cloudam/.env
      ```
      
   
   3. 使用yml文件启动docker服务
      ```
      env $(cat /etc/cloudam/.env | grep ^[A-Z] | xargs) docker stack deploy --with-registry-auth --compose-file $cluster_file cloudam
      ```
      
   
   
   
   
5. 验证服务是否正常运行 
   1. 部署后检查是否成功
      ```
      cd /etc/cloudam
      cp ./config/deploy/step4_check_post.sh ./
      bash step4_check_post.sh
      ```
      
   
   2. 登录北鲲云控制台
      图1登录北鲲云控制台   
      ![](https://support.huaweicloud.com/tsficds-mnft/zh-cn_image_0000001477532892.png) 
   
   3. 登录北鲲云管理后台
      图2登录北鲲云管理后台   
      ![](https://support.huaweicloud.com/tsficds-mnft/zh-cn_image_0000001528492425.png) 
   
   
   
   
 
