diff --git a/content/en/docs/tasks/job/job-with-pod-to-pod-communication.md b/content/en/docs/tasks/job/job-with-pod-to-pod-communication.md
index 864cd27403..28c89e7b0a 100644
--- a/content/en/docs/tasks/job/job-with-pod-to-pod-communication.md
+++ b/content/en/docs/tasks/job/job-with-pod-to-pod-communication.md
@@ -7,20 +7,21 @@ weight: 30
-In this example, you will run a Job in [Indexed completion mode](/blog/2021/04/19/introducing-indexed-jobs/) configured such that
-the pods created by the Job can communicate with each other using pod hostnames rather than pod IP addresses.
+In this example, you will run a Job in [Indexed completion mode](/blog/2021/04/19/introducing-indexed-jobs/)
+configured such that the pods created by the Job can communicate with each other using pod hostnames rather
+than pod IP addresses.
-Pods within a Job might need to communicate among themselves. The user workload running in each pod could query the Kubernetes API server
-to learn the IPs of the other Pods, but it's much simpler to rely on Kubernetes' built-in DNS resolution.
+Pods within a Job might need to communicate among themselves. The user workload running in each pod
+could query the Kubernetes API server to learn the IPs of the other Pods, but it's much simpler to
+rely on Kubernetes' built-in DNS resolution.
Jobs in Indexed completion mode automatically set the pods' hostname to be in the format of
`${jobName}-${completionIndex}`. You can use this format to deterministically build
pod hostnames and enable pod communication *without* needing to create a client connection to
-the Kubernetes control plane to obtain pod hostnames/IPs via API requests.
+the Kubernetes control plane to obtain pod hostnames/IPs via API requests.
-This configuration is useful
-for use cases where pod networking is required but you don't want to depend on a network
-connection with the Kubernetes API server.
+This configuration is useful for use cases where pod networking is required but you don't want
+to depend on a network connection with the Kubernetes API server.
## {{% heading "prerequisites" %}}
@@ -28,40 +29,43 @@ You should already be familiar with the basic use of [Job](/docs/concepts/worklo
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
-{{}}
-If you are using MiniKube or a similar tool, you may need to take
+{{< note >}}
+If you are using minikube or a similar tool, you may need to take
[extra steps](https://minikube.sigs.k8s.io/docs/handbook/addons/ingress-dns/)
to ensure you have DNS.
-{{}}
+{{< /note >}}
-## Starting a Job with Pod-to-Pod Communication
+## Starting a Job with pod-to-pod communication
To enable pod-to-pod communication using pod hostnames in a Job, you must do the following:
1. Set up a [headless Service](/docs/concepts/services-networking/service/#headless-services)
-with a valid label selector for the pods created by your Job. The headless service must be in the same namespace as
-the Job. One easy way to do this is to use the `job-name: ` selector, since the `job-name` label will be automatically added by Kubernetes. This configuration will trigger the DNS system to create records of the hostnames of
-the pods running your Job.
+ with a valid label selector for the pods created by your Job. The headless service must be
+ in the same namespace as the Job. One easy way to do this is to use the
+ `job-name: ` selector, since the `job-name` label will be automatically added
+ by Kubernetes. This configuration will trigger the DNS system to create records of the hostnames
+ of the pods running your Job.
-2. Configure the headless service as subdomain service for the Job pods by including the following value in your Job template spec:
+1. Configure the headless service as subdomain service for the Job pods by including the following
+ value in your Job template spec:
```yaml
subdomain:
```
-### Example
+### Example
+
Below is a working example of a Job with pod-to-pod communication via pod hostnames enabled.
The Job is completed only after all pods successfully ping each other using hostnames.
-{{}}
+{{< note >}}
In the Bash script executed on each pod in the example below, the pod hostnames can be prefixed
-by the namespace as well if the pod needs to be reached from outside the namespace.
-{{}}
+by the namespace as well if the pod needs to be reached from outside the namespace.
+{{< /note >}}
```yaml
-
apiVersion: v1
kind: Service
metadata:
@@ -121,8 +125,8 @@ Successfully pinged pod: example-job-1.headless-svc
Successfully pinged pod: example-job-2.headless-svc
```
-{{}}
+{{< note >}}
Keep in mind that the `.` name format used
in this example would not work with DNS policy set to `None` or `Default`.
-You can learn more about pod DNS policies [here](/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
-{{}}
+Refer to [Pod's DNS Policy](/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
+{{< /note >}}