Kustomisasi templat peluncuran Amazon EKS - AWS Batch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kustomisasi templat peluncuran Amazon EKS

AWS Batch di Amazon EKS mendukung template peluncuran. Ada kendala pada apa yang dapat dilakukan template peluncuran Anda.

penting
  • Untuk EKS AL2 AMIs, AWS Batch lari/etc/eks/bootstrap.sh. Jangan berjalan /etc/eks/bootstrap.sh di template peluncuran atau cloud-init user-data skrip Anda. Anda dapat menambahkan parameter tambahan selain --kubelet-extra-args parameter ke bootstrap.sh. Untuk melakukan ini, atur AWS_BATCH_KUBELET_EXTRA_ARGS variabel dalam /etc/aws-batch/batch.config file. Lihat contoh berikut untuk detailnya.

  • Untuk EKS AL2 023, AWS Batch gunakan NodeConfigSpecdari EKS untuk membuat instance bergabung dengan cluster EKS. AWS Batch mengisi ClusterDetailsNodeConfigSpecuntuk cluster EKS dan Anda tidak perlu menentukannya.

catatan

Kami menyarankan Anda untuk tidak mengatur NodeConfigSpecpengaturan ikuti apa pun di template peluncuran karena AWS Batch akan mengganti nilai Anda. Untuk informasi selengkapnya, lihat Tanggung jawab bersama dari Kubernetes node.

  • Taints

  • Cluster Name

  • apiServerEndpoint

  • certificatAuthority

  • CIDR

  • Jangan membuat label dengan awalan batch.amazonaws.com/

catatan

Jika template peluncuran diubah setelah CreateComputeEnvironmentdipanggil, UpdateComputeEnvironmentharus dipanggil untuk mengevaluasi versi template peluncuran untuk penggantian.

Tambahkan argumen kubelet tambahan

AWS Batch mendukung penambahan argumen tambahan ke kubelet perintah. Untuk daftar parameter yang didukung, lihat kubeletdi Kubernetesdokumentasi. Dalam contoh berikut untuk EKS AL2 AMIs, --node-labels mylabel=helloworld ditambahkan ke baris kubelet perintah.

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==--

Untuk EKS AL2 023 AMIs format filenya adalah YAMB. Untuk daftar parameter yang didukung, lihat NodeConfigSpecdi Kubernetesdokumentasi. Dalam contoh berikut untuk EKS AL2 023 AMIs, --node-labels mylabel=helloworld ditambahkan ke baris kubelet perintah.

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: application/node.eks.aws apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: kubelet: flags: - --node-labels=mylabel=helloworld --==MYBOUNDARY==--

Konfigurasikan runtime kontainer

Anda dapat menggunakan variabel AWS Batch CONTAINER_RUNTIME lingkungan untuk mengonfigurasi runtime kontainer pada node terkelola. Contoh berikut menetapkan runtime kontainer ke containerd saat bootstrap.sh berjalan. Untuk informasi lebih lanjut, lihat containerddi Kubernetesdokumentasi.

Jika Anda menggunakan EKS_AL2023_NVIDIA AMI EKS_AL2023 atau yang dioptimalkan, Anda tidak perlu menentukan runtime container karena hanya containerd yang didukung.

catatan

Variabel CONTAINER_RUNTIME lingkungan setara dengan --container-runtime opsibootstrap.sh. Untuk informasi lebih lanjut, lihat Optionsdi Kubernetesdokumentasi.

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==--

Pasang volume Amazon EFS

Anda dapat menggunakan template peluncuran untuk me-mount volume ke node. Dalam contoh berikut, runcmd pengaturan cloud-config packages dan digunakan. Untuk informasi selengkapnya, lihat contoh konfigurasi Cloud dalam cloud-initdokumentasi.

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==--

Untuk menggunakan volume ini dalam pekerjaan, itu harus ditambahkan dalam parameter eksProperties ke RegisterJobDefinition. Contoh berikut adalah sebagian besar definisi pekerjaan.

{ "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" } } ] } } }

Di node, volume Amazon EFS dipasang di /mnt/efs direktori. Dalam wadah untuk pekerjaan Amazon EKS, volume dipasang di /efs direktori.

IPv6 dukungan

AWS Batch mendukung kluster Amazon EKS yang memiliki IPv6 alamat. Tidak ada penyesuaian yang diperlukan untuk AWS Batch dukungan. Namun, sebelum memulai, sebaiknya Anda meninjau pertimbangan dan ketentuan yang diuraikan dalam Menetapkan IPv6 alamat ke pod dan layanan di Panduan Pengguna Amazon EKS.