K8S部署flink-on-k8s-operator

Flink-operator极大的方便了我们管理 Flink 集群及其作业,我们只需要自定义yaml文件就可以做到。Flink 官方还未给出 flink-operator 方案,不过 GoogleCloudPlatform 提供了一种基于 kubebuilder 构建的 flink-operator方案。接下来,将介绍 flink-operator 的安装方式。

flink-operator的介绍,请参考:www.cnblogs.com/tencent-clo…

代码下载

git clone https://github.com/GoogleCloudPlatform/flink-on-k8s-operator.git
复制代码

执行更新脚本

cd flink-on-k8s-operator

cd helm-chart/flink-operator

./update_template.sh
复制代码

chart里的crd修改

将config/crdchart中crd文件移除,因为有bug,无法自动安装crd,应该是版本问题,google官方给的文档是基于k8s-1.17的版本,如果你的K8S集群是1.18就会报错。

cd flink-on-k8s-operator

rm helm-chart/flink-operator/templates/flink-cluster-crd.yaml

cp config/crd/base/flinkoperator.k8s.io_flinkclusters.yaml helm-chart/flink-operator/templates
复制代码

crd 还是报错

make deploy failed: The CustomResourceDefinition "flinkclusters.flinkoperator.k8s.io" is invalid
复制代码

找到如下解决方案: github.com/GoogleCloud… image.png

gcr.io镜像无法下载,三处镜像修改

网上找对应镜像,拉取,推送到私有镜像

下面是我找到的三个可用镜像:

docker pull mirrorgooglecontainers/flink-operator/deployer:webhook-cert

docker pull docker pull rancher/kube-rbac-proxy

docker pull metatronapp/flink-operator
复制代码

helm-chart/flink-operator/values 里的operatorImage - name 添加打了tag的私有镜像flink-operator

helm-chart/flink-operator/templates/flink-operator.yaml 的deployment里替换私有镜像 kube-rbac-proxy

helm-chart/flink-operator/templates/generate-cert.yaml 的Job里替换私有镜像 deployer:webhook-cert

尝试安装flink-operator-chart

我们可以通过helm命令进行按照,如下: helm install flink-operator . --set operatorImage.name=xxxxx:8000/spark-operator/flink-operator:latest,flinkOperatorNamespace.name=flink-operator-system,flinkOperatorNamespace.create=false

Argo CD支持多种 Kubernetes 清单中包括helm charts,可以直接用argocd进行管理安装。

image.png

到这里flink-operator就按照完毕了。后面我会带来 Flink 集群的管理示例,敬请期待。

文章参考

www.cxybb.com/article/u01…

Guess you like

Origin juejin.im/post/7040680509831118879