**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
self.pod.status.phase = "Unknown"
        self.events.append({"type": 'MODIFIED', "object": self.pod})
        self._run()
        self.watcher.watcher_queue.put.assert_not_called()
    @mock.patch.object(KubernetesJobWatcher, 'process_error')
    def test_process_error_event_for_410(self, mock_process_error):
        message = "too old resource version: 27272 (43334)"
        self.pod.status.phase = 'Pending'
        self.pod.metadata.resource_version = '0'
        mock_process_error.return_value = '0'
        raw_object = {"code": 410, "message": message}
        self.events.append({"type": "ERROR", "object": self.pod, "raw_object": raw_object})
        self._run()
        mock_process_error.assert_called_once_with(self.events[0])
    def test_process_error_event_for_raise_if_not_410(self):
        message = "Failure message"
        self.pod.status.phase = 'Pending'
        raw_object = {"code": 422, "message": message, "reason": "Test"}
        self.events.append({"type": "ERROR", "object": self.pod, "raw_object": raw_object})
        with self.assertRaises(AirflowException) as e:
            self._run()
        assert str(e.exception) == 'Kubernetes failure for {} with code {} and message: {}'.format(
            raw_object['reason'],
            raw_object['code'],
            raw_object['message'],
        )