**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
```

tests/serialization/test_dag_serialization.py
self.assertEqual(
            serialized_dag["dag"]["tasks"][0]["_operator_extra_links"],
            [
                {'tests.test_utils.mock_operators.CustomBaseIndexOpLink': {'index': 0}},
                {'tests.test_utils.mock_operators.CustomBaseIndexOpLink': {'index': 1}},
            ]
        )
        
        self.assertCountEqual(simple_task.extra_links, [
            'BigQuery Console #1', 'BigQuery Console #2', 'airflow', 'github', 'google'])
        ti = TaskInstance(task=simple_task, execution_date=test_date)
        ti.xcom_push('search_query', ["dummy_value_1", "dummy_value_2"])
        
        custom_inbuilt_link = simple_task.get_extra_links(test_date, "BigQuery Console #1")
        self.assertEqual('https://console.cloud.google.com/bigquery?j=dummy_value_1', custom_inbuilt_link)
        
        custom_inbuilt_link = simple_task.get_extra_links(test_date, "BigQuery Console #2")
        self.assertEqual('https://console.cloud.google.com/bigquery?j=dummy_value_2', custom_inbuilt_link)
        
        google_link_from_plugin = simple_task.get_extra_links(test_date, GoogleLink.name)
        self.assertEqual("https://www.google.com", google_link_from_plugin)
    class ClassWithCustomAttributes:
        """
        Class for testing purpose: allows to create objects with custom attributes in one single statement.
        """
        def __init__(self, **kwargs):