기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EKS 시작 템플릿 사용자 지정
Amazon EKS의 AWS Batch는 시작 템플릿을 지원합니다. 시작 템플릿으로 수행할 수 있는 작업에는 제약이 있습니다.
중요
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
변수를 설정합니다. 자세한 내용은 다음 예제를 참조하세요.
참고
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==--
컨테이너 런타임 구성
AWS Batch CONTAINER_RUNTIME
환경 변수를 사용하여 관리형 노드에서 컨테이너 런타임을 구성할 수 있습니다. 다음 예제에서는 컨테이너 런타임을 containerd
실행 시점의 bootstrap.sh
로 설정합니다. 자세한 내용은 Kubernetes 설명서의 containerd
참고
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 주소 할당에 설명된 고려 사항 및 조건을 검토하는 것이 좋습니다.