如何解决如何在气流上的 KubernetesPodOperator 中使用 --privileged 运行 docker 镜像
如何使用 docker run
--privileged
GCP 中的 Container Registry 私有映像
在本地运行这个工作正常:
docker run -it --privileged --entrypoint /bin/bash ${GKE_APP}
这是我的 DAG:
def process_backup_data(data_to_backup):
secret_file = Secret('volume','/etc/secrets','my-secret')
task_env_vars = {'GOOGLE_APPLICATION_CREDENTIALS': "/etc/secrets/my-sa.json}
security_context = {
'privileged': True,'allow_privilege_escalation': True,'capabilities': {'add': ['SYS_ADMIN']}
}
return KubernetesPodoperator(image="asia.gcr.io/my-image:latest",env_vars=task_env_vars,cmds=["sh","run-vpn-script.sh"],arguments=[data_to_backup],labels={"project": "my-project"},name="my-project-backup-datasets",task_id=f"backup_{task_id}",dag=dag,secrets=[secret_file],image_pull_policy='Always',security_context=security_context # HERE
)
解决方法
您是否检查过是否缺少某种功能?
我在您发布的示例中看到他们还将此添加到 security_context
'capabilities': {'add': ['SYS_ADMIN']}
,
我认为安全上下文是好的方向。我相信您可以通过指定 pod_template_file 来自定义 Pod 的各个方面——包括 securityContext
这需要 - 我认为使用 Airflow 2(我衷心推荐)或使用 cncf.kubernetes backport provider。请注意,backport 已经很旧了(我们在 4 个月前停止发布它们)并且气流 1.10 已于 6 月 17 日终止使用,因此它甚至不会收到社区的安全修复程序,Airflow 2 路线已超出推荐范围
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。