OpenNESS & OpenVINO Demo 部署

目录

部署架构

在这里插入图片描述

  • ControllerIP:172.18.22.110
  • EdgeNodeIP:172.18.22.114
  • Proxy:172.18.22.200:8118

NOTE:上述三个特征信息,需要根据自己实际环境在下述步骤中做相应的修改,建议全部修改完之后再开始执行部署。

部署 Edge Controller

微服务清单

  • WebUI 前端
  • CCE(Controller Community Edition,Controller API 后端)
  • MySQL

部署容器清单

  • ui
  • cce
  • mysql

基础配置

配置 Proxy

由于众所周知的问题,Golang 项目都要进行科学上网。

Step 1.

# vi /etc/environment
http_proxy=http://172.18.22.200:8118
https_proxy=http://172.18.22.200:8118
ftp_proxy=http://172.18.22.200:8118
no_proxy=localhost,127.0.0.1,172.18.22.114
HTTP_PROXY=http://172.18.22.200:8118
HTTPS_PROXY=http://172.18.22.200:8118
FTP_PROXY=http://172.18.22.200:8118
NO_PROXY=localhost,127.0.0.1,172.18.22.114

Step 2.

# vi /etc/yum.conf
[main]
...
proxy=http://172.18.22.200:8118/

Step 3.

mkdir -p /root/.docker 

# vi /root/.docker/config.json
{
 "proxies":
  {
   "default":
    {
     "httpProxy": "http://172.18.22.200:8118",
     "httpsProxy": "http://172.18.22.200:8118",
     "noProxy": "localhost,127.0.0.1,172.18.22.114"
    }
   }
}

Step 4.

mkdir -p /etc/systemd/system/docker.service.d

# vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://172.18.22.200:8118" "HTTPS_PROXY=http://172.18.22.200:8118" "NO_PROXY=localhost,127.0.0.1,172.18.22.114"

Step 5.

# vi /root/.gitconfig
[http] proxy = 172.18.22.200:8118 [https] proxy = 172.18.22.200:8118

配置防火墙

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 8080 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 8081 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 443 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 80 -j ACCEPT
firewall-cmd --reload

Install necessary package

yum --enablerepo=extras install epel-release -y
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2 ansible python-pip git wget

Install MySQL

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
yum update -y
yum install mysql-server -y
systemctl start mysqld

Install Docker

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-cli containerd.io
pip install docker-py

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

Install Docker Compose

curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version

重启服务器

reboot

部署 Controller 微服务

下载 controller code repo

NOTE:这里我是直接拿到了压缩包,解压、copy 到 ControllerNode1 即可

# copy 到 ControllerNode1
scp -r for_testing_openness_release_package_Aug7th2019 root@172.18.22.110:~

# 在 ControllerNode1 执行解压脚本
[root@controller1 ~]# cd for_testing_openness_release_package_Aug7th2019/
[root@controller1 for_testing_openness_release_package_Aug7th2019]# ./extract_release_package.sh

Enter location to extract packages [ /root/openness_release_packages ]:
Extracting package...
...done
Copying offline content to user home folder
...done

 SUCCESS !
All packages extracted successfully to: /root/openness_release_packages
cd for_testing_openness_release_package_Aug7th2019/
bash extract_release_package.sh

配置各类文件,加入 Proxy URL

NOTE:这里还是为了在部署的过程中避免撞墙的问题。

Step 1.

# vim /root/openness_release_packages/edgecontroller/ui/cups/Dockerfile
...
# Install production dependencies for app  在这句话下面添加
RUN yarn config set strict-ssl false && yarn config set proxy http://172.18.22.200:8118 && yarn install --production
...
# Install production dependencies for server  在这句话下面添加
RUN yarn config set strict-ssl false && yarn config set proxy http://172.18.22.200:8118 && yarn install --production

Step 2.

# vim /root/openness_release_packages/edgecontroller/ui/controller/Dockerfile
...
# Install production dependencies for app  在这句话下面添加
RUN yarn config set strict-ssl false && yarn config set proxy http://172.18.22.200:8118 && yarn install --production
...
# Install production dependencies for server  在这句话下面添加
RUN yarn config set strict-ssl false && yarn config set proxy http://172.18.22.200:8118 && yarn install --production

Step 3.

# vi /root/openness_release_packages/edgecontroller/docker/build/Dockerfile

ENV http_proxy http://http://172.18.22.200:8118/
ENV https_proxy http://172.18.22.200:8118/
ENV ftp_proxy http://172.18.22.200:8118/
ENV no_proxy localhost,127.0.0.1,172.18.22.114
...
# ENV GO111MODULE on 在这句话上面添加

Step 4.

# vi /root/openness_release_packages/edgecontroller/.env

MYSQL_ROOT_PASSWORD=changeme
CCE_ADMIN_PASSWORD=changeme
REACT_APP_CONTROLLER_API=http://172.18.22.110:8080
GITHUB_TOKEN=

Build the controllers

cd /root/openness_release_packages/edgecontroller
make build

NOTE:if network access issue happened, modify go.mod then have a try again

# vi /root/openness_release_packages/edgecontroller/go.mod
# 最后追加下列内容

replace k8s.io/api => github.com/kubernetes/api v0.0.0-20190515023547-db5a9d1c40eb
replace k8s.io/apimachinery => github.com/kubernetes/apimachinery v0.0.0-20190515023456-b74e4c97951f
replace k8s.io/client-go => github.com/kubernetes/client-go v0.0.0-20190501104856-ef81ee0960bf
replace k8s.io/utils => github.com/kubernetes/utils v0.0.0-20190520173318-324c5df7d3f0
replace k8s.io/kube-openapi => github.com/kubernetes/kube-openapi v0.0.0-20190228160746-b3a7cee44a30
replace k8s.io/klog => github.com/kubernetes/klog v0.3.0
replace sigs.k8s.io/yaml => github.com/kubernetes-sigs/yaml v1.1.0
replace golang.org/x/net => github.com/golang/net v0.0.0-20190503192946-f4e77d36d62c
replace golang.org/x/sync => github.com/golang/sync v0.0.0-20181221193216-37e7f081c4d4
replace golang.org/x/net => github.com/golang/net v0.0.0-20180906233101-161cd47e91fd
replace golang.org/x/sync => github.com/golang/sync v0.0.0-20180314180146-1d60e4601c6f
replace golang.org/x/sys => github.com/golang/sys v0.0.0-20190226215855-775f8194d0f9
replace golang.org/x/net => github.com/golang/net v0.0.0-20181220203305-927f97764cc3
replace golang.org/x/text => github.com/golang/text v0.3.0
replace golang.org/x/text => github.com/golang/text v0.3.1-0.20181227161524-e6919f6577db
replace golang.org/x/tools => github.com/golang/tools v0.0.0-20190114222345-bf090417da8b
replace golang.org/x/oauth2 => github.com/golang/oauth2 v0.0.0-20180821212333-d2e6202438be
replace golang.org/x/lint => github.com/golang/lint v0.0.0-20181026193005-c67002cb31c3
replace golang.org/x/time => github.com/golang/time v0.0.0-20161028155119-f51c12702a4d
replace golang.org/x/crypto => github.com/golang/crypto v0.0.0-20181025213731-e84da0312774
replace google.golang.org/grpc => github.com/grpc/grpc-go v1.19.0
replace google.golang.org/genproto => github.com/googleapis/go-genproto v0.0.0-20180817151627-c66870c02cf8
replace google.golang.org/appengine => github.com/golang/appengine v1.1.0
replace cloud.google.com/go => github.com/googleapis/google-cloud-go v0.26.0

Run containers

cd /root/openness_release_packages/edgecontroller
make all-up

HTTP Server Setup

yum install -y httpd mod_ssl

cd /etc/ssl/certs

docker cp edgecontroller_cce_1:/artifacts/certificates/ca/cert.pem . 
docker cp edgecontroller_cce_1:/artifacts/certificates/ca/key.pem .

openssl genrsa -out apache.key 2048
openssl req -new -sha256 -key apache.key -subj "/C=IE/ST=Clare/O=ESIE/CN=172.18.22.110" -out apache.csr
echo subjectAltName = IP:172.18.22.110 > extfile.cnf
openssl x509 -req -in apache.csr -CA cert.pem -CAkey key.pem -CAcreateserial -out apache.crt -days 500 -sha256 -extfile extfile.cnf

sed -i 's|^SSLCertificateFile.*$|SSLCertificateFile /etc/ssl/certs/apache.crt|g' /etc/httpd/conf.d/ssl.conf
sed -i 's|^SSLCertificateKeyFile.*$|SSLCertificateKeyFile /etc/ssl/certs/apache.key|g' /etc/httpd/conf.d/ssl.conf

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 80 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 443 -j ACCEPT
firewall-cmd --reload

systemctl enable httpd
systemctl restart httpd

为 EdgeNode 颁发证书

docker cp edgecontroller_cce_1:/artifacts/certificates/ca/cert.pem  .
scp cert.pem root@172.18.22.114:/etc/pki/tls/certs/controller-root-ca.pem  

部署完成后,访问 WebUI

http://172.18.22.110:3000/login
username: admin
password: changeme

NOTE:password is from on /root/openness_release_packages/edgecontroller/.env

重启服务器时的操作

NOTE:重启 ControllerNode1 过程中,微服务不会自动运行,需要手动的拉起来。

before reboot
	make all-down
	make clean(optional, docker images rebuild if reqired, otherwise skipping)
	
after reboot:
	systemctl daemon-reload
	systemctl restart docker
	make build(optional,  docker images rebuild if required)
	make all-up

部署 Edge Platform

服务器资源使用要求

  • 所有非关键/非实时(non-critical/non-realtime)的微服务推荐绑定在 Core 0 上运行。
  • NTS Dataplane 微服务和 DPDK PMD 推荐进行 CPU 绑定。
  • 为 DPDK 库使用大页内存。
  • 使用 RT kernel,在 VNFs 和 APPs 共存的场景中。

微服务清单

  • ELA(Edge Lifecycle Agent):Edge APP 生命周期管理
  • EVA(Edge virtualization Agent):EdgeNode VIM 管理
  • EAA(Edge Application Agent):Edge APP API Endpoint 管理
  • EDA(Edge Dataplane Agent):EdgeNode 数据平面管理
  • NTS Dataplane(Network Transport Service Dataplane):数据平面网络传输服务
  • Syslog:日志监控
  • DNS Server:DNS 服务

部署容器清单

  • nts
  • balabit/syslog-ng
  • edgednssvr
  • appliance

在这里插入图片描述

基础配置

配置 Proxy

Step 1.

# vi /etc/environment
http_proxy=http://172.18.22.200:8118
https_proxy=http://172.18.22.200:8118
ftp_proxy=http://172.18.22.200:8118
no_proxy=localhost,127.0.0.1,172.18.22.110
HTTP_PROXY=http://172.18.22.200:8118
HTTPS_PROXY=http://172.18.22.200:8118
FTP_PROXY=http://172.18.22.200:8118
NO_PROXY=localhost,127.0.0.1,172.18.22.110

Step 2.

# vi /etc/yum.conf
proxy=http://172.18.22.200:8118/

Step 3.

mkdir -p /root/.docker  

# vi /root/.docker/config.json
{
 "proxies":
  {
   "default":
    {
     "httpProxy": "http://172.18.22.200:8118",
     "httpsProxy": "http://172.18.22.200:8118",
     "noProxy": "localhost,127.0.0.1,172.18.22.110"
    }
   }
}

Step 4.

mkdir -p /etc/systemd/system/docker.service.d

# vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://172.18.22.200:8118" "HTTPS_PROXY=http://172.18.22.200:8118" "NO_PROXY=localhost,127.0.0.1,172.18.22.110"

配置防火墙

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 443 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 80 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 21 -j ACCEPT
firewall-cmd --reload

更新软件

yum update -y

重启服务器

reboot

部署 EdgeNode 微服务

下载 EdgeNode code repo

NOTE:这里我是直接拿到了压缩包,解压、copy 到 EdgeNode1 即可

# copy 到 EdgeNode1
scp -r for_testing_openness_release_package_Aug7th2019 root@172.18.22.110:~

# 在 ControllerNode1 执行解压脚本
[root@controller1 ~]# cd for_testing_openness_release_package_Aug7th2019/
[root@controller1 for_testing_openness_release_package_Aug7th2019]# ./extract_release_package.sh

Enter location to extract packages [ /root/openness_release_packages ]:
Extracting package...
...done
Copying offline content to user home folder
...done

 SUCCESS !
All packages extracted successfully to: /root/openness_release_packages
cd for_testing_openness_release_package_Aug7th2019/
bash extract_release_package.sh

从 Controller 获取证书

# 在 ControllerNode 执行,注意,上述已有重复步骤。

docker cp edgecontroller_cce_1:/artifacts/certificates/ca/cert.pem  .
scp cert.pem root@172.18.22.114:/etc/pki/tls/certs/controller-root-ca.pem 

配置 Controller URL

vi /root/openness_release_packages/edgenode/scripts/ansible/deploy_server/vars/defaults.yml
enrollment_endpoint: "172.18.22.110:8081"

执行部署脚本

cd /root/openness_release_packages/edgenode/scripts/ansible/single_server

bash 01_setup_server.sh
reboot

bash 02_install_tools.sh
bash 03_build_and_deploy.sh

NOTE:在执行第 3 个脚本的时候就会卡在 Waiting for certificates and keys from controller 步骤很长时间,这是因为,这里需要我们手动到 Controller 上注册 EdgeNode 了。获取到 Key,e.g. "THIS IS YOUR VERIFICATION KEY: rIMdKvGU3T1T47wuCj3fZg"。然后登陆 WebUI -> ADD EDGE NODE -> 填入 KEY,e.g. rIMdKvGU3T1T47wuCj3fZg -> 确定添加(参考:https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#enrollment)。至此,部署 EdgeNode 成功。

重启服务器

NOTE:同样,重启 EdgeNode 的过程中,微服务并不会自动启动,需要重复执行 02/03 Scripts。

bash 02_install_tools.sh
bash 03_build_and_deploy.sh

Build OpenVINO APPs

配置 Proxy

由于众所周知的问题,Golang 项目都要进行科学上网。

Step 1.

# vi /etc/environment
http_proxy=http://172.18.22.200:8118
https_proxy=http://172.18.22.200:8118
ftp_proxy=http://172.18.22.200:8118
no_proxy=localhost,127.0.0.1,172.18.22.114
HTTP_PROXY=http://172.18.22.200:8118
HTTPS_PROXY=http://172.18.22.200:8118
FTP_PROXY=http://172.18.22.200:8118
NO_PROXY=localhost,127.0.0.1,172.18.22.114

Step 2.

# vi /etc/yum.conf
[main]
...
proxy=http://172.18.22.200:8118/

Step 3.

mkdir -p /root/.docker 

# vi /root/.docker/config.json
{
 "proxies":
  {
   "default":
    {
     "httpProxy": "http://172.18.22.200:8118",
     "httpsProxy": "http://172.18.22.200:8118",
     "noProxy": "localhost,127.0.0.1,172.18.22.114"
    }
   }
}

Step 4.

mkdir -p /etc/systemd/system/docker.service.d

# vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://172.18.22.200:8118" "HTTPS_PROXY=http://172.18.22.200:8118" "NO_PROXY=localhost,127.0.0.1,172.18.22.114"

Step 5.

# vi /root/.gitconfig
[http] proxy = 172.18.22.200:8118 [https] proxy = 172.18.22.200:8118

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

重启服务器

reboot

Install Docker

yum --enablerepo=extras install epel-release -y
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2 ansible python-pip git wget vim
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-cli containerd.io
pip install docker-py

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

下载 Edge App code repo

NOTE:这里我是直接拿到了压缩包,解压、copy 到 ControllerNode1 即可

# copy 到够服务器
scp -r for_testing_openness_release_package_Aug7th2019 root@172.18.22.113:~

[root@gw ~]# cd for_testing_openness_release_package_Aug7th2019/
[root@gw for_testing_openness_release_package_Aug7th2019]# ./extract_release_package.sh

Enter location to extract packages [ /root/openness_release_packages ]:
Extracting package...
...done
Copying offline content to user home folder
...done

 SUCCESS !
All packages extracted successfully to: /root/openness_release_packages

OpenVINO image build

cd for_testing_openness_release_package_Aug7th2019/
bash extract_release_package.sh

cd /root/openness_release_packages/edgeapps/build/openvino/clientsim/
bash build-image.sh

cd /root/openness_release_packages/edgeapps/build/openvino/producer/
bash build-image.sh

cd /root/openness_release_packages/edgeapps/build/openvino/consumer/
bash build-image.sh

构建完成后,检查:

[root@gw ~]# docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
openvino-prod-app   1.0                 9271dba77b7a        4 minutes ago       1.04GB
openvino-cons-app   1.0                 4ec0beb66c4a        16 minutes ago      2.11GB
client-sim          1.0                 5956543725ee        About an hour ago   459MB

将 images 保存并分发到不同的位置使用:

docker save openvino-cons-app > openvino-cons-app.tar
docker save openvino-prod-app > openvino-prod-app.tar
docker save client-sim > client-sim.tar

# 到 Controller
scp openvino-cons-app.tar openvino-prod-app.tar root@172.18.22.110:/var/www/html

# 到 UE
scp client-sim.tar root@172.18.22.113:~

部署 OpenVINO APPs

  • Step 1. OpenVINO Creating Applications(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#1-openvino-creating-applications)

  • Step 2. OpenVINO Creating Traffic Rules(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#2-openvino-creating-traffic-rules)

  • Step 3. OpenVINO NTS Configuration and start(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#3-openvino-nts-configuration-and-start)

  • Step 4. OpenVINO Managing DNS Rules(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#6-openvino-managing-dns-rules)

  • Step 5. OpenVINO Deploying Applications(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#4-openvino-deploying-applications)

  • Step 6. OpenVINO Managing Traffic Rules for Applications(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#5-openvino-managing-traffic-rules-for-applications)

  • Step 7. OpenVINO Manual Configuration steps(https://github.com/open-ness/specs/blob/master/doc/openness_howto.md#7-openvino-manual-configuration-steps)

    • Configure DNS container’s KNI interface
  docker exec -it <Container_ID_of_mec-app-edgednssvr> ip link set dev vEth0 arp off
  docker exec -it <Container_ID_of_mec-app-edgednssvr> ip a a 53.53.53.53/24 dev vEth0
  docker exec -it <Container_ID_of_mec-app-edgednssvr> ip link set dev vEth0 up
  docker exec -it <Container_ID_of_mec-app-edgednssvr> ip route add 192.168.200.0/24 dev vEth0
  • Make a request on the DNS interface subnet to register the KNI interface with NTS client (press CTRL + C buttons as soon as a request is made (no expectation for hostname to resolve))
  docker exec -it <Container_ID_of_mec-app-edgednssvr> wget 192.168.200.123 -Y off
  • Configure OpenVino Consumer container’s KNI interface: Find the name of KNI interface inside the container (interface name vEthX)
  docker exec -it <Container_ID_of_openVino-consumer-app>  ip addr
  • Using the found interface name run following
  docker exec -it <Container_ID_of_openVino-consumer-app> ip link set dev vEth2 arp off
  docker exec -it <Container_ID_of_openVino-consumer-app>  ip a a 192.168.200.20/24 dev vEth2
  docker exec -it <Container_ID_of_openVino-consumer-app>  ip link set dev vEth2 up
  • Make a request on the OpenVino Consumer interface subnet to register the KNI interface with NTS client (press CTRL + C buttons as soon as a request is made (no expectation for hostname to resolve))
  docker exec -it <Container_ID_of_openVino-consumer-app>  wget 192.168.200.123 -Y off
  • Step 8. OpenVINO Downstream setup(IPGW)
ifconfig ens4 192.168.200.2/24 up
  • Step 9. OpenVINO Client Simulator Setup(UE)

NOTE 1:UE 要安装 Desktop GUI

NOTE 2:UE 要安装 Docker

echo "192.168.200.20 openvino.openness" >> /etc/hosts

ifconfig ens4 192.168.200.10/24 up
ping 192.168.200.2
arp -s openvino.openness deadbeef
ping 192.168.200.20

docker image list
docker load < client-sim.tar

cd /root/openness_release_packages/edgeapps/build/openvino/clientsim
run ./run-docker.sh

问题 1:Privoxy doesn’t support FTP.

分析:tuned 这个 RPM 包从 FTP 下载,但我环境中的 Proxy 不支持 FTP

解决:修改下载路径为本地

  1. 手动下载 rpm 包,当到 controller 的 http 服务器中
  2. 然后修改 ansible 脚本的下载路径
vim edgenode/scripts/ansible/common/vars/defaults.yml
# centos_rt_tuned_package_link: "ftp://ftp.icm.edu.pl/vol/rzm3/linux-slc/centos/7.5.1804/os/x86_64/Packages/tuned-2.9.0-1.el7.noarch.rpm"
centos_rt_tuned_package_link: "http://172.18.22.110/tuned-2.9.0-1.el7.noarch.rpm"

问题 2:OpenVINO APPs 启动失败

原因是 OpenVINO APPs Dockerfile 有问题,使用 Intel 提供的最新 openvino repo。

问题 3:Build Consumer Image 失败

原因是 OpenVINO Consumer Dockerfile 缺包,手动添加上去即可。

# vim ~/openness_release_packages/edgeapps/build/openvino/consumer/Dockerfile

...
RUN apt-get -y install libgtk2.0-0

问题 4:NTS Configuration and start 失败

  • cce 容器的日志
<131>Oct  1 04:00:22 cce[1]: [pkg=gorilla] Error updating remote entities: error bulk updating network interfaces: rpc error: code = Unknown desc = failed to configure NTS: failed to stop Edge DNS: failed to remove TrafficRules for Edge DNS: rpc error: code = Unknown desc = Connection failed

分析:前端的 BUG,编辑完 upstream、downstream Interface 之后点击 COMMIT CHANGES 无反应,于是多点了几下就返回错误。原因是因为第一次点击实际上已经成功,EdgeNode 的 nts 和 edgednssvr 容器会重启。此时再次点击,就会返回 ”连接失败“ 的错误。

解决:第一次点击的时候,观察 EdgeNode 上的 nts 和 edgednssvr 容器是否会重启即可。

问题 5:Managing DNS Rules 失败

分析:可能是 BUG 导致的。

解决:重启 cce 容器后重试即可。

问题 6:Deploying Consumer Applications 失败

  • WebUI 报错:error updating remote entity. Please try again later.
  • appliance 日志
Start failed because application type identification failed: deployed ID is empty

分析:Image 文件下载未完成,但 WebUI 没有下载进度条信息,所以 EVA 认为没有镜像。

解决:要在 EdgeNode 对应的目录下看见 image 对应的 deployed 文件。

[root@edgenode1 ~]# ll -h /var/lib/appliance/applications/ea867d4c-c130-4f74-a3ab-7b37881a44b7
total 1.9G
-rw-r--r--. 1 root root   65 Oct  1 01:11 deployed
-rw-r--r--. 1 root root 1.9G Oct  1 01:11 image
-rw-r--r--. 1 root root  302 Oct  1 01:11 metadata.json
发布了444 篇原创文章 · 获赞 1208 · 访问量 175万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览