由于本章采用容器化部署的方式来搭建Airflow集群,因此读者需要对容器化技术有一定的了解,包括但不限于Docker、Kubernetes等。如果需要获得Docker的入门知识,可参见附录A。如果需要获得Kubernetes的入门知识,可参见附录B。
在正式开始操作之前,请确保以下依赖已经安装就绪。
● kubectl。kubectl是Kubernetes的命令行工具,用户通过这款工具管理Kubernetes集群。kubectl可以用来部署应用、监测和管理集群资源以及查看日志。
● kind。kind是一款基于Docker构建Kubernetes本地集群的工具,常常用来搭建本地的Kubernetes开发和测试环境。
● Helm。Helm是Kubernetes的包管理器,类似于Ubuntu操作系统中的APT和CentOS中的Yum。Helm支持对Kubernetes应用进行统一打包、分发、安装、升级以及回退。
接下来分别介绍上述3个依赖在Linux、macOS以及Windows 10操作系统中的安装方式。如果你已经非常了解相关内容,可以直接阅读1.2节。
在Linux操作系统中安装kubectl的步骤如下。
步骤1 在Linux操作系统中打开终端,使用下面的命令下载kubectl的v1.24.0版本:
curl -LO https://dl.k8s.io/release/v1.24.0/bin/linux/amd64/kubectl
如果想要下载其他版本的kubectl,请将上面命令中的v1.24.0换成相应的版本号。
步骤2 使用下面的命令安装kubectl:
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
步骤3 使用下面的命令测试kubectl是否正常工作:
kubectl version --client
如果已经成功安装kubectl,那么上述命令会输出kubectl的版本信息,参考如下:
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:
"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-
03T13:46:05Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.4
在macOS中安装kubectl的步骤如下。
步骤1 在macOS中打开终端,使用下面的命令安装kubectl:
brew install kubectl
步骤2 使用下面的命令测试kubectl是否正常工作:
kubectl version --client
如果已经成功安装kubectl,那么上述命令会输出kubectl的版本信息,参考如下:
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:
"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-
03T13:46:05Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.4
在Windows 10操作系统中安装kubectl的步骤如下。
步骤1 通过浏览器访问如下地址,下载kubectl的v1.24.0版本:
https://dl.k8s.io/release/v1.24.0/bin/windows/amd64/kubectl.exe
步骤2 在Windows 10操作系统的桌面上右击“此电脑”图标,在弹出的快捷菜单中选择“属性”命令,在“设置”窗口的右侧单击“高级系统设置”,弹出“系统属性”对话框,如图1-1所示。
图1-1 “系统属性”对话框
单击“高级”标签→“环境变量”按钮,弹出“环境变量”对话框,如图1-2所示。
图1-2 “环境变量”对话框
在“用户变量”列表框中选中Path,然后单击“编辑”按钮,此时弹出“编辑环境变量”对话框,再单击“新建”按钮,在文本框中输入步骤1中下载的kubectl.exe文件的目录位置,如图1-3所示。
图1-3 “编辑环境变量”对话框
操作完成后,在“编辑环境变量”对话框、“环境变量”对话框和“系统属性”对话框中依次单击“确定”按钮,保存修改。
本步骤描述的修改PATH环境变量的方法仅在Windows 10操作系统中验证过。对于其他版本的Windows操作系统,方法可能略有不同。
步骤3 打开Windows 10操作系统的命令提示符,输入下面的命令测试kubectl是否正常工作:
kubectl version --client
如果已经成功安装kubectl,那么上述命令会输出kubectl的版本信息,参考如下:
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:
"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-
03T13:46:05Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"windows/amd64"}
Kustomize Version: v4.5.4
kubectl的安装方法多种多样。本节介绍了在Linux操作系统和Windows 10操作系统上用二进制文件安装kubectl的方法,以及在macOS上用包管理工具安装kubectl的方法。实际上,在Linux操作系统和Windows 10操作系统上也可以用包管理工具安装kubectl,在macOS上同样能够用二进制文件安装kubectl。建议对这部分内容感兴趣的读者查看Kubernetes官方文档中关于kubectl安装的部分:https://kubernetes.io/docs/tasks/tools/#kubectl。
在安装kind之前,首先安装Docker。
安装Docker的步骤如下。
步骤1 通过浏览器访问下面的地址:
https://docs.docker.com/get-docker/
打开Docker安装包的汇总下载页面,如图1-4所示。
图1-4 Docker安装包的汇总下载页面
该页面包含3个链接,分别指向macOS/Windows/Linux操作系统的Docker安装包下载页面。如果使用的是macOS,请选择Docker Desktop for Mac,进入macOS的Docker安装包下载页面。如果使用的是Windows操作系统,请选择Docker Desktop for Windows,进入Windows操作系统的Docker安装包下载页面。如果使用的是Linux操作系统,请选择Docker Desktop for Linux,进入Linux操作系统的Docker安装包下载页面。每个操作系统的安装包下载页面都包含进一步的引导,用户需要按照提示根据计算机的硬件和操作系统的版本下载符合自己软硬件配置的Docker安装包。
步骤2 使用安装包安装Docker。
如果是macOS,安装包应该是一个dmg文件。双击这个文件,然后把Docker的图标拖曳到Applications目录。
如果是Windows操作系统,安装包应该是一个exe文件。双击运行这个文件即可。
如果是Linux操作系统,根据具体Linux发行版的不同,安装包可能是deb文件或者rpm文件。我们以Ubuntu操作系统为例讲解Docker的安装。Ubuntu是Linux发行版中的一个,Docker安装包在Ubuntu操作系统中是一个deb文件,使用下面的命令安装:
sudo apt-get update
sudo apt-get install ./xxx.deb
其中xxx.deb代表安装包,请根据自己下载的安装包的名称进行替换。
步骤3 初次启动Docker。
从安装的程序中找到Docker Desktop,单击打开。
第一次启动需要按照交互式界面的提示一步步完成设置,具体的过程如下。
(1)在“Docker订阅服务协议”窗口中单击Accept(接受)按钮。
(2)在“安装”窗口中选择Use recommended settings(使用推荐设置)复选框。
(3)单击Finish(完成)按钮。
安装kind的步骤如下。
步骤1 通过浏览器访问下面的地址:
https://github.com/kubernetes-sigs/kind/releases
打开的页面中包含多个kind的发行版,这里选择最新的版本即可。每个版本的kind都会为不同的操作系统提供不同的二进制文件,读者需要根据自己的操作系统选择合适的kind二进制文件。下载完成后,将文件重命名。如果是Linux操作系统和macOS,则将文件重命名为kind。如果是Windows 10操作系统,则将文件重命名为kind.exe。
步骤2 此步骤仅针对Linux操作系统和macOS,使用Windows 10操作系统的用户可以忽略这一步。
打开操作系统终端,输入下面的命令:
chmod +x ./kind
步骤3 对于Linux操作系统和macOS,因为/usr/local/bin目录已经在PATH环境变量中,所以直接把kind二进制文件移动到/usr/local/bin目录下即可,命令如下:
mv ./kind /usr/local/bin/kind
对于Windows 10操作系统,将kind二进制文件的路径追加到PATH环境变量中的方法与1.1.1节在Windows 10操作系统中安装kubectl的步骤3相同,这里不再赘述。
本节并没有罗列kind的全部安装方法。实际上,对于Linux操作系统、macOS、Windows 10操作系统,安装kind的方法有多种。想要尝试不同于本节介绍的安装方法,请阅读kind的官方文档。
安装Helm的步骤如下。
步骤1 通过浏览器访问下面的地址:
https://github.com/helm/helm/releases
打开的页面中包含多个Helm的发行版,这里选择最新的版本即可。每个版本的Helm都会为不同的操作系统提供不同的压缩包文件,读者需要根据自己的操作系统选择合适的Helm压缩包文件。
步骤2 解压缩步骤1中下载的文件,得到一个文件夹,文件夹中包含Helm的二进制文件。如果是Linux操作系统和macOS,文件的名字是helm。如果是Windows 10操作系统,文件的名字是helm.exe。
步骤3 对于Linux操作系统和macOS,因为/usr/local/bin目录已经在PATH环境变量中,所以直接把Helm二进制文件移动到/usr/local/bin目录下即可,命令如下:
mv ./helm /usr/local/bin/helm
对于Windows 10操作系统,将Helm二进制文件的路径追加到PATH环境变量中的方法与1.1.1节在Windows 10操作系统中安装kubectl的步骤3相同,这里不再赘述。
Helm本身提供两种安装方法。同时Helm社区又提供了通过不同的包管理器安装Helm的方法。限于篇幅,本节只介绍Helm的一种安装方法。如果对其他的安装方法感兴趣,推荐查阅Helm官方文档:https://helm.sh/zh/docs/intro/install/。