Сделайте это с файлом yaml
Так что, если мы подумаем об использовании values.yaml, возникнет проблема, потому что вы отредактировали его неправильно.
extraVolumeMounts: home/*user*/github/airflowDAGs
## Additional volumeMounts to the main containers in the Scheduler, Worker and Web pods.
# - name: synchronised-dags
# mountPath: /usr/local/airflow/dags
extraVolumes: home/*user*/github/airflowDAGs
## Additional volumes for the Scheduler, Worker and Web pods.
# - name: synchronised-dags
# emptyDir: {}
Вы не можете простоПередайте путь таким образом, если extraVolumeMounts для работы нужно name и mounthPath , поэтому у вас есть #
, так что вы можете просто удалить их, добавить свои значения, и они должны работать.
Это должно выглядеть следующим образом
extraVolumeMounts:
- name: synchronised-dags
mountPath: /usr/local/airflow/dags
extraVolumes:
- name: synchronised-dags
emptyDir: {}
Вот как вы можете его установить:
1.Используйте рулевое управление для загрузки диаграммы воздушного потока на ваш компьютер
helm fetch stable/airflow --untar
2.Edit airflow / values.yaml extraVolumeMount и extraVolume , как в примере выше, просто добавьте свое имя и путь.
nano/vi/vim airflow/values.yaml
3.Вы можете изменить остальныевещи в airflow / values.yaml и используйте:
helm install ./airflow --namespace "airflow" --name "airflow" -f ./airflow/values.yaml
ИЛИ
используйте эту команду только с отредактированными extraVolumeMount и extraVolume
helm install --set dags.path=/home/user/github/airflowDAGs/dags --set logs.path=/home/user/github/airflowDAGs/logs --set persistence.enabled=false --set logsPersistence.enabled=false ./airflow --namespace "airflow" --name "airflow" -f ./airflow/values.yaml
Результат:
NAME: airflow
LAST DEPLOYED: Fri Oct 11 09:18:46 2019
NAMESPACE: airflow
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
airflow-env 20 2s
airflow-git-clone 1 2s
airflow-postgresql 0 2s
airflow-redis 3 2s
airflow-redis-health 3 2s
airflow-scripts 1 2s
==> v1/Deployment
NAME READY UP-TO-DATE AVAILABLE AGE
airflow-flower 0/1 1 0 1s
airflow-scheduler 0/1 1 0 1s
airflow-web 0/1 1 0 1s
==> v1/PersistentVolumeClaim
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
airflow-postgresql Pending standard 2s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
airflow-flower-5596b45d58-wrg74 0/1 ContainerCreating 0 1s
airflow-postgresql-75bf7d8774-dxxjn 0/1 Pending 0 1s
airflow-redis-master-0 0/1 ContainerCreating 0 1s
airflow-scheduler-8696d66bcf-bwm2s 0/1 ContainerCreating 0 1s
airflow-web-84797489f5-8wzsm 0/1 ContainerCreating 0 1s
airflow-worker-0 0/1 Pending 0 0s
==> v1/Secret
NAME TYPE DATA AGE
airflow-postgresql Opaque 1 2s
airflow-redis Opaque 1 2s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
airflow-flower ClusterIP 10.0.7.168 <none> 5555/TCP 1s
airflow-postgresql ClusterIP 10.0.8.62 <none> 5432/TCP 2s
airflow-redis-headless ClusterIP None <none> 6379/TCP 1s
airflow-redis-master ClusterIP 10.0.8.5 <none> 6379/TCP 1s
airflow-web ClusterIP 10.0.10.176 <none> 8080/TCP 1s
airflow-worker ClusterIP None <none> 8793/TCP 1s
==> v1/ServiceAccount
NAME SECRETS AGE
airflow 1 2s
==> v1/StatefulSet
NAME READY AGE
airflow-worker 0/1 1s
==> v1beta1/Deployment
NAME READY UP-TO-DATE AVAILABLE AGE
airflow-postgresql 0/1 1 0 1s
==> v1beta1/PodDisruptionBudget
NAME MIN AVAILABLE MAX UNAVAILABLE ALLOWED DISRUPTIONS AGE
airflow-pdb N/A 1 0 2s
==> v1beta1/Role
NAME AGE
airflow 2s
==> v1beta1/RoleBinding
NAME AGE
airflow 2s
==> v1beta2/StatefulSet
NAME READY AGE
airflow-redis-master 0/1 1s
NOTES:
Congratulations. You have just deployed Apache Airflow
export POD_NAME=$(kubectl get pods --namespace airflow -l "component=web,app=airflow" -o jsonpath="{.items[0].metadata.name}")
echo http://127.0.0.1:8080
kubectl port-forward --namespace airflow $POD_NAME 8080:8080
2. Open Airflow in your web browser