Airflow实战
上QQ阅读APP看书,第一时间看更新

1.3 使用Helm部署Airflow集群

使用Helm部署Airflow集群的步骤如下。

步骤1 使用下面的命令添加Airflow的Helm chart仓库:

helm repo add apache-airflow https://airflow.apache.org
helm repo update

步骤2 使用下面的命令创建Kubernetes的namespace:

kubectl create namespace example-namespace

步骤3 使用下面的命令安装Airflow的Helm chart:

helm install example-release apache-airflow/airflow \
    --namespace example-namespace \
    --set-string 'env[0].name=AIRFLOW__CORE__LOAD_EXAMPLES,env[0].value=True'

这一步可能会花费一些时间,可以用下面的kubectl命令确认Airflow集群是否已经安装就绪:

kubectl -n example-namespace get po

如果组件都正常工作,上述命令的输出信息如图1-5所示。

图1-5 Airflow所有的组件都正常运行

图1-5显示Airflow所有组件的状态都是Running,这代表一切正常。

另一种确认Airflow集群是否安装就绪的方法是使用Helm命令判断Airflow应用的状态:

helm list --namespace example-namespace

成功安装Airflow应用的标志是命令的输出信息中STATUS一栏为deployed,如图1-6所示。

图1-6 Helm成功安装Airflow应用

步骤4 完成前面的步骤之后能够得到一个正常工作的Airflow集群,但是这个集群无法通过浏览器访问。为了通过浏览器访问集群,使用下面的命令进行端口映射:

kubectl -n example-namespace port-forward svc/example-release-webserver 8080:
8080

接下来打开浏览器,访问http://localhost:8080/,应该能正常载入Airflow Webserver的登录页面,如图1-7所示。

图1-7 Airflow Webserver的登录页面

在Username文本框中输入admin,在Password文本框中输入admin,然后单击Sign In按钮进行登录。成功登录后将进入Airflow Webserver的主页面,如图1-8所示。

图1-8 Airflow Webserver的主页面

至此,Airflow集群构建完毕。接下来我们通过一个示例介绍如何使用Airflow集群。