Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-20219

Rethink the HA related ZNodes/ConfigMap clean up for session cluster




      When I am testing the Kubernetes HA service, I realize that ConfigMap clean up for session cluster(both standalone and native) are not very easy.

      • For the native K8s session, we suggest our users to stop it via echo 'stop' | ./bin/kubernetes-session.sh -Dkubernetes.cluster-id=<ClusterID> -Dexecution.attached=true. Currently, it has the same effect with kubectl delete deploy <ClusterID>. This will not clean up the leader ConfigMaps(e.g. ResourceManager, Dispatcher, RestServer, JobManager). Even though there is no running jobs before stop, we still get some retained ConfigMaps. So when and how to clean up the retained ConfigMaps? Should the user do it manually? Or we could provide some utilities in Flink client.
      • For the standalone session, I think it is reasonable for the users to do the HA ConfigMap clean up manually.


      We could use the following command to do the manually clean up.

      kubectl delete cm --selector='app=<ClusterID>,configmap-type=high-availability'


      Note: This is not a problem for Flink application cluster. Since we could do the clean up automatically when all the running jobs in the application reached terminal state(e.g. FAILED, CANCELED, FINISHED) and then destroy the Flink cluster.


        Issue Links



              wangyang0918 Yang Wang
              wangyang0918 Yang Wang
              1 Vote for this issue
              8 Start watching this issue