Skip to content

Commit 2e63bbb

Browse files
Merge pull request #91 from fixpoint/export-import-share
KE2 ACI: Update document for ke2 data management
2 parents 51dd78d + 599ac66 commit 2e63bbb

1 file changed

Lines changed: 233 additions & 2 deletions

File tree

ke2/cloud/azureci/README.md

Lines changed: 233 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ az storage file upload --account-name ke20storage -s rabbitmq-conf --source ./co
186186
az storage file upload --account-name ke20storage -s rabbitmq-conf --source ./configs/rabbitmq-ssl.conf -p 30-ssl.conf
187187
```
188188

189-
Azure ポータルにログインして、ke20storage ストレージアカウントのファイル共有 kompira-nginx-conf に移動し、
189+
Azure ポータルにログインして、ke20storage ストレージアカウントのファイル共有 rabbitmq-conf に移動し、
190190
画面上からアップロードすることも可能です。
191191

192192
#### Log Analytics ワークスペースの作成 (オプショナル)
@@ -433,7 +433,238 @@ az container start --resource-group KE20RG --name azureci
433433
az container restart --resource-group KE20RG --name azureci
434434
```
435435

436-
#### 料金プラン
436+
## ローカルマシンでの Azure ファイル共有のマウント手順
437+
438+
Azure ポータルから Azure ファイル共有にアクセスすることもできますが、操作の都合上、ローカルにマウントして使用する方が便利な場合もあります。以下の手順で、Azure ファイル共有をローカルにマウントすることができます。
439+
440+
Linux マシンに `cifs-utils` がインストールされていない場合は、インストールしてください。
441+
```
442+
# 例:
443+
sudo dnf install cifs-utils
444+
```
445+
446+
以下のコマンドで、Azure ファイル共有をローカル環境にマウントしてください。コマンド実行前 `<storageAccountName>``<storageAccountKey>``<Azure ファイル共有名>``<マウント先のローカルディレクトリ>` を実際の値に置き換えてください。
447+
448+
```
449+
sudo mount -t cifs //<storageAccountName>.file.core.windows.net/<Azure ファイル共有名> <マウント先のローカルディレクトリ> \
450+
-o vers=3.0,\
451+
username=<storageAccountName>,\
452+
password=<storageAccountKey>,\
453+
dir_mode=0777,file_mode=0777,serverino
454+
```
455+
456+
このドキュメントに従って Azure ファイル共有を同じ名前で準備した場合、以下の Azure ファイル共有がすでに作成済みです。
457+
458+
Azure ファイル共有名:
459+
- kompira-log:
460+
この Azure ファイル共有は、Kompira のログファイルを永続化することを主な目的としており、コンテナ上のパス `/var/log/kompira` ディレクトリにマウントされています。
461+
- kompira-var:
462+
この Azure ファイル共有はアプリケーションの可変データ(HTML や静的アセット、パッケージ、export/import管理コマンドデータなど)を格納し、KE コンテナには共通として利用します。これはコンテナ内の `/var/opt/kompira` ディレクトリにマウントされています。ユーザー固有の操作(カスタムデータやエクスポートやインポートなど)のために、Azure ファイル共有 `kompira-var` 内の `data` ディレクトリ(コンテナ上のパス:`/var/opt/kompira/data`)をご利用ください。
463+
- kompira-nginx-conf: nginxサーバ設定用
464+
- rabbitmq-conf: rabbitmq 設定用
465+
- ssl-cert: 証明書用
466+
467+
※ Azure ファイル共有 `kompira-var` 内の `data` ディレクトリ以外のAzure ファイル共有 ・ディレクトリは KE2 固有ですので、マウントしてご利用になる場合は削除・更新にご注意ください。Azure ポータル上で操作する場合も同様にご注意ください。
468+
469+
以下のコマンドでマウントしたローカルディレクトリをアンマウントすることができます。
470+
```
471+
sudo umount <マウント先のローカルディレクトリ>
472+
```
473+
474+
## データ管理
475+
476+
このセクションで、`/var/opt/kompira/data` と Azure ファイル共有 `kompira-var/data` の両方が登場します。基本的にこれらは同じリソースを指しており、`/var/opt/kompira/data` はコンテナ内でのマウントパスを示し、`kompira-var/data` はそのマウントパスに接続された Azure ファイル共有を指します。`/var/opt/kompira/data` で行った作業内容は、Azure ファイル共有 `kompira-var/data` 側にも反映されます。逆も同様で、`kompira-var/data` 側での変更は `/var/opt/kompira/data` にも反映されます。エクスポートやインポートなどの操作を行う際は、`/var/opt/kompira/data``kompira-var/data` のパスであることに注意してください。
477+
478+
Azure ファイル共有 `kompira-var/data` またはそのマウント先である `/var/opt/kompira/data` に対して操作を行うには、以下の方法が考えられます。
479+
480+
- Azure ファイル共有 `kompira-var` がローカルにマウントされていれば、`data` ディレクトリ内にアクセスできます。そして、ディレクトリ作成やファイルのアップロード・ダウンロードなどの操作をローカルから直接行うことができます。
481+
- また、Azure ポータルを通じて Azure ファイル共有 `kompira-var/data` にアクセスし、ディレクトリの作成や削除やファイルのアップロードやダウンロードなど、各種操作を実行することもできます。
482+
- Azure CLI を使用して `kompira-var/data` 内に、必要な操作を行うことも可能です。以下のコマンド実行前 `<storageAccountName>``<storageAccountKey>` を実際の値に置き換えてください。
483+
484+
```
485+
az storage <sub-commands> \
486+
--account-name <storageAccountName> \
487+
--account-key <storageAccountKey> \
488+
--share-name kompira-var \
489+
[options...]
490+
```
491+
492+
`<sub-commands>``[options...]`に関しては、[az storage](https://learn.microsoft.com/ja-jp/cli/azure/storage?view=azure-cli-latest)をご参照ください。
493+
494+
例: Azure CLI で kompira-var からローカルにファイルをダウンロードしたい場合、以下のコマンドご利用できます。
495+
```
496+
az storage file download \
497+
--account-name <storageAccountName> \
498+
--account-key <storageAccountKey> \
499+
--share-name kompira-var \
500+
--path <data/ファイルパス> \
501+
--dest <保存先のローカルフォルダ>
502+
```
503+
504+
[Azure Storage Explorer](https://azure.microsoft.com/ja-JP/products/storage/storage-explorer/) でも Azure ファイル共有を管理することができます。
505+
506+
### データのエクスポート
507+
508+
#### export_data 管理コマンドによるエクスポート
509+
510+
※ エクスポートデータはコンテナ側に書き出される場合、`/var/opt/kompira/data`を利用します。深いパスにエクスポートしたい場合は、あらかじめ `/var/opt/kompira/data` 内に対象ディレクトリを作成し、コマンドに `/var/opt/kompira/data` 代わりに `/var/opt/kompira/data/<深いパス>` 形で書いてください。
511+
512+
`export_data` 管理コマンドを用いると、指定したパス配下の Kompira オブジェクトを JSON 形式でエクスポートすることができます。 KE2 では kompira コンテナ上で `export_data` 管理コマンドを実行させるために、以下のように実行してください。
513+
```
514+
az container exec --resource-group KE20RG \
515+
--name azureci \
516+
--container-name kompira \
517+
--exec-command "manage.py export_data [options...] <オブジェクトパス>"
518+
```
519+
`[options...]`の詳細については、--help オプションを指定することで確認できます。
520+
521+
デフォルトではエクスポートデータは標準出力に出力されるので、ローカルに書き出したい場合は、リダイレクトを利用するなどしてください。コマンド実行前 `<オブジェクトパス>` を実際の値に置き換えてください。
522+
```
523+
az container exec --resource-group KE20RG \
524+
--name azureci \
525+
--container-name kompira \
526+
--exec-command "manage.py export_data <オブジェクトパス>" > exported_data.json
527+
```
528+
529+
export_data 管理コマンドで `--zip-mode` オプションを指定した場合は、エクスポートデータはコンテナ側に ZIP ファイルとして書き出されることに注意してください。コマンド実行前 `<オブジェクトパス>` を実際の値に置き換えてください。
530+
```
531+
> az container exec --resource-group KE20RG \
532+
--name azureci \
533+
--container-name kompira \
534+
--exec-command /bin/sh
535+
536+
> cd /var/opt/kompira/data && manage.py export_data --zip-mode <オブジェクトパス> && exit
537+
```
538+
539+
#### export_dir 管理コマンドによるエクスポート
540+
541+
export_dir 管理コマンドを用いると、指定したパス配下の Kompira オブジェクトをオブジェクト毎に ディレクトリ・ファイル一式としてエクスポートすることができます。KE2 では kompira コンテナ上で export_dir 管理コマンドを実行させるために、以下のように実行してください。
542+
543+
```
544+
az container exec --resource-group KE20RG \
545+
--name azureci \
546+
--container-name kompira \
547+
--exec-command "manage.py export_dir [options...] <オブジェクトパス>"
548+
```
549+
`[options...]` の詳細については、`--help` オプションを指定することで確認できます。
550+
551+
export_dir 管理コマンドではコンテナ上のファイルシステムにファイルを書き出すので、以下のようにコマンドに `--current=/var/opt/kompira/data` オプションを指定する必要があります。コマンド実行前 `<オブジェクトパス>` を実際の値に置き換えてください。
552+
```
553+
az container exec --resource-group KE20RG \
554+
--name azureci \
555+
--container-name kompira \
556+
--exec-command "manage.py export_dir --current=/var/opt/kompira/data <オブジェクトパス>"
557+
```
558+
559+
560+
### データのインポート
561+
562+
#### import_data 管理コマンドによるインポート
563+
564+
import_data 管理コマンドを用いると、export_data 管理コマンドでエクスポートしたファイルからデータを取り込むことができます。 KE2 では kompira コンテナ上で import_data 管理コマンドを実行させるために、以下のように実行してください。
565+
```
566+
az container exec --resource-group KE20RG \
567+
--name azureci \
568+
--container-name kompira \
569+
--exec-command "manage.py import_data [options...] <filename>"
570+
```
571+
`[options...]` の詳細については、--help オプションを指定することで確認できます。
572+
573+
インポートしたいファイルを Azure ファイル共有 `kompira-var/data` に直接配置した場合は、以下のコマンドを使用して KE2 にインポートすることができます。深いパスからインポートしたい場合は、あらかじめ `kompira-var/data` 内に対象ディレクトリを作成するのは必要となります。その場合、コマンドに `/var/opt/kompira/data/<ファイル名>` 代わりに `/var/opt/kompira/data/<深いパス>/<ファイル名>` 形で書いてください。コマンド実行前に、`<ファイル名>` は実際の値に置き換えてください。
574+
```
575+
az container exec --resource-group KE20RG \
576+
--name azureci \
577+
--container-name kompira \
578+
--exec-command "manage.py import_data /var/opt/kompira/data/<ファイル名>"
579+
```
580+
581+
#### import_dir 管理コマンドによるインポート
582+
583+
import_dir 管理コマンドを用いると、export_dir 管理コマンドでエクスポートしたディレクトリ・ファイル一式からデータを取り込むことができます。 KE2 では kompira コンテナ上で import_dir 管理コマンドを実行させるために、以下のように実行してください。
584+
585+
```
586+
az container exec --resource-group KE20RG \
587+
--name azureci \
588+
--container-name kompira \
589+
--exec-command "manage.py import_dir [options...] <ディレクトリパス>"
590+
```
591+
`[options...]` の詳細については、`--help` オプションを指定することで確認できます。
592+
593+
インポートしたいディレクトリ・ファイル一式を Azure ファイル共有 `kompira-var/data` に直接配置した場合は、以下のコマンドを使用して KE2 にインポートすることができます。深いパスからインポートしたい場合は、あらかじめ `kompira-var/data` 内に対象ディレクトリを作成するのは必要となります。その場合、コマンドに `/var/opt/kompira/data` 代わりに `/var/opt/kompira/data/<深いパス>` 形で書いてください。
594+
```
595+
az container exec --resource-group KE20RG \
596+
--name azureci \
597+
--container-name kompira \
598+
--exec-command "manage.py import_dir /var/opt/kompira/data"
599+
```
600+
601+
※ export_data・export_dir・import_data・import_dir 管理コマンドの詳細は [Kompira Enterprise 2.0 管理者マニュアル](https://fixpoint.github.io/ke2-admin-manual/management/data/index.html)をご参照ください。
602+
603+
### オブジェクトのコンパイル
604+
605+
#### ジョブフローオブジェクトのコンパイル
606+
607+
以下のコマンドを実行してください。コマンド実行前に、`[options...]``<ジョブフロ―オブジェクトのパス>` は実際の値に置き換えてください。
608+
609+
```
610+
az container exec --resource-group KE20RG \
611+
--name azureci \
612+
--container-name kompira \
613+
--exec-command "manage.py compile_jobflow [options...] <ジョブフロ―オブジェクトのパス>"
614+
```
615+
`[options...]` の詳細については、`--help` オプションを指定することで確認できます。
616+
617+
#### ライブラリオブジェクトのコンパイル
618+
619+
以下のコマンドを実行してください。コマンド実行前に、`[options...]``<ライブラリオブジェクトのパス>` は実際の値に置き換えてください。
620+
621+
```
622+
az container exec --resource-group KE20RG \
623+
--name azureci \
624+
--container-name kompira \
625+
--exec-command "manage.py compile_library [options...] <ライブラリオブジェクトのパス>"
626+
```
627+
`[options...]` の詳細については、--help オプションを指定することで確認できます。
628+
629+
630+
### チャネルオブジェクトの操作
631+
632+
#### チャネルオブジェクトのメッセージを見る
633+
以下のコマンドを実行してください。コマンド実行前に、`[options...]``<チャネルオブジェクトのパス>` は実際の値に置き換えてください。
634+
635+
```
636+
az container exec --resource-group KE20RG \
637+
--name azureci \
638+
--container-name kompira \
639+
--exec-command "manage.py peek_channel [options...] <チャネルオブジェクトのパス>"
640+
```
641+
`[options...]` の詳細については、--help オプションを指定することで確認できます。
642+
643+
#### チャネルオブジェクトからメッセージを取り出す
644+
以下のコマンドを実行してください。コマンド実行前に、`[options...]``<チャネルオブジェクトのパス>` は実際の値に置き換えてください。
645+
646+
```
647+
az container exec --resource-group KE20RG \
648+
--name azureci \
649+
--container-name kompira \
650+
--exec-command "manage.py pop_channel [options...] <チャネルオブジェクトのパス>"
651+
```
652+
`[options...]` の詳細については、`--help` オプションを指定することで確認できます。
653+
654+
### プロセスオブジェクト管理
655+
656+
#### process 管理コマンドの実行
657+
process 管理コマンドは以下のように kompira コンテナで実行してください。
658+
```
659+
az container exec --resource-group KE20RG \
660+
--name azureci \
661+
--container-name kompira \
662+
--exec-command "manage.py process [options...]"
663+
```
664+
665+
プロセスオブジェクト管理の詳細は [Kompira Enterprise 2.0 管理者マニュアル](https://fixpoint.github.io/ke2-admin-manual/management/data/process.html) をご参照ください。
666+
667+
## 料金プラン
437668
このデプロイメントでは、以下のスペックを使用します。
438669
vCPU リソース:4 コア
439670
メモリ:16GB

0 commit comments

Comments
 (0)