

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EMR on EKS の垂直的自動スケーリングのセットアップ
<a name="jobruns-vas-setup"></a>

このトピックは、Amazon EKS クラスターが垂直的自動スケーリングを使用して Amazon EMR Spark ジョブを送信できるように準備するのに役立ちます。セットアッププロセスでは、以下のセクションのタスクを確認または完了する必要があります。

**Topics**
+ [前提条件](#jobruns-vas-prereqs)
+ [Amazon EKS クラスターに Operator Lifecycle Manager (OLM) をインストールする](#jobruns-vas-install-olm)
+ [Amazon EMR on EKS の垂直的自動スケーリング演算子をインストールする](#jobruns-vas-install-operator)

## 前提条件
<a name="jobruns-vas-prereqs"></a>

クラスターに垂直的自動スケーリング Kubernetes 演算子をインストールする前に、以下のタスクを完了します。前提条件のいずれかを既に完了している場合は、その前提条件をスキップして、次の前提条件に進むことができます。
+ **[の最新バージョンをインストールまたは更新する AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) ** – を既にインストールしている場合は AWS CLI、最新バージョンがあることを確認します。
+ **[kubectl をインストールする](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)** – kubectl は Kubernetes API サーバーと通信するために使用するコマンドラインツールです。Amazon EKS クラスターに垂直的自動スケーリング関連のアーティファクトをインストールしてモニタリングするには kubectl が必要です。
+ **[Operator SDK をインストールする](https://sdk.operatorframework.io/docs/installation/)** — Amazon EMR on EKS は、クラスターにインストールする垂直的自動スケーリング演算子の存続期間中、Operator SDK をパッケージマネージャーとして使用します。
+ **[Docker をインストールする](https://docs.docker.com/get-docker/)** — Amazon EKS クラスターにインストールする垂直的自動スケーリング関連の Docker イメージを認証して取得するには、Docker CLI にアクセスする必要があります。
+ **[Kubernetes メトリクスサーバーをインストールする](https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html)** – まずメトリクスサーバーをインストールして、垂直ポッドオートスケーラーが Kubernetes API サーバーからメトリクスを取得できるようにする必要があります。
+ **[Amazon EKS – eksctl の使用開始](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html) (バージョン 1.24 以降)** — 垂直的自動スケーリングは Amazon EKS バージョン 1.24 以降でサポートされています。クラスターを作成したら、[Amazon EMR で使用できるように登録します](setting-up-registration.md)。
+ **[Amazon EMR ベースイメージ URI (リリース 6.10.0 以上) を選択する](docker-custom-images-tag.md)** — 垂直的自動スケーリングは Amazon EMR リリース 6.10.0 以降でサポートされています。

## Amazon EKS クラスターに Operator Lifecycle Manager (OLM) をインストールする
<a name="jobruns-vas-install-olm"></a>

Operator SDK CLI を使用して、以下の例に示すように、垂直的自動スケーリングを設定する Amazon EMR on EKS クラスターに Operator Lifecycle Manager (OLM) をインストールします。セットアップが完了すると、OLM を使用して [Amazon EMR 垂直的自動スケーリング演算子](#jobruns-vas-install-operator)のライフサイクルをインストールして管理できます。

```
operator-sdk olm install
```

インストールを検証するには、以下の `olm status` コマンドを実行します。

```
operator-sdk olm status
```

コマンドが以下の出力例のような成功した結果を返すことを確認します。

```
INFO[0007] Successfully got OLM status for version {{X.XX}}
```

インストールが成功しなかった場合は、「[Amazon EMR on EKS 垂直自動スケーリングのトラブルシューティング](troubleshooting-vas.md)」を参照してください。

## Amazon EMR on EKS の垂直的自動スケーリング演算子をインストールする
<a name="jobruns-vas-install-operator"></a>

以下の手順を使用して Amazon EKS クラスターに垂直的自動スケーリング演算子をインストールします。

1. インストールを完了するために使用する以下の環境変数を設定します。
   + **`$REGION`** はクラスターの AWS リージョン を指します。例えば、`us-west-2`。
   + **`$ACCOUNT_ID`** はリージョンの Amazon ECR アカウント ID を指します。詳細については、「[リージョン別の Amazon ECR レジストリアカウント](docker-custom-images-tag.md#docker-custom-images-ECR)」を参照してください。
   + **`$RELEASE`** はクラスターに使用したい Amazon EMR リリースを指します。垂直的自動スケーリングでは、Amazon EMR リリース 6.10.0 以降を使用する必要があります。

1. 次に、演算子の [Amazon ECR レジストリ](docker-custom-images-tag.md#docker-custom-images-ECR)への認証トークンを取得します。

   ```
   aws ecr get-login-password \
    --region {{region-id}} | docker login \
    --username AWS \
    --password-stdin $ACCOUNT_ID.dkr.ecr.{{region-id}}.amazonaws.com
   ```

1. Amazon EMR on EKS 垂直的自動スケーリング演算子を以下のコマンドでインストールします。

   ```
   ECR_URL=$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com && \
   REPO_DEST=dynamic-sizing-k8s-operator-olm-bundle && \
   BUNDLE_IMG=emr-$RELEASE-dynamic-sizing-k8s-operator && \
   operator-sdk run bundle \
   $ECR_URL/$REPO_DEST/$BUNDLE_IMG\:latest
   ```

   これにより、Amazon EKS クラスターのデフォルト名前空間に垂直的自動スケーリング演算子のリリースが作成されます。このコマンドを使用して別の名前空間にインストールします。

   ```
   operator-sdk run bundle \
   $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/dynamic-sizing-k8s-operator-olm-bundle/emr-$RELEASE-dynamic-sizing-k8s-operator:latest \
   -n {{operator-namespace}}
   ```
**注記**  
指定した名前空間が存在しない場合、OLM は演算子をインストールしません。詳細については、「[Kubernetes 名前空間が見つからない](troubleshooting-vas.md)」を参照してください。

1. kubectl Kubernetes コマンドラインツールを使用して、演算子が正常にインストールされたことを確認します。

   ```
   kubectl get csv -n {{operator-namespace}}
   ```

   `kubectl` コマンドは、新しくデプロイされた垂直的自動スケーラー演算子を **[フェーズ]** ステータスが **[成功]** で返します。インストールやセットアップに問題がある場合は、「[Amazon EMR on EKS 垂直自動スケーリングのトラブルシューティング](troubleshooting-vas.md)」を参照してください。