1.Flashsystem.ai とは
AIを活用したアシスタントであり、 IBM FlashSystem ストレージを自然言語で管理できるようになる機能です。
導入すると、下記のようなチャット画面が、管理画面に統合されて、そこで、自然言語で問い合わせができます。
下記図では、「登録されているホストの一覧を表示して」と問い合わせをしたところ、ホスト一覧が出力された例を示しています。
このようにスキルに不足がある管理者でも自然言語で、簡単に状態を確認したりすることができます。

2. Flashsystem.ai を動かすには
Flashsystemのファームウェアが9.1.3の時点では以下のものが必要です。
- Kubernetes環境(Openshiftデモ可)
- IBM Cloud アカウント ※所有していない場合は取得してください
- IBM Stprage Insight アカウント
3. 実際に導入してみた
Kubernetes環境が必要になるので、今回はRHEL10にK3sを導入し、そこにコンテナをデプロイし、設定をしてみました。
以下にその手順をご紹介します。
(1) K3sの導入
以下のコマンドを実行し、K3sを導入します。
# curl -sfL https://get.k3s.io | sh -s - --disable traefik
# export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
# wget https://get.helm.sh/helm-v4.2.4-linux-amd64.tar.gz
# tar zxvf helm-v4.2.4-linux-amd64.tar.gz
# cp linux-amd64/helm /usr/local/bin
# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
# helm repo update
# helm install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace
(2) Helmチャートのコンテナイメージをダウンロードするためのイメージレジストリーへの接続情報設定
Helmチャートを利用してコンテナをデプロイするため、以下のコマンドを実行し、イメージレジストリの認証情報を設定します。
# helm registry login icr.io --username iamapikey --password <ibm cloud apikey>
# helm pull oci://icr.io/flashsystem-ai-release/flashsystem-ai \
--version 1.2.0 --untar
# chmod +rx scripts/*
# kubectl create namespace flashsystem-app
# kubectl create secret docker-registry icr-io \
--docker-server=icr.io \
--docker-username=iamapikey \
--docker-password=<ibm cloud apikey> \
-n flashsystem-app
上記の<ibm cloud apikey>は、下記IBM CLoudの画面から取得してください。

(3)サーバー証明書の作成
Flashsystemのストレージとコンテナ間はhttpsで接続するため、TLSの証明書が必要なため、作成します。
# ./scripts/create-backend-cert.sh flashsystem-app flashsystem-app-tls flashsystem-app
# kubectl create secret tls my-custom-frontend-cert \
--key=frontend.key \
--cert=frontend.crt \
-n flashsystem-app
# APPLICATION_DNS_NAME=<ingress fqdn>
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout frontend.key -out frontend.crt \
-subj "/CN=${APPLICATION_DNS_NAME}" \
-addext "subjectAltName = DNS:${APPLICATION_DNS_NAME}"
# kubectl create secret tls my-custom-frontend-cert \
--key=frontend.key \
--cert=frontend.crt \
-n flashsystem-app
# scripts/configure-values.sh
上記の<ingress fqdn>\には、デプロイするコンテナのWEB画面に接続するためのFQDNを指定してください。
尚、このFQDNはDNSサーバーで名前解決できている必要があります。
configure-values.shはHELMチャートを導入するための設定ファイルvalues.yamlを作成するためのスクリプトです。いくつか質問が出てくるので、デフォルトの回答をしてください。
(4)Helmチャートのデプロイ
# helm install flashsystem-app . -f values.yaml -n flashsystem-app
(5)Flashsystem.aiコンテナ設定
- ブラウザで、https://<ingress_fqdn>/setupにアクセス
- ログインユーザーを作成をするように求められるため、ユーザーを作成
- 下記のようなストーレジを設定する画面が出てくるので、ストレージを登録し、Storage InsightのテナントIDと、API Keyを入力、GUI Connection Keyを作成し、「Save」で保存
- FlashsystemにSSH接続し、以下のコマンドを実行
> chaicontainerinfo -key <gui key> -url <ingress fqdn>:443
4. 導入ではまるところ
先の手順で示した通り、KubernetesのIngressを使用するので、名前解決が正常におこなわれる必要があります。
環境に応じて、DNSサーバーを設定してください。きちんと設定されていないと以下のようなメッセージがチャット画面で表示され、正常に動作しません。

5. 使用してみて
現状は、使用できる機能に制限があり、すべての機能が自然言語で実行できるわけではありません。今後のファームウェアバージョンアップにより機能が追加されることを期待します。