Flink On K8s实践2:Flink Kubernetes Operator安装使用
Apache Flink是当下主流了流式计算引擎,在企业的实时数仓、实时BI、数据湖、智能推荐和风险风控等场景中有广泛的应用。Apache Flink支持多种Resource Providers,也就是可以在多种资源平台上运行,本系列文章以当前热门的容器平台Kubernetes作为Flink的Resource Proivder,全面讲解如何在Kubernetes平台上以Flink Kubernet
在上一篇文章《Flink On K8s实践1:Flink Kubernetes Operator介绍》中讲解了Flink Kubernetes Operator是什么和它的架构,本文继续讲解如何安装和使用Flink Kubernetes Operator。
一、Flink Kubernetes Operator安装
1、Flink Kubernetes Operator版本选择
2、Helm安装
wget https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz
tar -zxvf helm-v3.11.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
helm安装好后,可以添加常用的helm源。
helm repo add flink-operator-repo https://downloads.apache.org/flink/flink-kubernetes-operator-1.3.1/
helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
3、安装cert-manager
kubectl apply -f cert-manager.yaml
4、Flink Kubernetes Operator安装
helm repo add flink-operator-repo https://downloads.apache.org/flink/flink-kubernetes-operator-1.4.0/
helm install flink-kubernetes-operator flink-operator-repo/flink-kubernetes-operator --namespace flink --create-namespace
kubectl get all -n flink -owide
helm list -n flink
helm install -f values.yaml flink-kubernetes-operator . --namespace flink --create-namespace
二、Flink Kubernetes Operator使用体验
1、准备示例Flink作业
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment # Flink集群在K8s的资源类型
metadata:
name: basic-example # 作业的名字
namespace: flink # 指定在flink命名空间下运行
spec:
image: flink:1.13.6 # Flink的镜像,改为使用1.13.6
# 如果官方Flink镜像下载不了,可以使用此镜像
# image: registry.cn-hangzhou.aliyuncs.com/cm_ns01/flink:1.13.6
flinkVersion: v1_13 # Flink的版本,与镜像版本保持一致
flinkConfiguration:
taskmanager.numberOfTaskSlots: "2"
serviceAccount: flink
jobManager:
resource:
memory: "1024m"
cpu: 1
taskManager:
resource:
memory: "1024m"
cpu: 1
job:
jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jar # Flink作业的启动类所在的Jar包路径
parallelism: 2
upgradeMode: stateless
在basic.yaml示例中,定义了一个Application模式的Flink作业(也可以称作Flink集群)规格信息,其中使用了1.13.6版本的Flink镜像。就如前面所述,Flink Kubernetes Operator支持的Flink最低版本就是1.13。此外,也定义了JobManager和TaskManager的资源配额,最后,在job部分,定义了Flink作业的启动类所在的Jar包路径,由于该Jar包默认就包含在Flink镜像里,所以可以直接使用本地路径方式读取。
2、运行示例Flink作业
kubectl apply -f basic.yaml
kubectl get all -n flink
kubectl get FlinkDeployment -n flink
3、终止示例Flink作业
kubectl delete -f basic.yam
kubectl delete FlinkDeployment basic-example -n flink
在下一篇文章中,会继续讲解和演示Flink Kubernetes Operator Application模式的2种Flink作业提交方式。更多有关Flink Kubernetes Operator的视频和学习资料,可以到bigdataonk8s观看和获取。
更多推荐
所有评论(0)