Wandering Application Deployment
This tutorial describes how to deploy the wandering pods on a control plane and how to verify that the wandering containers are deployed successfully on the EI for AMR labeled nodes.
Machine A is the Intel® Smart Edge Open control plane.
Machine B is the device added using Device Onboarding End-to-End Use Case
Prerequisites: Intel® Smart Edge Open multi-node deployment configured per the Get Started Guide for Robots.
On Machine A:
ansible-playbook --extra-vars '{ "pod_replicas":6}' AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/02_edge_server/wandering/wandering_install.yaml
NOTE:The number of pod_replicas is up to you.Expected result: After installing the wandering playbook, a pod is deployed on the existing node that is labeled EI for AMR - one pod per node. The remaining pods remain in a pending state and are deployed when a new node labeled EI for AMR is added to the Intel® Smart Edge Open cluster.
On Machine A, verify that services, pods, and deployment are running:
$ kubectl get all --output=wide --namespace wandering NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/wandering-deployment-57764cb49c-d2txw 0/8 Pending 0 17h <none> <none> <none> <none> pod/wandering-deployment-57764cb49c-gsh5x 0/8 Pending 0 17h <none> <none> <none> <none> pod/wandering-deployment-57764cb49c-kk6qw 0/8 Pending 0 17h <none> <none> <none> <none> pod/wandering-deployment-57764cb49c-sc4lt 0/8 Pending 0 17h <none> <none> <none> <none> pod/wandering-deployment-74cf696fdb-cwh5n 0/8 Pending 0 17h <none> <none> <none> <none> pod/wandering-deployment-74cf696fdb-spr5v 0/8 Pending 0 17h <none> <none> <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/wandering-service ClusterIP 10.103.4.38 <none> 80/TCP 22h app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/wandering-deployment 1/6 4 1 22h amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering 10.237.23.153:30003/intel/amr-realsense:latest,10.237.23.153:30003/intel/amr-aaeon-amr-interface:latest,10.237.23.153:30003/intel/amr-ros-base:latest,10.237.23.153:30003/intel/amr-collab-slam:latest,10.237.23.153:30003/intel/amr-fastmapping:latest,10.237.23.153:30003/intel/amr-nav2:latest,10.237.23.153:30003/intel/amr-wandering:latest app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/wandering-deployment-57764cb49c 4 4 0 20h amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering 10.237.23.153:30003/intel/amr-realsense:2022.2,10.237.23.153:30003/intel/amr-ros-base-camera-tf:2022.2,10.237.23.153:30003/intel/amr-aaeon-amr-interface:2022.2,10.237.23.153:30003/intel/amr-ros-base-teleop:2022.2,10.237.23.153:30003/intel/amr-collab-slam:2022.2,10.237.23.153:30003/intel/amr-fastmapping:2022.2,10.237.23.153:30003/intel/amr-nav2:2022.2,10.237.23.153:30003/intel/amr-wandering:2022.2 app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering,pod-template-hash=57764cb49c replicaset.apps/wandering-deployment-74cf696fdb 3 3 1 22h amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering 10.237.23.153:30003/intel/amr-realsense:2022.2,10.237.23.153:30003/intel/amr-ros-base-camera-tf:2022.2,10.237.23.153:30003/intel/amr-aaeon-amr-interface:2022.2,10.237.23.153:30003/intel/amr-ros-base-teleop:2022.2,10.237.23.153:30003/intel/amr-collab-slam:2022.2,10.237.23.153:30003/intel/amr-fastmapping:2022.2,10.237.23.153:30003/intel/amr-nav2:2022.2,10.237.23.153:30003/intel/amr-wandering:2022.2 app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering,pod-template-hash=74cf696fdb
If EI for AMR labeled nodes are in the Intel® Smart Edge Open cluster or after Device Onboarding End-to-End Use Case is completed, the followings logs are displayed on the Intel® Smart Edge Open control plane on Machine A:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/wandering-deployment-86d6b669d6-27rcd 0/8 Pending 0 7m34s <none> <none> <none> <none> pod/wandering-deployment-86d6b669d6-cbd2x 0/8 Pending 0 7m34s <none> <none> <none> <none> pod/wandering-deployment-86d6b669d6-rwbnd 0/8 Pending 0 7m34s <none> <none> <none> <none> pod/wandering-deployment-86d6b669d6-rzlgr 8/8 Running 1 (7m33s ago) 7m34s 10.245.188.4 intelcloudgl05 <none> <none> pod/wandering-deployment-86d6b669d6-tnp4z 0/8 Pending 0 7m34s <none> <none> <none> <none> pod/wandering-deployment-86d6b669d6-vjpx9 0/8 Pending 0 7m34s <none> <none> <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/wandering-service ClusterIP 10.103.4.38 <none> 80/TCP 7m35s app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/wandering-deployment 1/6 6 1 7m35s amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering 10.237.22.39:30003/intel/amr-realsense:2022.2,10.237.22.39:30003/intel/amr-ros-base-camera-tf:2022.2,10.237.22.39:30003/intel/amr-aaeon-amr-interface:2022.2,10.237.22.39:30003/intel/amr-ros-base-teleop:2022.2,10.237.22.39:30003/intel/amr-collab-slam:2022.2,10.237.22.39:30003/intel/amr-fastmapping:2022.2,10.237.22.39:30003/intel/amr-nav2:2022.2,10.237.22.39:30003/intel/amr-wandering:2022.2 app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/wandering-deployment-86d6b669d6 6 6 1 7m35s amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering 10.237.22.39:30003/intel/amr-realsense:2022.2,10.237.22.39:30003/intel/amr-ros-base-camera-tf:2022.2,10.237.22.39:30003/intel/amr-aaeon-amr-interface:2022.2,10.237.22.39:30003/intel/amr-ros-base-teleop:2022.2,10.237.22.39:30003/intel/amr-collab-slam:2022.2,10.237.22.39:30003/intel/amr-fastmapping:2022.2,10.237.22.39:30003/intel/amr-nav2:2022.2,10.237.22.39:30003/intel/amr-wandering:2022.2 app.kubernetes.io/instance=wandering-abcxzy,app.kubernetes.io/name=wandering,pod-template-hash=86d6b669d6
Verify that the Docker* images are present on Machine B:
$ docker images <MACHINE_A_IP>:30003/intel/amr-ros-base-camera-tf latest 31735754089b 2 days ago 8.25GB <MACHINE_A_IP>:30003/intel/amr-wandering latest 31735754089b 2 days ago 8.25GB <MACHINE_A_IP>:30003/intel/amr-fastmapping latest 5c1bbefc1d17 2 days ago 2.28GB <MACHINE_A_IP>:30003/intel/amr-collab-slam latest 415975276b1f 2 days ago 3.24GB <MACHINE_A_IP>:30003/intel/amr-aaeon-amr-interface latest 5d94f57da0d1 2 days ago 2.37GB <MACHINE_A_IP>:30003/intel/amr-realsense latest 1dab67f4d287 2 days ago 3GB <MACHINE_A_IP>:30003/intel/amr-ros-base-camera-tf latest 0ac635f5633f 2 days ago 1.76GB <MACHINE_A_IP>:30003/intel/amr-nav2 latest 769353e041bf 2 days ago 3.55GB
NOTE:Pod deployment may take a while because of the size of the Docker* containers from the pod. If you get an error after the deployment, wait a few minutes. The pods automatically restart, and the error goes away. If the error persists after a few automatic restarts, restart the pod manually from Machine A:$ kubectl rollout restart deployment wandering-deployment -n wandering
Verify that the Docker* container is running on Machine B:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 86184dab6d92 10.237.22.39:30003/intel/amr-ros-base-camera-tf "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-ros-base-teleop_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_1 9d19c163076f 10.237.22.39:30003/intel/amr-wandering "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-wandering_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0 b9f03850310e 10.237.22.39:30003/intel/amr-nav2 "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-nav2_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0 8fb3fb882505 10.237.22.39:30003/intel/amr-fastmapping "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-fastmapping_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0 1f122686f8e1 10.237.22.39:30003/intel/amr-collab-slam "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-collab-slam_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0 ee7e6cd8b50a 10.237.22.39:30003/intel/amr-aaeon-amr-interface "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-aaeon-amr-interface_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0 009efc5405af 10.237.22.39:30003/intel/amr-ros-base-camera-tf "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-ros-base-camera-tf_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0 1a6409b8c361 10.237.22.39:30003/intel/amr-realsense "/bin/bash -c 'sourc…" About a minute ago Up About a minute k8s_amr-realsense_wandering-deployment-86d6b669d6-rzlgr_wandering_c00ecd97-2217-4f4f-a62c-9f99bc44ac7d_0