**Apache Airflow version**: 2.0.0a1
**Kubernetes version (if you are using kubernetes)** (use `kubectl version`): No kubernetes used.

**Environment**:

- **OS** (e.g. from /etc/os-release): MacOS

**What happened**:

After updating my local dev environment configuration for Airflow 2.0.0a1 I wanted to see if the database needed updating:

```
$ airflow db check
Traceback (most recent call last):
  File "/.../bin/airflow", line 8, in <module>
    sys.exit(main())
  File "/.../lib/python3.6/site-packages/airflow/__main__.py", line 40, in main
    args.func(args)
  File "/.../lib/python3.6/site-packages/airflow/cli/cli_parser.py", line 52, in command
    func = import_string(import_path)
  File "/.../lib/python3.6/site-packages/airflow/utils/module_loading.py", line 32, in import_string
    module = import_module(module_path)
  File "/.../lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/.../lib/python3.6/site-packages/airflow/cli/commands/db_command.py", line 24, in <module>
    from airflow.utils import cli as cli_utils, db
  File "/.../lib/python3.6/site-packages/airflow/utils/db.py", line 26, in <module>
    from airflow.jobs.base_job import BaseJob  # noqa: F401 # pylint: disable=unused-import
  File "/.../lib/python3.6/site-packages/airflow/jobs/__init__.py", line 22, in <module>
    import airflow.jobs.scheduler_job  # noqa
  File "/.../lib/python3.6/site-packages/airflow/jobs/scheduler_job.py", line 50, in <module>
    from airflow.models.serialized_dag import SerializedDagModel
  File "/.../lib/python3.6/site-packages/airflow/models/serialized_dag.py", line 35, in <module>
    from airflow.serialization.serialized_objects import SerializedDAG
  File "/.../lib/python3.6/site-packages/airflow/serialization/serialized_objects.py", line 37, in <module>
    from airflow.kubernetes.pod_generator import PodGenerator
  File "/.../lib/python3.6/site-packages/airflow/kubernetes/pod_generator.py", line 35, in <module>
    from kubernetes.client import models as k8s
ModuleNotFoundError: No module named 'kubernetes'
```

**What you expected to happen**:

`kubernetes` is an optional extra dependency, if it is not installed things should not break.

**How to reproduce it**:

This happens in a new setup, the following steps reproduce the issue:

```python
$ virtualenv -p python3.8 testenv
$ source testenv/bin/activate
$ pip install --find-links https://dist.apache.org/repos/dist/dev/airflow/2.0.0a1/ apache-airflow==2.0.0a1
$ airflow db check
```

airflow/serialization/serialized_objects.py
return datetime.timedelta(seconds=seconds)
    @classmethod
    def _is_constructor_param(cls, attrname: str, instance: Any) -> bool:
        
        return attrname in cls._CONSTRUCTOR_PARAMS
    @classmethod
    def _value_is_hardcoded_default(cls, attrname: str, value: Any, instance: Any) -> bool:
        """
        Return true if ``value`` is the hard-coded default for the given attribute.
        This takes in to account cases where the ``concurrency`` parameter is
        stored in the ``_concurrency`` attribute.
        And by using `is` here only and not `==` this copes with the case a
        user explicitly specifies an attribute with the same "value" as the
        default. (This is because ``"default" is "default"`` will be False as
        they are different strings with the same characters.)
        Also returns True if the value is an empty list or empty dict. This is done
        to account for the case where the default value of the field is None but has the
        ``field = field or {}`` set.
        """
        
        if attrname in cls._CONSTRUCTOR_PARAMS and \
                (cls._CONSTRUCTOR_PARAMS[attrname] is value or (value in [{}, []])):
            return True
        return False
class SerializedBaseOperator(BaseOperator, BaseSerialization):