@@ -87,6 +87,7 @@ func getDesiredJobManagerDeployment(
8787 var clusterName = flinkCluster .ObjectMeta .Name
8888 var clusterSpec = flinkCluster .Spec
8989 var imageSpec = clusterSpec .Image
90+ var serviceAccount = clusterSpec .ServiceAccountName
9091 var jobManagerSpec = clusterSpec .JobManager
9192 var rpcPort = corev1.ContainerPort {Name : "rpc" , ContainerPort : * jobManagerSpec .Ports .RPC }
9293 var blobPort = corev1.ContainerPort {Name : "blob" , ContainerPort : * jobManagerSpec .Ports .Blob }
@@ -196,13 +197,14 @@ func getDesiredJobManagerDeployment(
196197 containers = append (containers , jobManagerSpec .Sidecars ... )
197198
198199 var podSpec = corev1.PodSpec {
199- InitContainers : convertJobManagerInitContainers (& jobManagerSpec ),
200- Containers : containers ,
201- Volumes : volumes ,
202- NodeSelector : jobManagerSpec .NodeSelector ,
203- Tolerations : jobManagerSpec .Tolerations ,
204- ImagePullSecrets : imageSpec .PullSecrets ,
205- SecurityContext : securityContext ,
200+ InitContainers : convertJobManagerInitContainers (& jobManagerSpec ),
201+ Containers : containers ,
202+ Volumes : volumes ,
203+ NodeSelector : jobManagerSpec .NodeSelector ,
204+ Tolerations : jobManagerSpec .Tolerations ,
205+ ImagePullSecrets : imageSpec .PullSecrets ,
206+ SecurityContext : securityContext ,
207+ ServiceAccountName : getServiceAccountName (serviceAccount ),
206208 }
207209 var jobManagerDeployment = & appsv1.Deployment {
208210 ObjectMeta : metav1.ObjectMeta {
@@ -381,6 +383,7 @@ func getDesiredTaskManagerDeployment(
381383 var clusterName = flinkCluster .ObjectMeta .Name
382384 var clusterSpec = flinkCluster .Spec
383385 var imageSpec = flinkCluster .Spec .Image
386+ var serviceAccount = clusterSpec .ServiceAccountName
384387 var taskManagerSpec = flinkCluster .Spec .TaskManager
385388 var dataPort = corev1.ContainerPort {Name : "data" , ContainerPort : * taskManagerSpec .Ports .Data }
386389 var rpcPort = corev1.ContainerPort {Name : "rpc" , ContainerPort : * taskManagerSpec .Ports .RPC }
@@ -490,13 +493,14 @@ func getDesiredTaskManagerDeployment(
490493 }}
491494 containers = append (containers , taskManagerSpec .Sidecars ... )
492495 var podSpec = corev1.PodSpec {
493- InitContainers : convertTaskManagerInitContainers (& taskManagerSpec ),
494- Containers : containers ,
495- Volumes : volumes ,
496- NodeSelector : taskManagerSpec .NodeSelector ,
497- Tolerations : taskManagerSpec .Tolerations ,
498- ImagePullSecrets : imageSpec .PullSecrets ,
499- SecurityContext : securityContext ,
496+ InitContainers : convertTaskManagerInitContainers (& taskManagerSpec ),
497+ Containers : containers ,
498+ Volumes : volumes ,
499+ NodeSelector : taskManagerSpec .NodeSelector ,
500+ Tolerations : taskManagerSpec .Tolerations ,
501+ ImagePullSecrets : imageSpec .PullSecrets ,
502+ SecurityContext : securityContext ,
503+ ServiceAccountName : getServiceAccountName (serviceAccount ),
500504 }
501505 var taskManagerDeployment = & appsv1.Deployment {
502506 ObjectMeta : metav1.ObjectMeta {
@@ -598,6 +602,7 @@ func getDesiredJob(
598602
599603 var clusterSpec = flinkCluster .Spec
600604 var imageSpec = clusterSpec .Image
605+ var serviceAccount = clusterSpec .ServiceAccountName
601606 var jobManagerSpec = clusterSpec .JobManager
602607 var clusterNamespace = flinkCluster .ObjectMeta .Namespace
603608 var clusterName = flinkCluster .ObjectMeta .Name
@@ -704,10 +709,11 @@ func getDesiredJob(
704709 Resources : jobSpec .Resources ,
705710 },
706711 },
707- RestartPolicy : corev1 .RestartPolicyNever ,
708- Volumes : volumes ,
709- ImagePullSecrets : imageSpec .PullSecrets ,
710- SecurityContext : securityContext ,
712+ RestartPolicy : corev1 .RestartPolicyNever ,
713+ Volumes : volumes ,
714+ ImagePullSecrets : imageSpec .PullSecrets ,
715+ SecurityContext : securityContext ,
716+ ServiceAccountName : getServiceAccountName (serviceAccount ),
711717 }
712718
713719 // Disable the retry mechanism of k8s Job, all retires should be initiated
@@ -1035,6 +1041,14 @@ func getClusterLabels(cluster v1beta1.FlinkCluster) map[string]string {
10351041 }
10361042}
10371043
1044+ func getServiceAccountName (serviceAccount * string ) string {
1045+ if serviceAccount != nil {
1046+ return * serviceAccount
1047+ }
1048+
1049+ return ""
1050+ }
1051+
10381052func getComponentLabels (cluster v1beta1.FlinkCluster , component string ) map [string ]string {
10391053 return mergeLabels (getClusterLabels (cluster ), map [string ]string {
10401054 "component" : component ,
0 commit comments