zentol commented on a change in pull request #18808:
URL: https://github.com/apache/flink/pull/18808#discussion_r808781782



##########
File path: 
docs/content/docs/deployment/resource-providers/standalone/kubernetes.md
##########
@@ -246,6 +246,17 @@ To use Reactive Mode on Kubernetes, follow the same steps 
as for [deploying a jo
 
 Once you have deployed the *Application Cluster*, you can scale your job up or 
down by changing the replica count in the `flink-taskmanager` deployment.
 
+### Enabling Local Recovery Across Pod Restarts
+
+In order to speed up recoveries in case of pod failures, you can leverage 
Flink's [working directory]({{< ref 
"docs/deployment/resource-providers/standalone/working_directory" >}}) feature 
together with local recovery.
+If the working directory is configured to reside on a persistent volume that 
gets remounted to a restarted TaskManager pod, then Flink is able to recover 
state locally.
+With the 
[StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/),
 Kubernetes gives you the exact tool you need to map a pod to a persistent 
volume.
+
+So instead of deploying the TaskManagers as a Deployment, you need to 
configure a StatefulSet for the TaskManagers.
+The StatefulSet allows to configure a volume claim template that you use to 
mount persistent volumes to the TaskManagers.

Review comment:
       ```suggestion
   This requires to deploy the TaskManagers as a StatefulSet, which allows you 
to configure a volume claim template that is used to mount persistent volumes 
to the TaskManagers.
   ```
   
   The leading "So instead" is bothering me.

##########
File path: 
docs/content/docs/deployment/resource-providers/standalone/kubernetes.md
##########
@@ -246,6 +246,17 @@ To use Reactive Mode on Kubernetes, follow the same steps 
as for [deploying a jo
 
 Once you have deployed the *Application Cluster*, you can scale your job up or 
down by changing the replica count in the `flink-taskmanager` deployment.
 
+### Enabling Local Recovery Across Pod Restarts
+
+In order to speed up recoveries in case of pod failures, you can leverage 
Flink's [working directory]({{< ref 
"docs/deployment/resource-providers/standalone/working_directory" >}}) feature 
together with local recovery.
+If the working directory is configured to reside on a persistent volume that 
gets remounted to a restarted TaskManager pod, then Flink is able to recover 
state locally.
+With the 
[StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/),
 Kubernetes gives you the exact tool you need to map a pod to a persistent 
volume.
+
+So instead of deploying the TaskManagers as a Deployment, you need to 
configure a StatefulSet for the TaskManagers.
+The StatefulSet allows to configure a volume claim template that you use to 
mount persistent volumes to the TaskManagers.

Review comment:
       Aren't volume claim templates also usable for deployments? It seems we 
need them primarily to have the stable ID, but this line reads differently.

##########
File path: 
docs/content/docs/deployment/resource-providers/standalone/kubernetes.md
##########
@@ -246,6 +246,17 @@ To use Reactive Mode on Kubernetes, follow the same steps 
as for [deploying a jo
 
 Once you have deployed the *Application Cluster*, you can scale your job up or 
down by changing the replica count in the `flink-taskmanager` deployment.
 
+### Enabling Local Recovery Across Pod Restarts
+
+In order to speed up recoveries in case of pod failures, you can leverage 
Flink's [working directory]({{< ref 
"docs/deployment/resource-providers/standalone/working_directory" >}}) feature 
together with local recovery.
+If the working directory is configured to reside on a persistent volume that 
gets remounted to a restarted TaskManager pod, then Flink is able to recover 
state locally.
+With the 
[StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/),
 Kubernetes gives you the exact tool you need to map a pod to a persistent 
volume.
+
+So instead of deploying the TaskManagers as a Deployment, you need to 
configure a StatefulSet for the TaskManagers.
+The StatefulSet allows to configure a volume claim template that you use to 
mount persistent volumes to the TaskManagers.

Review comment:
       So maybe change the order a bit; first saying that we need a 
deterministic ID, and for that leverage the pod name of a statefulset.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to