**Apache Airflow version**: 2.0.1


**Kubernetes version (if you are using kubernetes)** (use `kubectl version`): 1.20.5

**Environment**:

- **Cloud provider or hardware configuration**: Azure AKS

**What happened**:

When task or dag name is defined with a non ascii character, pod creations fails with a kubernetes.client.rest.ApiException: (422)
(task maintains scheduled status)
this is because the hostname defined for the pod is based on dag and task name...

**What you expected to happen**:

Create the pod and run the task

**How to reproduce it**:
Run a task with name "campaña" on K8s executor,

Error log
```
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Pod \"dagnamecampaña.0fb696e661e347968216df454b41b56f\" is invalid: metadata.name: Invalid value: \"dagnamecampaña.0fb696e661e347968216df454b41b56f\": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0
-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')","reason":"Invalid"
```



tests/executors/test_kubernetes_executor.py
datetime_obj = datetime.now()
        serialized_datetime = pod_generator.datetime_to_label_safe_datestring(datetime_obj)
        new_datetime_obj = pod_generator.label_safe_datestring_to_datetime(serialized_datetime)
        assert datetime_obj == new_datetime_obj
    @unittest.skipIf(AirflowKubernetesScheduler is None, 'kubernetes python package is not installed')
    @mock.patch('airflow.executors.kubernetes_executor.get_kube_client')
    @mock.patch('airflow.executors.kubernetes_executor.client')
    @mock.patch('airflow.executors.kubernetes_executor.KubernetesJobWatcher')
    def test_delete_pod_successfully(self, mock_watcher, mock_client, mock_kube_client):
        pod_id = "my-pod-1"
        namespace = "my-namespace-1"
        mock_delete_namespace = mock.MagicMock()
        mock_kube_client.return_value.delete_namespaced_pod = mock_delete_namespace
        kube_executor = KubernetesExecutor()
        kube_executor.job_id = "test-job-id"
        kube_executor.start()
        kube_executor.kube_scheduler.delete_pod(pod_id, namespace)
        mock_delete_namespace.assert_called_with(pod_id, namespace, body=mock_client.V1DeleteOptions())
    @unittest.skipIf(AirflowKubernetesScheduler is None, 'kubernetes python package is not installed')
    @mock.patch('airflow.executors.kubernetes_executor.get_kube_client')
    @mock.patch('airflow.executors.kubernetes_executor.client')
    @mock.patch('airflow.executors.kubernetes_executor.KubernetesJobWatcher')
    def test_delete_pod_raises_404(self, mock_watcher, mock_client, mock_kube_client):