翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Batch Amazon EKS の では、起動テンプレートがサポートされています。起動テンプレートでできることには制約があります。
重要
AWS Batch は を実行します/etc/eks/bootstrap.sh
。/etc/eks/bootstrap.sh
起動テンプレートやcloud-init、user-data スクリプトでは実行しないでください。bootstrap.sh --kubelet-extra-args
パラメータ以外にもパラメータを追加できます。これを行うには、AWS_BATCH_KUBELET_EXTRA_ARGS
/etc/aws-batch/batch.config
ファイルに変数を設定します。詳細は以下の例を参照してください。
注記
CreateComputeEnvironment を呼び出した後に起動テンプレートが変更された場合は、UpdateComputeEnvironment を呼び出して代替用の起動テンプレートのバージョンを評価する必要があります。
kubelet
追加因数を追加する
AWS Batch は、 kubelet
コマンドへの引数の追加をサポートしています。kubelet
が --node-labels mylabel=helloworld
kubelet
コマンドラインに追加されています。
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash mkdir -p /etc/aws-batch echo AWS_BATCH_KUBELET_EXTRA_ARGS=\"
--node-labels mylabel=helloworld
\" >> /etc/aws-batch/batch.config --==MYBOUNDARY==--
コンテナランタイムを設定する
環境変数を使用して AWS Batch CONTAINER_RUNTIME
、マネージドノードでコンテナランタイムを設定できます。次の例では、bootstrap.sh
コンテナランタイムを実行時に containerd
を設定しています。詳細については、 ドキュメントのcontainerd
注記
CONTAINER_RUNTIME
環境変数は bootstrap.sh
の --container-runtime
オプションと同等です。詳細については、 ドキュメントのOptions
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash mkdir -p /etc/aws-batch echo CONTAINER_RUNTIME=containerd >> /etc/aws-batch/batch.config --==MYBOUNDARY==--
Amazon EFS ボリュームをマウントする
起動テンプレートを使用してボリュームをノードにマウントできます。次の例では、cloud-config
、packages
および runcmd
の設定が使用されています。詳細はcloud-init ドキュメントのクラウド設定例
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"
packages:
- amazon-efs-utils
runcmd:
- file_system_id_01=fs-abcdef123
- efs_directory=/mnt/efs
- mkdir -p ${efs_directory}
- echo "${file_system_id_01}:/ ${efs_directory} efs _netdev,noresvport,tls,iam 0 0" >> /etc/fstab
- mount -t efs -o tls ${file_system_id_01}:/ ${efs_directory}
--==MYBOUNDARY==--
このボリュームをジョブで使用するには、RegisterJobDefinition の EKSProperties パラメーターにボリュームを追加する必要があります。次の例は、仕事定義の大部分です。
{
"jobDefinitionName": "MyJobOnEks_EFS",
"type": "container",
"eksProperties": {
"podProperties": {
"containers": [
{
"image": "public.ecr.aws/amazonlinux/amazonlinux:2",
"command": ["ls", "-la", "/efs"],
"resources": {
"limits": {
"cpu": "1",
"memory": "1024Mi"
}
},
"volumeMounts": [
{
"name": "efs-volume
",
"mountPath": "/efs
"
}
]
}
],
"volumes": [
{
"name": "efs-volume
",
"hostPath": {
"path": "/mnt/efs
"
}
}
]
}
}
}
ノードでは、Amazon EFS ボリュームが /mnt/efs
ディレクトリにマウントされます。Amazon EKS ジョブのコンテナでは、ボリュームは /efs
ディレクトリにマウントされます。
IPv6 サポート
AWS Batch は、IPv6 アドレスを持つ Amazon EKS クラスターをサポートします。 AWS Batch サポートにカスタマイズは必要ありません。ただし、始める前に、Amazon EKS ユーザーガイドのポッドとサービスへの IPv6 アドレスの割り当て で説明されている考慮事項と条件を確認することをお勧めします。