Как запустить образ докеры с --privileged в KubernetesPodOperator на воздушном потоке

Как мне docker run частный образ из реестра контейнеров в GCP с использованием --privileged Запуск этого локально работает нормально:

      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
                         )

2 ответа

Вы проверили, не упускаете ли вы какие-то возможности?

Я вижу, что в опубликованном вами примере они также добавляют это в security_context

      'capabilities': {'add': ['SYS_ADMIN']}

Я думаю, что контекст безопасности - хорошее направление. Я считаю, что вы можете настроить каждый аспект Pod, включая securityContext, указав pod_template_file

Для этого требуется - я думаю, с помощью Airflow 2 (который я настоятельно рекомендую) или с помощью поставщика резервных копий cncf.kubernetes. Обратите внимание, что бэкпорт уже довольно старый (мы перестали выпускать их 4 месяца назад), а воздушный поток 1.10 закончился с 17 июня, поэтому он не получит даже исправлений безопасности от сообщества, маршрут Airflow 2 больше, чем рекомендуется

Другие вопросы по тегам