debian-mirror-gitlab/doc/user/project/clusters/add_gke_clusters.md

97 lines
5.1 KiB
Markdown
Raw Normal View History

2020-05-24 23:13:21 +05:30
---
stage: Configure
group: Configure
2021-02-22 17:27:13 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-05-24 23:13:21 +05:30
---
2021-09-30 23:02:18 +05:30
# GKE clusters (DEPRECATED) **(FREE)**
> - [Deprecated](https://gitlab.com/groups/gitlab-org/-/epics/6049) in GitLab 14.0.
WARNING:
2021-11-11 11:23:49 +05:30
Use [Infrastructure as Code](../../infrastructure/index.md) to create new clusters. The method described in this document is deprecated as of GitLab 14.0.
2021-09-30 23:02:18 +05:30
Through GitLab, you can create new clusters and add existing clusters hosted on Amazon Elastic
Kubernetes Service (EKS).
2020-04-22 19:07:51 +05:30
GitLab supports adding new and existing GKE clusters.
## GKE requirements
2021-02-22 17:27:13 +05:30
Before creating your first cluster on Google GKE with GitLab integration, make sure the following
2020-04-22 19:07:51 +05:30
requirements are met:
- A [billing account](https://cloud.google.com/billing/docs/how-to/manage-billing-account)
set up with access.
- The Kubernetes Engine API and related service are enabled. It should work immediately but may
take up to 10 minutes after you create a project. For more information see the
["Before you begin" section of the Kubernetes Engine docs](https://cloud.google.com/kubernetes-engine/docs/quickstart#before-you-begin).
2021-09-30 23:02:18 +05:30
## Add an existing GKE cluster
If you already have a GKE cluster and want to integrate it with GitLab,
see how to [add an existing cluster](add_existing_cluster.md).
## Create new GKE cluster
2020-04-22 19:07:51 +05:30
2020-06-23 00:09:42 +05:30
Starting from [GitLab 12.4](https://gitlab.com/gitlab-org/gitlab/-/issues/25925), all the GKE clusters
2020-04-22 19:07:51 +05:30
provisioned by GitLab are [VPC-native](https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips).
Note the following:
- The [Google authentication integration](../../../integration/google.md) must be enabled in GitLab
at the instance level. If that's not the case, ask your GitLab administrator to enable it. On
GitLab.com, this is enabled.
2020-06-23 00:09:42 +05:30
- Starting from [GitLab 12.1](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/55902), all GKE clusters
2021-09-30 23:02:18 +05:30
created by GitLab are RBAC-enabled. Take a look at the [RBAC section](cluster_access.md#rbac-cluster-resources) for
2020-04-22 19:07:51 +05:30
more information.
- Starting from [GitLab 12.5](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18341), the
2021-02-22 17:27:13 +05:30
cluster's pod address IP range is set to `/16` instead of the regular `/14`. `/16` is a CIDR
2020-04-22 19:07:51 +05:30
notation.
- GitLab requires basic authentication enabled and a client certificate issued for the cluster to
2021-09-30 23:02:18 +05:30
set up an [initial service account](cluster_access.md). In [GitLab versions
2020-06-23 00:09:42 +05:30
11.10 and later](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/58208), the cluster creation process
explicitly requests GKE to create clusters with basic authentication enabled and a client
certificate.
2020-04-22 19:07:51 +05:30
### Creating the cluster on GKE
To create and add a new Kubernetes cluster to your project, group, or instance:
1. Navigate to your:
2021-09-04 01:27:46 +05:30
- Project's **{cloud-gear}** **Infrastructure > Kubernetes clusters** page, for a project-level
cluster.
2020-04-22 19:07:51 +05:30
- Group's **{cloud-gear}** **Kubernetes** page, for a group-level cluster.
2021-11-11 11:23:49 +05:30
- **Menu > Admin > Kubernetes** page, for an instance-level cluster.
2021-09-04 01:27:46 +05:30
1. Click **Integrate with a cluster certificate**.
2020-04-22 19:07:51 +05:30
1. Under the **Create new cluster** tab, click **Google GKE**.
1. Connect your Google account if you haven't done already by clicking the
**Sign in with Google** button.
1. Choose your cluster's settings:
- **Kubernetes cluster name** - The name you wish to give the cluster.
2021-09-30 23:02:18 +05:30
- **Environment scope** - The [associated environment](multiple_kubernetes_clusters.md#setting-the-environment-scope) to this cluster.
2020-04-22 19:07:51 +05:30
- **Google Cloud Platform project** - Choose the project you created in your GCP
2021-02-22 17:27:13 +05:30
console to host the Kubernetes cluster. Learn more about
2020-04-22 19:07:51 +05:30
[Google Cloud Platform projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
- **Zone** - Choose the [region zone](https://cloud.google.com/compute/docs/regions-zones/)
2021-02-22 17:27:13 +05:30
under which to create the cluster.
2020-04-22 19:07:51 +05:30
- **Number of nodes** - Enter the number of nodes you wish the cluster to have.
- **Machine type** - The [machine type](https://cloud.google.com/compute/docs/machine-types)
2021-02-22 17:27:13 +05:30
of the Virtual Machine instance to base the cluster on.
2020-04-22 19:07:51 +05:30
- **Enable Cloud Run for Anthos** - Check this if you want to use Cloud Run for Anthos for this cluster.
See the [Cloud Run for Anthos section](#cloud-run-for-anthos) for more information.
- **GitLab-managed cluster** - Leave this checked if you want GitLab to manage namespaces and service accounts for this cluster.
2021-09-30 23:02:18 +05:30
See the [Managed clusters section](gitlab_managed_clusters.md) for more information.
2020-04-22 19:07:51 +05:30
1. Finally, click the **Create Kubernetes cluster** button.
2021-09-04 01:27:46 +05:30
After a couple of minutes, your cluster is ready.
2020-04-22 19:07:51 +05:30
### Cloud Run for Anthos
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16566) in GitLab 12.4.
You can choose to use Cloud Run for Anthos in place of installing Knative and Istio
separately after the cluster has been created. This means that Cloud Run
2021-09-04 01:27:46 +05:30
(Knative), Istio, and HTTP Load Balancing are enabled on the cluster
from the start, and cannot be installed or uninstalled.