Cloud ComposerのAirflow worker・schedulerはGKE上で動いています。
ので、kubectlコマンドを使うことでAirflow Workerに入ることも出来ます。
対象
- Cloud Composer使っている人
- GKE/Kubernatesようわからん人
例
# ComposerのKubernatesクラスタの確認。わかっていれば不要
gcloud container clusters list
# (CLUSTER)・(LOCATION)は↑で調べたComposerのクラスタ、そのゾーン
gcloud container clusters get-credentials (CLUSTER) --zone=(LOCATION)
# podを見てみる
kubectl get pods --all-namespaces
# workerに入ってみる
# (NAMESPACE)はAirflow Workerのあるネームスペース、(PODNAME)は入りたいポッドの名前
kubectl exec --namespace=(NAMESPACE) (PODNAME) -c airflow-worker -it bash
何が嬉しいの
AirflowではAirlfow CLIを使うことでDAGやタスクインスタンスの状況を確認出来ます。
Composerでもgcloud composerコマンドでAirflow CLI使うことが出来ますが、使えないサブコマンドが一部あります(※)。
Airflow Workerに入ってairflowコマンドを使うことで、Airflow CLIのサブコマンドを大体使うことが出来ます(※※)
※ 制限されているコマンドはバージョンで違います。また日本語のドキュメントの方には情報ないです
※※ resetdbとか使えない、使っても意味がないサブコマンドもあります