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?

IBM Flashsystem に Flashsystem.ai を導入してみた

0
Posted at

1.Flashsystem.ai とは

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

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の画面から取得してください。
image.png

(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」で保存
    image.png
  • FlashsystemにSSH接続し、以下のコマンドを実行
> chaicontainerinfo -key <gui key> -url <ingress fqdn>:443

4. 導入ではまるところ

先の手順で示した通り、KubernetesのIngressを使用するので、名前解決が正常におこなわれる必要があります。
環境に応じて、DNSサーバーを設定してください。きちんと設定されていないと以下のようなメッセージがチャット画面で表示され、正常に動作しません。
image.png

5. 使用してみて

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

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?