1.創建namespace
kubectl create namespace flink-session-cluster-test
2.創建賬號
kubectl create serviceaccount flink-test -n flink-session-cluster-test
3.創建角色並綁定到namespace
kubectl create clusterrolebinding flink-role-binding-flink --clusterrole=edit --serviceaccount=flink-session-cluster-test:flink-test
4.以上述賬號提交作業到相應的namespace
flink 1.13
4.1首先創建flink cluste
./bin/kubernetes-session.sh -Dkubernetes.cluster-id=my-first-flink-cluster -Dkubernetes.namespace=flink-session-cluster-test -Dkubernetes.service-account=flink-test -Dkubernetes.rest-service.exposed.type=NodePort
-Dkubernetes.container.image=flink:1.13.1-scala_2.11-java8 -Dkubernetes.container.image.pull-policy=Always
4.2提交作業到上面的cluster
./bin/flink run -d --target kubernetes-session -Dkubernetes.namespace=flink-session-cluster-test -Dkubernetes.cluster-id=my-first-flink-cluster -c SentenceSender ./examples/streaming/FlinkSample.jar
5.附錄
5.1 服務暴露的方式指定為NodePort 不然無法連接
kubernetes.service.exposed.type=NodePort
kubernetes.rest-service.exposed.type=NodePort
5.2 可以登陸到pod中去看相關的環境
kubectl exec -it --namespace flink-session-cluster-test pod/example-c675c658c-qqz8x -- bash