LoginSignup
0
0

More than 1 year has passed since last update.

Dapr CLI をインストールする手順

Last updated at Posted at 2023-02-17

Dapr CLI をインストールする手順

目的

分散アプリケーションの為のランタイム Dapr の理解を深めます。

実現すること

ローカル環境 (Ubuntu) に Dapr を操作する為のコマンドラインツール Dapr CLI をインストールして Dapr ランタイムの動作を確認します。

開発環境

  • Windows 11 Home 22H2 を使用しています。
  • WSL の Ubuntu を操作していきますので macOS の方も参考にして頂けます。

WSL (Microsoft Store アプリ版)

> wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47

Ubuntu

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04

Docker Desktop

Version 4.16.3 (96739)
$ docker --version
Docker version 20.10.22, build 3a2c30b

※ この記事では基本的に Ubuntu のターミナルで操作を行います。

インストール

インストール

$ wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash

バーション確認
※ ランタイムはまだ初期化されていません。

$ dapr --version
CLI version: 1.10.0
Runtime version: n/a

ランタイムの初期化

※ Dapr ランタイムを初期化する方法が2種類あります。

No 方法 概要
1 ローカル環境に初期化 Dapr の起動には Redis が必要なので Redis の環境を個別に用意する必要があります。
2 Docker 環境に初期化 Dapr の起動に必要である Redis コンテナもセットで環境が初期化されます。
※ 公式での推奨

ローカル環境に初期化

初期化

$ dapr init --slim

※ ランタイムをアンインストールする場合

$ dapr uninstall

Docker 環境に初期化

※ Docker 環境が起動している必要があります。

$ docker --version
Docker version 20.10.22, build 3a2c30b

初期化

$ dapr init

※ ランタイムをアンインストールする場合

$ dapr uninstall --all

コンテナ起動状況確認

$ docker ps | grep dapr
a842a0006f5d   redis:6              "docker-entrypoint.s…"   0.0.0.0:6379->6379/tcp             dapr_redis
4201cb6b0ca7   openzipkin/zipkin    "start-zipkin"            9410/tcp, 0.0.0.0:9411->9411/tcp   dapr_zipkin
dae8b337dabe   daprio/dapr:1.10.0   "./placement"             0.0.0.0:50005->50005/tcp           dapr_placement

初期化後

※ 以下のディレクトリに Dapr ランタイムがインストールされています。

 /home/$USER/.dapr/bin  

バーション確認

$ dapr --version
CLI version: 1.10.0
Runtime version: 1.10.0

Dapr API を使用してみる

※ ローカル環境に初期化した構成では Redis を起動します。
※ この例では Redis を Docker コンテナとして起動しています。

$ docker run -d -p 6379:6379 redis

Dapr ランタイムの起動

Dapr サイドカーを実行します。
※ 空のアプリケーションをポート 3500 でリッスンする Dapr サイドカーが起動されます。

$ dapr run --app-id hello-dapr --dapr-http-port 3500

※ 停止したい場合(別ターミナル)

  • なおエラーで起動出来ていない場合は停止できないようです。
$ dapr stop --app-id hello-dapr

Dapr Dashboard で確認(別ターミナル)

$ dapr dashboard -p 9999
Dapr Dashboard running on http://localhost:9999

API で操作してみる

別ターミナルから Dapr API で値を登録します。

curl -X POST -H "Content-Type: application/json" -d '[{ "key": "name", "value": "Michael Jackson"}]' http://localhost:3500/v1.0/state/statestore

続けて Dapr API で値を取得してみます。

curl -X GET http://localhost:3500/v1.0/state/statestore/name
"Michael Jackson"

Dapr の Redis コンテナを調べて状態を確認します。
※ Redis CLI を使用します。
※ ローカル環境に初期化した構成の場合、動作してる Redis コンテナに対して操作して下さい。

$ docker exec -it dapr_redis redis-cli

Redis CLI
※ exit で操作を抜けます。

> keys *
1) "hello-dapr||name"
> hgetall "hello-dapr||name"
1) "data"
2) "\"Michael Jackson\""
3) "version"
4) "1"

※ Dapr の Redis コンテナに値が保存されています。

Dapr API で値を削除します。

curl -v -X DELETE -H "Content-Type: application/json" http://localhost:3500/v1.0/state/statestore/name

※ Redis コンテナを確認すると値が削除されています。

> keys *
(empty array)

まとめ

  • Dapr CLI をインストールして Dapr ランタイムを構築し、 Ubuntu の Docker 環境にて Dapr API の動作を確認することが出来ました。

公式リファレンス

Dapar Getting started

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