Get Started Guide

  • 2022.3
  • 10/03/2022
  • Public Content

Step 6: OpenVINO™ Model Server Setup

Configure the OpenVINO™ Model Server

Perform configuration steps on the
control plane
.
  1. Go to the
    AMR_containers
    folder:
    cd <edge_insights_for_amr_path>/Edge_Insights_for_Autonomous_Mobile_Robots_*/AMR_server_containers
  2. Generate the keys used for the OpenVINO™ model server remote inference setups:
    chmod +x 01_docker_sdk_env/artifacts/02_edge_server/edge_server_fleet_management/ovms/generate_ovms_certs.sh sudo ./01_docker_sdk_env/artifacts/02_edge_server/edge_server_fleet_management/ovms/generate_ovms_certs.sh <control_plane_IP>
    The IP of the control plane is used to generate certificates.
  3. Copy the keys to the SFTP server. If the SFTP server is not configured, see Step 2: SFTP Server Setup.
    1. Open an SFTP terminal:
      sftp fdo_sftp@<sftp_server_ip>
    2. Copy the OpenVINO™ model server certificates to the SFTP server:
      mkdir /fdo_sftp/etc/amr/ mkdir /fdo_sftp/etc/amr/ri-certs/ cd /fdo_sftp/etc/amr/ri-certs/ lcd <AMR_Server_Containers>/01_docker_sdk_env/artifacts/02_edge_server/edge_server_fleet_management/ovms/keys/ put server.pem put client.key put client.pem
    3. Exit the SFTP terminal:
      exit

Start the OpenVINO™ Model Server

On the
control plane
, install the playbook:
ansible-playbook AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/02_edge_server/openvino_model_server/ovms_playbook_install.yaml
If the playbook fails to install, see Troubleshooting.

Check the OpenVINO™ Model Server Installation

  1. On the
    control plane
    , verify that the services, pods, and deployment are running:
    $ kubectl get all --output=wide --namespace ovms-tls NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/ovms-deployment-75c7dffdc5-cgxp9 1/1 Running 1 (50m ago) 50m 10.245.202.9 glaic3roscube <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/ovms-service NodePort 10.110.177.249 <none> 3335:32762/TCP,2225:32763/TCP 50m app.kubernetes.io/instance=ovms-tls-abcxzy,app.kubernetes.io/name=ovms-tls NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/ovms-deployment 1/1 1 1 50m ovms-tls 10.237.23.153:30003/intel/ovms-tls:2022.2 app.kubernetes.io/instance=ovms-tls-abcxzy,app.kubernetes.io/name=ovms-tls NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/ovms-deployment-75c7dffdc5 1 1 1 50m ovms-tls 10.237.23.153:30003/intel/ovms-tls:2022.2 app.kubernetes.io/instance=ovms-tls-abcxzy,app.kubernetes.io/name=ovms-tls,pod-template-hash=75c7dffdc5
    CLUSTER-IP is a virtual IP that is allocated by Kubernetes* to a service. It is the Kubernetes* internal IP. Two different pods can communicate using this IP.
  2. On each
    edge node
    , verify that the Docker* container is running:
    docker ps | grep ovms-tls 6b64514a4b9a c9e7db04fe06 "/usr/bin/dumb-init …" 10 minutes ago Up 10 minutes k8s_ovms-tls_ovms-deployment-5856948447-t78tz_ovms-tls_3cd84b35-c604-4948-9228-e381fd0714fa_1 ceeaa7673bcd k8s.gcr.io/pause:3.5 "/pause" 10 minutes ago Up 10 minutes k8s_POD_ovms-deployment-5856948447-t78tz_ovms-tls_3cd84b35-c604-4948-9228-e381fd0714fa_1

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.