Вопрос монтажа объема через KubernetesPodOperator в потоке воздуха GKE - PullRequest
0 голосов
/ 31 марта 2020

Моя группа доступности базы данных застревает в рабочем состоянии с сообщением журнала «произошло событие типа Pending» в драйвере стека. Мой DAG работает без монтирования тома, но похоже, что есть проблема с монтированием тома. Не могли бы вы помочь кому-нибудь здесь помочь?

Я пытаюсь смонтировать путь "/ data / storage" к месту "/ storage" в контейнере.

from airflow import DAG
from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator
from airflow.contrib.kubernetes.volume import Volume
from airflow.contrib.kubernetes.volume_mount import VolumeMount
from datetime import timedelta
default_args = {
                    'owner': '',
                    'start_date': '2020-03-31 03:40:34',
                    'depend_on_past': False,
                    'email_on_failure': False,
                    'email_on_retry': False,
                    'retries': 0,
                    'retry_delay': timedelta(minutes=5)
                    } 
volume_mount = VolumeMount('test-volume',
                            mount_path='/data/storage',
                            sub_path='storage',
                            read_only=True)
volume_config= {
    'persistentVolumeClaim':
      {
        'claimName': 'test-volume'
      }
    }
volume = Volume(name='test-volume', configs=volume_config)
dag = DAG('dag-name', default_args=default_args, schedule_interval=None, catchup=False, concurrency=1, max_active_runs=1)
task1 = KubernetesPodOperator(
                                    # The ID specified for the task.
                                    task_id='task1',
                                    # Name of task you want to run, used to generate Pod ID.
                                    name='task1',
                                    namespace='default',
                                    env_vars={'var1': 'value1'},
                                    image='someimage',
                                    volumes=[volume],
                                    volume_mounts=[volume_mount],
                                    arguments=['arg.json'],
                                    startup_timeout_seconds=3600,
                                    image_pull_policy='Always',
                                    dag=dag)

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Вы смотрели этот пост ? сначала необходимо создать постоянный том , а затем обновить группу обеспечения доступности баз данных с помощью тома и монтирования тома. Вот полный пример

0 голосов
/ 11 апреля 2020

Поскольку вы уже определили mount_path='/data/storage', я не думаю, что необходимо добавлять sub_path='storage'. Мы можем видеть это как в строке документации, представленной в здесь , так и в примере, приведенном в здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...