微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在气流上的 KubernetesPodOperator 中使用 --privileged 运行 docker 镜像

如何解决如何在气流上的 KubernetesPodOperator 中使用 --privileged 运行 docker 镜像

如何使用 docker run --privileged GCP 中的 Container Registry 私有映像 在本地运行这个工作正常:

docker run -it --privileged --entrypoint /bin/bash ${GKE_APP}

我关注了 this错误仍然存​​在。

这是我的 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 举报,一经查实,本站将立刻删除。