翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Elastic Kubernetes Service (Amazon EKS) でシングルノードのジョブ定義を作成するには、次の手順を実行します。
Amazon EKS リソースに新しいジョブ定義を作成するには:
-
AWS Batch コンソールを https://console.aws.amazon.com/batch/
://https://https://https://https://https -
上部のナビゲーションバーから、 AWS リージョン 使用する を選択します。
-
左側のナビゲーションペインで ジョブ定義 を選択します。
-
作成] を選択します。
-
オーケストレーションタイプ には、Elastic Kubernetes Service (EKS) を選択します。
-
名前] に、一意のジョブ定義名を入力します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン(-)、アンダースコア(_) を含めることができます。
-
(オプション) 実行タイムアウト で、タイムアウト値 (秒単位) を入力します。実行タイムアウトは、未完了のジョブが終了するまでの時間です。試行時間がこの秒数を超過すると、試行は停止し、
FAILED
ステータスに移行します。詳細については、ジョブのタイムアウトを参照してください。最小値は 60 秒です。 -
(オプション) スケジューリング優先度 をオンにします。0 ~ 100 の値でスケジューリング優先度を入力します。値が大きいほど、低い値よりも優先されます。
-
(オプション) タグ を展開し、次にタグを追加] を選択してリソースにタグを追加します。
-
次のページ を選択します。
-
EKS pod プロパティ セクションで:
-
サービスアカウント名には、podで実行されるプロセスのIDを提供するアカウントを入力します。
-
ホストネットワーク を有効にしてKubernetespod ネットワークモデルを使用し、受信接続用のリスニングポートを開きます。この設定は送信通信でのみオフにしてください。
-
(オプション) DNSポリシー で、次のいずれかを選択します:
-
値なし (null化) — pod は 、Kubernetes 環境からの DNS 設定を無視します。
-
デフォルト — podは、実行されているノードからDNS名前解決を継承します。
注記
DNSポリシーが指定されていない場合、Default はデフォルトDNSポリシーではありません。代わりに、ClusterFirst が使用されます。
-
ClusterFirst — 設定されたクラスタードメインサフィックスと一致しないDNS クエリは、ノードから継承されたアップストリームのネームサーバーに転送されます。
-
ClusterFirstWithHostNet — ホストネットワーク] がオンになっている場合に使用します。
-
(オプション) ボリューム で、ボリュームの追加 を選択し、以下を選択します。
ボリュームの名前を追加します。
(オプション) ホスト上のディレクトリのホストパスを追加します。
(オプション) Medium と Size 制限を追加して、Kubernetes emptyDir
を設定します。 (オプション) ポッドのシークレット名と、シークレットがオプションであるかどうかを指定します。
(オプション) Kubernetes 永続ボリューム
クレームをポッドにアタッチするクレーム名と、読み取り専用かどうかを定義します。
-
(オプション) ポッドラベル には、ポッドラベルを追加] を選択し、名前と値のペアを入力します。
重要
ポッドラベルのプレフィックスには
kubernetes.io/
、k8s.io/
、またはbatch.amazonaws.com/
を含めることはできません。 -
(オプション) Pod 注釈の場合は、注釈の追加を選択し、名前と値のペアを入力します。
重要
ポッド注釈のプレフィックスに
kubernetes.io/
、k8s.io/
、または を含めることはできませんbatch.amazonaws.com/
。 -
次のページ を選択します。
-
コンテナの設定 セクションで次の操作を行います。
-
名前 に、コンテナの一意の名前を入力します。名前は文字または数字で始まる必要があり、最長63文字まで入力できます。小文字と大文字の英文字、数字、およびハイフン (-) を含めることができます。
-
Image (イメージ) で、ジョブに使用するDocker イメージを選択します。デフォルトでは、Docker Hubレジストリのイメージを使用できます。
で他のリポジトリを指定することもできます。名前の長さは最大255文字です。大文字と小文字の英文字、数字、ハイフン (-)、アンダースコア (_)、コロン (:)、ピリオド (.)、スラッシュ (/)、および数字 (#)を含めることができます。このパラメータは、Docker Remote APIrepository-url
/image
:tag
の「Create a container 」セクションにある Image
および docker runの IMAGE
パラメータにマッピングされます。注記
Docker イメージのアーキテクチャは、スケジュールされているコンピューティングリソースのプロセッサアーキテクチャと一致している必要があります。例えば、Arm ベースの Docker イメージは、Arm ベースのコンピューティングリソースでのみ実行することができます。
-
Amazon ECR Public リポジトリ内のイメージには、完全な
registry/repository[:tag]
またはregistry/repository[@digest]
命名規則が使用されます (例えば、public.ecr.aws/
)。registry_alias
/my-web-app
:latest
-
Amazon ECR リポジトリ内のイメージには、完全な
registry/repository[:tag]
命名規則が使用されます (例えば、aws_account_id
.dkr.ecr.region
.amazonaws.com/
)。my-web-app
:latest
-
Docker Hub の公式リポジトリのイメージでは、1 つの名前 (例:
ubuntu
またはmongo
) を使用します。 -
Docker Hub の他のリポジトリのイメージは、組織名で修飾されます (例:
amazon/amazon-ecs-agent
)。 -
他のオンラインリポジトリのイメージは、さらにドメイン名で修飾されます (例:
quay.io/assemblyline/ubuntu
)。
-
-
(オプション) イメージプルポリシー では、イメージをプルするタイミングを選択します。
-
(オプション) コマンド に、コンテナに渡すJSONコマンドを入力します。
-
(オプション) 引数、コンテナに渡す引数を入力します。引数が指定されていない場合は、コンテナイメージコマンドが使用されます。
-
-
(オプション) 名前と値のマッピングとしてジョブ定義にパラメータを追加して、ジョブ定義のデフォルトを上書きできます。パラメータを追加するには:
-
パラメータ] には、名前と値のペアを入力し、次にパラメータの追加 を選択します。
重要
パラメータを追加 を選択した場合は、少なくとも 1つのパラメータを設定するか、パラメータの削除 を選択する必要があります。
-
-
環境設定 セクションで:
-
vCPU では、コンテナ用に予約する vCPU の数を指定します。このパラメータは、Docker Remote API
のコンテナの作成 セクションの CpuShares
にマップされ、--cpu-shares
オプションは docker runにマップされます。各 vCPU は 1,024 個の CPU 配分に相当します。少なくとも 1 つの vCPU を指定する必要があります。 -
メモリ には、コンテナで使用できるメモリー制限を入力します。コンテナは、ここで指定したメモリを超えようとすると、停止されます。このパラメータは、Docker Remote API
のコンテナの作成 セクションの Memory
にマップされ、--memory
オプションは docker runにマップされます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。 注記
特定のインスタンスタイプのジョブにメモリの優先順位を付けることで、リソース使用率を最大化できます。詳細については、コンピューティングリソースメモリの管理を参照してください。
-
-
(オプション) 環境変数 で 環境変数を追加 を選択し、環境変数を名前と値のペアとして追加します。これらの変数は、コンテナに渡されます。
-
(オプション) ボリュームマウント では:
-
ボリュームマウントを追加 を選択します。
-
名前 を入力し、そして次にボリュームがマウントされているコンテナにマウントパス] を入力します。SubPath を入力して、ルートではなく参照されるボリューム内のサブパスを指定します。
-
読み取り専用 を選択すると、ボリュームへの書き込み権限が削除されます。
-
ボリュームマウントを追加 を選択します。
-
-
(オプション)ユーザーとして実行 には、ユーザー ID を入力してコンテナプロセスを実行します。
注記
コンテナを実行するには、ユーザー ID がイメージに存在している必要があります。
-
(オプション)グループとして実行 には、コンテナプロセスのランタイムを実行するグループ ID を入力します。
注記
コンテナを実行するには、グループ ID がイメージに存在している必要があります。
-
(オプション) ホストインスタンスに対する昇格されたアクセス権限 (
root
ユーザーと同様に) をジョブのコンテナに付与するには、特権付与 を選択します。このパラメータは、Docker Remote APIの 「Create a container (コンテナを作成する) 」セクションの Privileged
にマップされ、--privileged
オプションは docker runにマップされます。 -
(オプション) 読み取り専用ルートファイルシステム を有効にして、ルートファイルシステムへの書き込みアクセスを削除します。
-
(オプション) 非ルートユーザーとして実行するpod をオンにして、 非ルートユーザーとしてのコンテナを実行します。
注記
非ルートユーザーとして実行する がオンになっている場合、kubelet は実行時にイメージを検証して、イメージが UID 0 として実行されていないことを確認します。
-
次のページ を選択します。
-
-
ジョブ定義のレビューについては、設定手順を確認してください。変更する必要がある場合は、編集] を選択します。完了したら、ジョブ定義の作成 を選択します。