기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EKS 시작 템플릿 사용자 지정
AWS Batch Amazon EKS의는 시작 템플릿을 지원합니다. 시작 템플릿으로 수행할 수 있는 작업에는 제약이 있습니다.
중요
EKS AL2 AMIs 경우를 AWS Batch 실행합니다
/etc/eks/bootstrap.sh
. 시작 템플릿이나 cloud-init user-data 스크립트에서/etc/eks/bootstrap.sh
를 실행하지 않습니다.--kubelet-extra-args
파라미터 외에 다른 파라미터를 bootstrap.sh로 추가할 수 있습니다. 이렇게 하려면 /etc/aws-batch/batch.config
파일에AWS_BATCH_KUBELET_EXTRA_ARGS
변수를 설정합니다. 자세한 내용은 다음 예제를 참조하세요.-
EKS AL2023의 경우는 EKS의 NodeConfigSpec
을 AWS Batch 사용하여 인스턴스를 EKS 클러스터에 조인합니다. AWS Batch 는 EKS 클러스터에 대해 NodeConfigSpec 의 ClusterDetails 를 채우므로 지정할 필요가 없습니다.
참고
가 값을 AWS Batch 재정의하므로 시작 템플릿에서 다음 NodeConfigSpec
Taints
Cluster Name
apiServerEndpoint
certificatAuthority
CIDR
접두사가 있는 레이블을 생성하지 마십시오.
batch.amazonaws.com/
참고
CreateComputeEnvironment를 호출한 후 시작 템플릿이 변경된 경우 UpdateComputeEnvironment를 호출하여 교체할 시작 템플릿의 버전을 평가해야 합니다.
kubelet
추가 인수 추가
AWS Batch 는 kubelet
명령에 추가 인수 추가를 지원합니다. 지원되는 파라미터 목록은 Kubernetes 설명서의 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==--
EKS AL2023 AMIs 경우 파일 형식은 YAML입니다. 지원되는 파라미터 목록은 Kubernetes 설명서의 NodeConfigSpec
가 --node-labels mylabel=helloworld
kubelet
명령줄에 추가됩니다.
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==--
컨테이너 런타임 구성
환경 변수를 사용하여 AWS Batch CONTAINER_RUNTIME
관리형 노드에서 컨테이너 런타임을 구성할 수 있습니다. 다음 예제에서는 컨테이너 런타임을 containerd
실행 시점의 bootstrap.sh
로 설정합니다. 자세한 내용은 Kubernetes 설명서의 containerd
최적화 EKS_AL2023
또는 EKS_AL2023_NVIDIA
AMI를 사용하는 경우 컨테이너 런타임만 지원되므로 컨테이너 런타임을 지정할 필요가 없습니다.
참고
CONTAINER_RUNTIME
환경 변수는 bootstrap.sh
의 --container-runtime
옵션과 동일합니다. 자세한 내용은 Kubernetes 설명서의 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 설명서의 Cloud 구성 예제
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 주소 할당에 설명된 고려 사항 및 조건을 검토하는 것이 좋습니다.