Creating an EKS cluster#

installed your system および configured your AWS account を取得したら、AWSマネジメントコンソールを使用してEKSクラスターを作成できます。

ステップ1AWSマネジメントコンソールにログインする#

https://aws.amazon.com/console/にアカウント資格情報を使用してログインして、管理コンソールにアクセスします。

検索バーにEKS と入力し、検索結果から Elastic Kubernetes Service を選択します。

ステップ2ブートストラップキットを入手する#

ブートストラップキットを使用してHybrid ManagerHMをインストールします。このキットは、EDB Software Deploymentプラットフォームのインストールに使用されるスクリプトとHelmチャートのコレクションです。

次のファイルが必要です。

ファイルをローカルマシン上のディレクトリにコピーし、cd をそのディレクトリにコピーします。

次に、AWSマネジメントコンソールを使用して次のことを行います。

  1. クラスターを作成するAWSリージョンを選択します。

  2. 選択したリージョンをメモします。これは、後のプロセスで必要になります。

  3. EKSページに移動します。検索バーにEKS と入力し、検索結果から Elastic Kubernetes Service を選択します。

  4. EKSページで、 Create Cluster を選択します。

ステップ3クラスターを構成する#

構成オプションで

  • **Quick configuration (with EKS Auto Mode) -*new** *を選択します。

  • Cluster name フィールドに、クラスターの名前を入力し、メモします。

  • Kubernetes version フィールドで、使用するバージョンを選択します。 (EKS自動モードのデフォルトは1.31です。)

  • Cluster IAM Role フィールドでは、値AmazonEKSAutoClusterRole のままにします。

  • Node IAM Role フィールドでは、値AmazonEKSAutoNodeRole のままにします。

クラスターのVPCを選択または作成します#

クラスターにVPCを提供する必要があります。 VPCを作成するか、既存のVPCを使用できます。

  1. Create VPC を選択します。

  2. [ Create VPC ]ページの Resources to create の下で、 VPC and more を選択します。

  3. 次の情報を入力します。

    • Name tag auto-generate の下に、VPCの名前を入力します。

    • Number of Availability Zones の下で、3.

    • パブリックサブネットの数 の下で3.

    • 、3が選択されていることを確認します。

    • プライベートサブネットの数 の下で、3が選択されていることを確認します。

    • NATゲートウェイで、 In 1 AZ を選択します

  4. Create VPC を選択します。 [ Create VPC workflow ]ページが表示され、VPCの作成手順が実行されます。完了したら、[ View VPC ]を選択します。

VPCのビューで、リソースマップのパブリックサブネットごとに

  1. サブネットにカーソルを合わせ、表示される矢印アイコンのある正方形のボックスを選択します。サブネットを編集できるページが開きます。

  2. Actions > Edit subnet settings を選択します。

  3. Auto-assign public IPv4 address > Enable auto-assign public IPv4 address を選択します。

  4. Save を選択します。

各パブリックサブネットのタグを追加します。

  1. Tags タブを選択します。

  2. Manage Tags を選択します

  3. Add Tag を選択します

  4. Key フィールドにkubernetes.io/role/elb を入力し、 Value フィールドに1 を入力します。

  5. Save を選択します

  6. タブ/ウィンドウを閉じ、VPCビューに戻ります。

リソースマップ内の各プライベートサブネットのタグを追加します。

  1. サブネットにカーソルを合わせ、表示される矢印アイコンのある正方形のボックスを選択します。

  2. Tags タブを選択します。

  3. Manage Tags を選択します

  4. Add Tag を選択します

  5. Key フィールドにkubernetes.io/role/internal-elb を入力し、 Value フィールドに1 を入力します。

  6. Save を選択します

  7. タブ/ウィンドウを閉じ、VPCビューに戻ります。

使用する既存のVPCがある場合は、ドロップダウンから選択します。

VPCには、異なるアベイラビリティーゾーンに少なくとも2つのパブリックサブネットと2つのプライベートサブネットが必要で、次のタグが必要です。

パブリックサブネット

  • kubernetes.io/role/elb 1

プライベートサブネット

  • kubernetes.io/role/internal-elb 1

EKSクラスター作成ページに戻る#

新しいVPCを作成した場合、EKSクラスター作成ページを更新する必要があります。ドロップダウンを更新して、作成したVPCを選択できるようにするには、 Create VPC の横にある円形の矢印アイコンを選択します。

  1. クラスターのサブネットを選択します。異なるアベイラビリティーゾーンで少なくとも2つのプライベートサブネットを選択する必要があります。

注釈

これらのサブネットは、KubernetesコントロールプレーンとKubernetesワーカーノード間の通信を促進することであるため、パブリックではなくプライベートである必要があります。パブリックサブネットは、クラスターの内部を不必要なセキュリティの脅威にさらしたままにする可能性があります。サブネットのタグ付けは、正しいサブネットにイングレスロードバランサーを作成するようにEKSに通知します。

  1. Create を選択します。

クラスターを作成しています。これには数分かかる場合があります。ページの上部にあるパンくずリストで クラスター を選択することにより、EKSコンソールで作成をモニタできます。

ステップ4kubectlを構成する#

クラスターを作成した後、クラスターと対話するようにkubectlを構成する必要があります。

ターミナルを開き、実行します。

aws eks --region <REGION> update-kubeconfig --name <CLUSTER-NAME>

そこで

  • <REGION> は、クラスターを作成したリージョンです。

  • <CLUSTER-NAME> は、クラスターに付けた名前です。

注釈

AWS_PROFILE 環境変数を設定していない場合は、コマンドに`--profile <profile-name>` オプションを含めます。

EKSクラスターと対話できるようになりました。テストするには、次を実行します。

kubectl get pods -A

ステップ5S3バケットを作成し、クラスターに接続する#

HMには、バックアップやその他のデータを保存するためにS3バケットが必要です。 S3バケットを作成し、クラスターに接続します。

S3バケットを作成する#

  1. AWSマネジメントコンソールでS3サービスを開きます。検索バーにS3 と入力し、検索結果から S3 を選択します。

  2. バケットの作成 を選択します。

  3. バケット名フィールドの名前を入力します。これはグローバルに一意である必要があります。

  4. Create Bucket を選択します。

アクセス用のロールを作成する#

  1. EKSダッシュボードに戻ります。検索バーにEKS と入力し、検索結果から Elastic Kubernetes Service を選択します。

  2. 作成したクラスターを選択します。

  3. 概要の Details セクションで、OpenID ConnectプロバイダーのURLをコピーします。

  4. AWSマネジメントコンソールでIAMサービスを開きます。検索バーにIAM と入力し、検索結果から IAM を選択します。

  5. 左側のメニューで、 Identity Providers を選択します。

  6. Add Provider を選択します。

  7. Configure Provider ページで、 OpenID Connect を選択し、コピーしたURLを Provider URL フィールドに貼り付けます。

  8. オーディエンスフィールドに sts.amazonaws.com と入力します。

  9. Add Provider を選択します。

緑色のバナーにメッセージProvider created successfully が表示され、[ 役割の割り当て ]ボタンが表示されます。

  1. 役割の割り当て を選択します。

  2. ロールオプション の下で、 Create a New Role を選択します。 Next を選択します。

信頼できるエンティティを選択します

  1. [ 信頼できるエンティティの選択 ]ページで、 Web ID を選択します。

Web attempts セクションの Identity Provider フィールドには、作成したばかりのプロバイダーが表示されます。

  1. Audience フィールドでsts.amazonaws.com を選択し、 Next を選択します。

新しいロールに権限を付与します。

  1. Add Permissions ページで、検索フィールドにs3full と入力します。 AmazonS3FullAccess ポリシーを選択し、 Next を選択します。

  2. <clustername>-s3access などのロール名を入力し、 Create Role を選択します。

緑色のバナーがメッセージRole created successfully とともに表示され、[ View Role ]ボタンが表示されます。

  1. 役割の表示 を選択します。

  2. ロールのビューで、ロールの ARN 値をコピーします。

シークレットを作成する#

正常に機能するには、デフォルトの名前空間-n default にシークレットを作成する必要があります。

ターミナルで、次を実行します。

kubectl create secret generic -n default edb-object-storage \
    --from-literal auth_type=workloadIdentity \
    --from-literal aws_region=<REGION> \
    --from-literal aws_role_arn=<ROLE-ARN> \
    --from-literal bucket_name=<BUCKET-NAME>

そこで

  • <REGION> は、クラスターを作成するリージョンです。

  • <ROLE-ARN> は、作成したロールのARNです。

  • <BUCKET-NAME> は、作成したバケットの名前です。

ステップ6EBS CSIドライバーとCSIスナップショットコントローラを追加する#

PGAIHMでスナップショットを正しく管理するには、EBS CSIドライバーとCSIスナップショットコントローラの2つのAWS CSI関連ドライバーが必要です。

AWS EBS CSIドライバー#

EBS CSIダイバーを使用すると、Kubernetesクラスターは、Elastic Block StoreEBSやElastic File SystemEFSなどのAWSサービスを使用して、ストレージリソースを動的にプロビジョニングおよび管理できます。この統合により、KubernetesワークロードはAWSストレージサービスを永続ストレージとしてシームレスに使用できます。

EBS CSIドライバーをインストールするには

  1. PGAIHMをインストールするEKSクラスターのEKS clusterページで、 Add-ons タブを選択します。

  2. Get More Addons を選択します。

  3. [ アドオン ]ページのEBS CSI Driverのタイルで、チェックボックスを選択し、[ Next ]を選択します。

  4. [ Configure ]ページで、[ Next ]を選択します。

  5. Review ページで、 Create を選択します。

EBS CSIアドオンドライバーがクラスターに追加されます。

AWS CSIスナップショットコントローラ#

CSIスナップショットコントローラは、ボリュームスナップショットを管理するKubernetesコントローラです。

CSIスナップショットコントローラをインストールするには

  1. PGAIHMをインストールするEKSクラスターのEKS clusterページで、 Add-ons タブを選択します。

  2. Get More Addons を選択します。

  3. [ アドオン ]ページのCSIスナップショットコントローラのタイルで、チェックボックスを選択し、[ Next ]を選択します。

  4. [ Configure ]ページで、[ Next ]を選択します

  5. Review ページで、 Create を選択します。

CSIスナップショットコントローラアドオンがクラスターに追加されます。

ステップ7互換性のためにクラスターを更新する#

AWSマネジメントコンソールによって作成されたEKSクラスターは、HMと完全な互換性がないため、クラスターにいくつかの変更を加える必要があります。これらの変更を行うためのスクリプトを利用できます。

Helm eks-fix-auto.sh スクリプトまたは Operator eks-fix-auto.sh スクリプトをダウンロードし、ターミナルで実行します。

$SHELL eks-fix-auto.sh

スクリプトは、デフォルトのノードプールとストレージクラスをワークロードにより適切なものに置き換え、その他のいくつかの設定を構成します。

ステップ8ハイブリッドマネージャーをインストールする#

次に、 Install the Hybrid Manager on EKS 。