天天看點

RPA 服務端遷移 (從k8s到docker)

RPA 服務端遷移 (從k8s到docker)

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

一、以docker方式部署RPA服務端

1. 拷貝資源檔案

通過scp 或者其他方式把

docker

目錄和

server

目錄傳輸到部署伺服器上的/root根目錄下。

(docker和server目錄,請聯系阿裡雲RPA同學擷取)

scp -r docker  root@server_ip:/root 
scp -r server  root@server_ip:/root           

docker資源檔案:

├── docker
│   ├── docker-ce   # docker離線安裝包及其依賴
│   │   ├── audit-2.8.4-4.el7.x86_64.rpm
│   │   ├── audit-libs-2.8.4-4.el7.x86_64.rpm
│   │   ├── audit-libs-python-2.8.4-4.el7.x86_64.rpm
│   │   ├── checkpolicy-2.5-8.el7.x86_64.rpm
│   │   ├── container-selinux-2.74-1.el7.noarch.rpm
│   │   ├── docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
│   │   ├── libcgroup-0.41-20.el7.x86_64.rpm
│   │   ├── libselinux-2.5-14.1.el7.x86_64.rpm
│   │   ├── libselinux-python-2.5-14.1.el7.x86_64.rpm
│   │   ├── libselinux-utils-2.5-14.1.el7.x86_64.rpm
│   │   ├── libsemanage-2.5-14.el7.x86_64.rpm
│   │   ├── libsemanage-python-2.5-14.el7.x86_64.rpm
│   │   ├── libsepol-2.5-10.el7.x86_64.rpm
│   │   ├── libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm
│   │   ├── pigz-2.3.4-1.el7.x86_64.rpm
│   │   ├── policycoreutils-2.5-29.el7.x86_64.rpm
│   │   ├── policycoreutils-python-2.5-29.el7.x86_64.rpm
│   │   ├── python-IPy-0.75-6.el7.noarch.rpm
│   │   ├── selinux-policy-3.13.1-229.el7_6.6.noarch.rpm
│   │   ├── selinux-policy-targeted-3.13.1-229.el7_6.6.noarch.rpm
│   │   └── setools-libs-3.3.8-4.el7.x86_64.rpm
│   └── docker-compose
└── server
    ├── cs-docker.tar  # RPA服務端鏡像檔案
    └── docker-compose.yml  # docker啟動腳本           

預設docker是針對centos 7.4版本,如果安裝的centos 是其他版本如7.3,在安裝過程中缺少相應的依賴包,需要聯網下載下傳對應版本的docker-ce裡面的離線安裝包。

2. 安裝和啟動docker

進入docker-ce目錄,執行

yum localinstall *.rpm    # 如果提示選擇選Y           

安裝完成後執行

systemctl start docker           

3. 部署阿裡雲RPA

(1)将編排檔案docker-compose拷貝到使用者bin目錄,并提權

sudo cp -f  ~/docker/docker-compose /usr/bin/
sudo chmod +x /usr/bin/docker-compose           

(2) 進入到server目錄 執行

cd ~/server
sudo docker load -i cs-docker.tar           

(3) 檢視導入的docker鏡像

[root@rpa ~]# docker images
REPOSITORY                                                    **TAG**                 **IMAGE** ID            CREATED             SIZE`
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-mysql         V3.3.11             b3cd3de42e96        2 weeks ago         372MB
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-assets        V3.3.11             34fae7fe864b        2 weeks ago         113MB
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-robot         V3.3.11             5b3d3e4faac2        2 weeks ago         667MB
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-web           V3.3.11             07176746202e        2 weeks ago         672MB
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-file          V3.3.11             45d5e6cf95b0        2 weeks ago         664MB
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-entry-nginx   V3.3.11             ac52a2af52f1        3 weeks ago         157MB
registry.cn-hangzhou.aliyuncs.com/codestore/rpa-redis         V3.3.11             3ecb7a463946        3 weeks ago         107MB           

(4)修改docker-compose.yml檔案。

先登陸登陸k8s的

master

節點,檢視

mysql

redis

配置檔案

values.yaml

,找到資料庫的密碼, 然後将寫到

docker-compose.yml

檔案的對應位置

# Default values for rpa-mysql.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
  repository: work_ip:3443/library/rpa-mysql
  tag: V3.3.8
  pullPolicy: IfNotPresent
service:
  name: rpa-mysql
  type: NodePort
  externalPort: 3306
  internalPort: 3306
env:
  TZ: "Asia/Shanghai"
  MYSQL_ROOT_PASSWORD: "密碼"
  MYSQL_PASSWORD: "密碼"
persistence:
  enabled: enable
  nfsServer: work_ip
  nfsPath: "/rpadata/data/mysql"
  accessMode: ReadWriteOnce
  size: 8Gi           
# Default values for rpa-redis.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
  repository: work_ip:3443/library/rpa-redis
  tag: V3.3.8
  pullPolicy: IfNotPresent
service:
  name: rpa-redis
  type: ClusterIP
  externalPort: 6379
  internalPort: 6379
env:
  TZ: "Asia/Shanghai"
  REDIS_PASSWORD: "密碼"
persistence:
  enabled: enable
  pv:
  - name: redis
    nfsServer: work_ip
    nfsPath: "/rpadata/data/redis"
    accessMode: ReadWriteMany
    size: 10Gi
  - name: redis-log
    nfsServer: work_ip
    nfsPath: "/rpadata/log/redis"
    accessMode: ReadWriteMany
    size: 10Gi           
version: '3.2'
services:
  # rpa-mysql
  rpa-mysql:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-mysql:Vx.x.x"
    volumes:
      - "/rpadata/data/mysql:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_PASSWORD=密碼
      - MYSQL_ROOT_PASSWORD=密碼

  # rpa-redis
  rpa-redis:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-redis:Vx.x.x"
    volumes:
      - "/rpadata/data/redis:/data"
      - "/rpadata/log/redis:/var/log/redis"
    environment:
      - TZ=Asia/Shanghai
      - REDIS_PASSWORD=密碼

  # rpa-assets
  rpa-assets:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-assets:Vx.x.x"
    ports:
      - "7000:7000"
    environment:
      - TZ=Asia/Shanghai

  # rpa-file
  rpa-file:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-file:Vx.x.x"
    volumes:
      - "/rpadata/file/file:/data/file"
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_PASSWORD=密碼
      - REDIS_PASSWORD=密碼
    depends_on:
      - rpa-mysql
      - rpa-redis

  # rpa-web
  rpa-web:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-web:Vx.x.x"
    ports:
      - "7001:7001"
    volumes:
      - "/rpadata/web/file:/data/file"
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_PASSWORD=密碼
      - REDIS_PASSWORD=密碼
    depends_on:
      - rpa-file

  # rpa-robot
  rpa-robot:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-robot:Vx.x.x"
    ports:
      - "7002:7002"
    volumes:
      - "/rpadata/robot/file:/data/file"
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_PASSWORD=密碼
      - REDIS_PASSWORD=密碼
    depends_on:
      - rpa-web

  # rpa-entry-nginx
  rpa-entry-nginx:
    image: "xxxx.xxxx.aliyuncs.com/xxxx/xxx-nginx:Vx.x.x"
    ports:
      - "80:80"
      - "443:443"
    environment:
      - SERVER_RESOLVER_IP=127.0.0.11
      - SERVER_HOST=rpa.aliyun.net
      - CLUSTER_HOST=
    depends_on:
      - rpa-file           

(5)啟動docker鏡像

sudo docker-compose -f docker-compose.yml up -d           

二.拷貝k8s方式部署的RPA服務端資料

1、打包RPA服務端的所有資料

RPA服務端的所有資料都儲存在

work

節點的

/rpadata/

目錄下,備份整個

/rpadata/

目錄即可。

[root@linux ~]# tar -czvf ~/rpadata.tar.gz /rpadata/    # 備份資料到home目錄下           

2、将打包好的RPA服務端資料拷貝到新的伺服器上

scp ~/rpadata.tar.gz root@server_ip:/root  # 将資料拷貝到新的伺服器root目錄下           

3、将備份的檔案解壓到

/rpadata/

目錄下

[root@linux ~]# cd /
[root@linux ~]# tar -xzvf ~/rpadata.tar.gz           

三、啟動阿裡雲RPA服務

(1)啟動docker鏡像

sudo docker-compose -f docker-compose.yml up -d           

(2)設定docker-compose開機啟動

vim /etc/rc.d/rc.****local****  # 編輯啟動腳本,在末尾添加一行,加入下面的腳本
systemctl start docker
/usr/bin/docker-compose -f /root/server/docker-compose.yml up -d  # 注意修改成自己的docker-compose.yml檔案位置
sudo chmod +x /etc/rc.d/rc.**local**           

四、檢視結果

在伺服器上執行,需要把IP改成自己的伺服器IP

[root@rpa ~]# curl -H "Host:rpa.aliyun.net" http://106.15.137.252/login  # 注意把**ip**換成自己伺服器的**IP**
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <script type="text/javascript" async="" src="/react-dom.js"></script>
  <script type="text/javascript" async="" src="/polyfill.min.js"></script>
  <link rel="stylesheet" type="text/css" href="/index.css?v=201812051008">
  <link rel="shortcut icon" href="/images/ico/favicon.ico">
  <title>阿裡雲RPA控制台</title>
  <!--[****if**** lt IE 9]>
  <script>location.href = "//www.taobao.com/markets/tbhome/ali-page-updater"; </script>
  <![endif]-->
</head>
<**body**>
  <**div** **id**="ice_container"></**div**>
  <script type="text/javascript" src="/rsa/jquery-3.3.1.min.js"></script>
  <script type="text/javascript" src="/webuploader/webuploader.min.js"></script>
  <script type="text/javascript" charset="utf-8" src="/rsa/RSA.js"></script>
  <script type="text/javascript" charset="utf-8" src="/rsa/BigInt.js"></script>
  <script type="text/javascript" charset="utf-8" src="/rsa/Barrett.js"></script>
  <script type="text/javascript" charset="utf-8" src="/index.js?v=201812051008" id="ice-script"></script>
</**body**>
</html>           

檢視日志

sudo docker-compose -f docker-compose.yml logs -f           
提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”

繼續閱讀