自定义映像的注意事项
自定义 Docker 映像时,您可精细地选择精确的任务运行时间。使用此功能时,请考虑以下最佳实践。其中包括安全、配置和安装映像方面的注意事项:
-
安全性是 AWS 和您的共同责任。您负责对添加到映像中的二进制文件进行安全修补。按照Amazon EMR on EKS 安全最佳实践中的说明操作,特别是获取自定义镜像的最新安全更新和采用最低特权原则。
-
自定义基础映像时,请务必将 Docker 用户更改为
hadoop:hadoop
,以确保不使用根用户运行任务。 -
Amazon EMR on EKS 会在运行时将文件挂载到映像的配置之上,例如
spark-defaults.conf
。要覆盖这些配置文件,我们建议您在提交任务期间使用applicationOverrides
参数,而不是仅直接在自定义映像中修改文件。 -
Amazon EMR on EKS 会在运行时挂载某些文件夹。对这些文件夹所做的任何修改都不可用于容器中。如果要为自定义映像添加应用程序或其依赖项,我们建议您选择不属于以下预定义路径的目录:
-
/var/log/fluentd
-
/var/log/spark/user
-
/var/log/spark/apps
-
/mnt
-
/tmp
-
/home/hadoop
-
-
您可以将自定义映像上载到任何兼容 Docker 的存储库,例如 Amazon ECR、Docker Hub 或私有企业存储库。有关使用所选 Docker 存储库配置 Amazon EKS 集群身份验证的更多信息,请参阅从私有仓库拉取镜像
。