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 1 year has passed since last update.

NetApp Astra Service を使ってみる ①GKE事前準備編

Last updated at Posted at 2021-06-25

初版: 2021/6/25
2021/10/3, 2022/2/2 新しい記事のリンクを追加

はじめに

前回の記事では、NetAppが提供するAstraの概要や特徴について記載しました。
続けて実際にAstraがどのようなものか解説していこうと思いますが、まずは利用するために必要な事項を以下に記載していきます。

本投稿は、Google Kubernetes Engine(GKE)を使用した手順をご紹介しています。

関連投稿一覧

GKEでNetApp Astraを使用するためには、以下の準備が必要です。

1. NetAppが提供するストレージサービスの用意

Astra Control Serviceは、永続ボリュームのバックエンドストレージとしてGoogleCloud用のCloud Volumes Serviceを使用します。
Google Cloudのマーケットプレイスから「NetApp Cloud Volume Service」を登録します。
Screen Shot 2021-06-11 at 20.42.55.png

利用規約などにチェックを入れ、再度「登録」ボタンを押してサービスの利用を開始します。
Screen Shot 2021-06-25 at 22.20.10.png
「プロダクトページに移動」ボタンをクリックします。
Screen Shot 2021-06-25 at 22.22.01.png

Cloud Volumes ServiceのAPIを有効にします。「有効にする」ボタンをクリックします。
Screen Shot 2021-06-25 at 22.32.34.png

「同意する」をクリックして進めます。
Screen Shot 2021-06-25 at 22.36.47.png

Cloud Volumes Serviceは、以下の2つのサービスタイプがあります。
NetApp Cloud Centralのグローバルリージョンマップを参照し、展開するリージョンと使用するサービスタイプをを決めておきます。

サービスタイプ 内容
CVS Google Cloud Consoleからボリュームを作成するときのサービスのデフォルトのサービスタイプです。軽〜中程度のパフォーマンス(最大100MiB/s)を必要とする汎用のLinuxおよびWindowsワークロード向けに設計されています。ストレージボリュームに2つのサービスレベル(シングルゾーンとマルチゾーンの高可用性)を提供し、リージョン内でのボリュームの可用性を保証します。
CVS-Performance 高スループット、低遅延を求めるLinuxおよびWindowsワークロードを対象とした高性能のサービスタイプです。Cloud Volumes Service APIからボリュームを作成するときは、こちらがデフォルトのサービスタイプとなります。3つのサービスレベルが利用でき、サービスレベルを動的に調整して、パフォーマンスをワークロードに合わせることができるため、アプリケーションのワークロードに必要なパフォーマンスに合わせてコストを最適化できます。

2. 必要なAPIを有効にする

Google Cloud console、または gcloud CLIを使って以下のAPIを有効にします。
APIを有効にする方法の詳細は、こちらのビデオを参照ください。

  • Kubernetes Engine API
    Screen Shot 2021-06-17 at 1.06.26.png

  • Cloud Storage API
    Screen Shot 2021-06-21 at 16.13.42.png

  • Google Cloud Storage JSON API
    Screen Shot 2021-06-17 at 1.08.38.png

  • Service Usage API
    Screen Shot 2021-06-17 at 1.10.16.png

  • Cloud Resource Manager API
    Screen Shot 2021-06-17 at 14.03.28.png

  • Service Consumer Management API
    Screen Shot 2021-06-17 at 14.05.28.png

  • Service Networking API
    Screen Shot 2021-06-17 at 14.06.10.png

  • Service Management API
    Screen Shot 2021-06-17 at 14.06.53.png

3. サービスアカウントの作成

AstraがKubernetesクラスタにアクセスするための専用のアカウントを作成します。

  • Google Cloud SDK (gcloudコマンド) がインストールされている環境で実施します。
  • サービスアカウントを作成するプロジェクトが指定されていることを確認します。
$ gcloud config list
[core]
account = [メールアドレス]
disable_usage_reporting = False
project = [プロジェクト名]

Your active configuration is: [default]
  • 作成するサービスアカウントの名前を変数に設定します
    サービスアカウント名は、6~30文字で、小文字で始まる、小文字の英数字である必要があります。(ハイフンは利用可)
$ SA=[サービスアカウント名]
例
$ SA=netapp-astra
$ echo $SA
  • プロジェクトを変数に設定します
$ PROJECT_ID=`gcloud config list --format="text(core.project)" | awk '{print $NF}'`
$ echo $PROJECT_ID
  • サービスアカウントを作成します
$ gcloud iam service-accounts create ${SA}
Created service account [netapp-astra].
  • 作成したサービスアカウントに必要な権限を追加します
Compute Network Viewer ロールの追加
$ gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SA}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/compute.networkViewer --condition=None

Kubernetes Engine Admin ロールの追加
$ gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SA}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/container.admin --condition=None

Cloud Volumes Admin ロールの追加
$ gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SA}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/netappcloudvolumes.admin --condition=None

Service Usage Viewer ロールの追加
$ gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SA}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/serviceusage.serviceUsageViewer --condition=None

Storage Admin ロールの追加
$ gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SA}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/storage.admin --condition=None
  • 上記のロールが追加されたことを確認します。
$ gcloud projects get-iam-policy ${PROJECT_ID} --flatten="bindings[].members" --format="table(bindings.role)" --filter=bindings.members:${SA}@${PROJECT_ID}.iam.gserviceaccount.com
ROLE
roles/compute.networkViewer
roles/container.admin
roles/netappcloudvolumes.admin
roles/serviceusage.serviceUsageViewer
roles/storage.admin

Google Cloud Console からの追加する場合は、こちらのビデオを参照ください。

4. サービスアカウントキーの作成

Google Cloud Consoleの「IAMと管理」にて「サービスアカウント」で、先程作成したサービスアカウントをクリックし、「キー」のタブから鍵を作成します。
「鍵を追加」をプルダウンして「新しい鍵を作成」をクリックします。
Screen Shot 2021-06-21 at 16.38.10.png

キーのタイプは「JSON」を選択します。「作成」ボタンをクリックすると、鍵がダウンロードされます。
Screen Shot 2021-06-21 at 16.42.28.png

鍵の作成方法の詳細については、こちらを参照ください。

5. VPCのネットワークピアリングを設定

Google CloudPlatformのCloudVolumesの「管理」のボタンをクリックし、「ボリューム」の「Create」ボタンをクリックしボリューム作成画面を表示します。
実際にはボリュームは作成しませんが、ボリューム作成の途中で表示されるコマンドを使用してVPCネットワークピアリングを設定します。

Screen Shot 2021-06-17 at 15.37.30.png

「Service Type」は、リージョンに適したサービスタイプを選択します。
「Region」で、該当のリージョンを選択します。
「Network Details」で、該当のVPCを選択します。VPCを作成していない場合は「VPCネットワーク」にて作成します。

VPCネットワークピアリングを設定していない場合は、次の通知が表示されます。

Screen Shot 2021-06-17 at 15.44.23.png
「VIEW COMMANDS HOW TO SET UP NETWORK REERING」ボタンをクリックします。

表示されたコマンドを実行してVPCネットワークピアリング用のグローバルIPを払い出し、VPCネットワークピアリングを作成します。
ネットワークピアリングの作成が完了したら「CANCEL」ボタンをクリックして画面を閉じます。
Screen Shot 2021-06-25 at 23.26.40.png

6. Kubernetesクラスタの作成

Kubernetesクラスタは、Astra Control ServiceからKubernetesクラスタを管理できるよう、以下の要件を満たしている必要があります。

項目 要件
サポートされるK8sバージョン v1.17-1.20
workerノードのイメージ Ubuntu またはContainer-Optimized OS をサポートします
K8sクラスタの状態 Online状態のworkerノードが最低1台必要です
Google Cloudのリージョン K8sクラスタは、NetApp Cloud Volumes Service がサポートされているリージョンで実行されている必要があります。Astra Control Serviceは、CVSとCVS-Performanceの両方のサービスタイプをサポートしています。
ネットワーク K8sクラスタは、Cloud Volumes Service とピアリングされているVPCに存在する必要があります
プライベートクラスタ クラスタがプライベートの場合、以下のAstra Control ServiceのIPアドレスを許可するようネットワークを設定する必要があります。
GKEクラスターの動作モード Standardモードを使用する必要があります。現時点では、Autopilotモードはテストされていません。
Astra Control ServiceのIPアドレス
54.164.233.140/32
3.218.120.204/32
34.193.99.138/32

GKEクラスタを作成していない場合は、Google Cloud Consoleから作成します。
Screen Shot 2021-06-17 at 16.43.29.png

使用するクラスタモードは、「標準」または「Autopilot」から選択します。
AutopilotはGKEの新しいモードで、Googleがworkerノードの基本的な管理を実施してくれます。(AutopilotモードはAstraではテストされておりません)
ここでは「標準」を選択します。
Screen Shot 2021-06-17 at 16.42.45.png

「クラスタの基本」タブで、クラスタの名前やゾーンなどを選択します。
Screen Shot 2021-06-17 at 16.47.12.png

「ネットワーキング」タブで該当のVPCを選択します。
Screen Shot 2021-06-17 at 16.55.18.png

「作成」ボタンを押してクラスタを作成します。

ここまで完了したら、次は登録したクラスタ上のアプリケーションのデータ保護をAstraのUI上で操作してみたいと思います。
NetApp Astra Service を使ってみる ③UIの操作編に続きます。

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?