in KubernetesPodOperator the name parameter is mandatory.
However if you forget to add it you will get a broken dag message with:
![Screen Shot 2021-04-12 at 12 16 58](https://user-images.githubusercontent.com/62940116/114373136-f699d180-9b8a-11eb-8500-d8e7118650ae.png)

This is because
https://github.com/apache/airflow/blob/1dfbb8d2031cb8a3e95e4bf91aa478857c5c3a85/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py#L277

it calls validate_data which produce this error:
https://github.com/apache/airflow/blob/1dfbb8d2031cb8a3e95e4bf91aa478857c5c3a85/airflow/utils/helpers.py#L40

The error is not useful. It doesn't explain what the issue is of where the problem is. it also says problem with `key` which isn't a parameter of anything.
I couldn't even know that the issue is from the KubernetesPodOperator.

Suggestions:
make better error message for `KubernetesPodOperator` when name parameter is missing OR invalid.

I would also suggest to make validate_key produce a better error message specifying what object produce the error
airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
"""
    Execute a task in a Kubernetes Pod
    .. seealso::
        For more information on how to use this operator, take a look at the guide:
        :ref:`howto/operator:KubernetesPodOperator`
    .. note::
        If you use `Google Kubernetes Engine <https://cloud.google.com/kubernetes-engine/>`__
        and Airflow is not running in the same cluster, consider using
        :class:`~airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator`, which
        simplifies the authorization process.
    :param namespace: the namespace to run within kubernetes.
    :type namespace: str
    :param image: Docker image you wish to launch. Defaults to hub.docker.com,
        but fully qualified URLS will point to custom repositories. (templated)
    :type image: str
    :param name: name of the pod in which the task will run, will be used (plus a random
        suffix) to generate a pod id (DNS-1123 subdomain, containing only [a-z0-9.-]).
    :type name: str
    :param cmds: entrypoint of the container. (templated)
        The docker images's entrypoint is used if this is not provided.
    :type cmds: list[str]
    :param arguments: arguments of the entrypoint. (templated)
        The docker image's CMD is used if this is not provided.
    :type arguments: list[str]
    :param ports: ports for launched pod.
    :type ports: list[k8s.V1ContainerPort]