0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[はじめてのRDBOX(8)]rdbox使ってみました:RDBOX(k8s) Subscriber アプリ編

Last updated at Posted at 2019-09-02

はじめに

ROS の初心者が、とっても簡単なROSアプリを作ってみました。(連載記事です)

今回の記事の概要

構築手順

k8sラベル付けと共有ディレクトリ作成

  • k8s master に ssh
  • アプリを配置する k8s ノード(今回は RDBOX-HQ 側 amd64)を確認(get nodes)
  • アプリを配置する k8s ノードを制御するため、k8sノードにラベル付け(label node 'LABEL')
  • 同ノードに、画像ファイルを共有するためのディレクトリを作成
  • 以下(↓)は具体的な手順
$ ssh -i YourKeyFile -l ubuntu YourKubeMaster
Enter passphrase for key 'YourKeyFile':
$ sudo kubectl --kubeconfig /etc/kubernetes/admin.conf get nodes
$ sudo kubectl --kubeconfig /etc/kubernetes/admin.conf label node YourKubeNode01 node.rdbox.com/type=picam-data
$ ssh -i YourKeyFile ubuntu@YourKubeNode01 "sudo mkdir -p /opt/picam_data/photo ; sudo chmod 775 /opt/picam_data/photo ; ls -la /opt/picam_data/photo"

マニフェスト(yaml)作成

  • 画像蓄積用 ROS アプリ(Subscriber)コンテナと画像参照 Flask アプリコンテナの稼働設定
  • 以下(↓)は具体的な手順
$ export PICAM_DATA=/opt/picam_data
$ export PICAM_PORT=8080
$ cd ${HOME}/git/example-picam/kubernetes
$ ./picam-app-sub-photo.sh | tee picam-app-sub-photo.yaml
#### ここにマニフェスト(yaml)が表示されます(ファイルにも保存される) ###

マニフェスト(yaml) Upload

  1. RDBOX(k8s)のダッシュボードに接続
  2. [+ CREATE] をクリックし、picam-app-sub-photo.yaml を Upload(先ほど表示された YAML データを Copy&Paste しても可)
    rdbox-k8s-create.png
  3. Pod が配備されるまで、しばらく待つ
    rdbox-k8s-pod-sub.png

マニフェスト(yaml)の要点

  1. [template]-[spec]-[volumes] にて、ノード(amd64)上のディレクトリをコンテナから利用(mount)可能に設定
    • 画像蓄積用 ROS アプリ(Subscriber)コンテナと画像参照 Flask アプリコンテナにて、このディレクトリをマウントして共用
  2. ROSアプリが稼働する k8s ノード(amd64)上にて、multimaster_fkie も稼働させる
    • この結果、ROS アプリからは localhost で ROS MASTER が稼働しているかのように利用できる
    • ほとんど設定することなく multimaster_fkie が ROS MASTER との通信を処理してくれる
  3. k8s の node にて、画像蓄積用 ROS アプリ(Subscriber)と画像参照 Flask アプリを、同居稼働させる
    • この結果、共有Volume(NFSなど)の設定を省略できた(本サービスの場合は必要だし、きちんと構成を検討する必要あり)

記事リスト

  1. 概要編
  2. 画像参照アプリの構築編
  3. ROSパッケージ作成編
  4. ROS Subscriber編
  5. ROS Publisher編
  6. DockerImage 作成編
  7. RDBOX(k8s) ポート転送編
  8. RDBOX(k8s) Subscriber アプリ編(← 今回の記事)
  9. RDBOX(k8s) Publisher アプリ編
  10. 雑記
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?