Commit 72dfb1db authored by Marcia Ramos's avatar Marcia Ramos Committed by Natalia Tepluhina

Docs: Move clusters index content into infra/clusters

parent dd4410f0
- managed_namespace_help_text = s_('ClusterIntegration|Set a prefix for your namespaces. If not set, defaults to your project path. If modified, existing environments will use their current namespaces until the cluster cache is cleared.') - managed_namespace_help_text = s_('ClusterIntegration|Set a prefix for your namespaces. If not set, defaults to your project path. If modified, existing environments will use their current namespaces until the cluster cache is cleared.')
- non_managed_namespace_help_text = s_('ClusterIntegration|The namespace associated with your project. This will be used for deploy boards, logs, and Web terminals.') - non_managed_namespace_help_text = s_('ClusterIntegration|The namespace associated with your project. This will be used for deploy boards, logs, and Web terminals.')
- managed_namespace_help_link = link_to _('More information'), help_page_path('user/project/clusters/index.md', - managed_namespace_help_link = link_to _('More information'), help_page_path('user/project/clusters/gitlab_managed_clusters.md'), target: '_blank'
anchor: 'gitlab-managed-clusters'), target: '_blank'
.js-namespace-prefixed .js-namespace-prefixed
= platform_field.text_field :namespace, = platform_field.text_field :namespace,
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
provider_type: @cluster.provider_type, provider_type: @cluster.provider_type,
help_path: help_page_path('user/project/clusters/index.md'), help_path: help_page_path('user/project/clusters/index.md'),
environments_help_path: help_page_path('ci/environments/index.md', anchor: 'create-a-static-environment'), environments_help_path: help_page_path('ci/environments/index.md', anchor: 'create-a-static-environment'),
clusters_help_path: help_page_path('user/project/clusters/index.md', anchor: 'deploying-to-a-kubernetes-cluster'), clusters_help_path: help_page_path('user/project/clusters/deploy_to_cluster.md'),
deploy_boards_help_path: help_page_path('user/project/deploy_boards.md', anchor: 'enabling-deploy-boards'), deploy_boards_help_path: help_page_path('user/project/deploy_boards.md', anchor: 'enabling-deploy-boards'),
cluster_id: @cluster.id } } cluster_id: @cluster.id } }
......
...@@ -181,7 +181,7 @@ associated with your project, you can configure these deployments from your ...@@ -181,7 +181,7 @@ associated with your project, you can configure these deployments from your
NOTE: NOTE:
Kubernetes configuration isn't supported for Kubernetes clusters that are Kubernetes configuration isn't supported for Kubernetes clusters that are
[managed by GitLab](../../user/project/clusters/index.md#gitlab-managed-clusters). [managed by GitLab](../../user/project/clusters/gitlab_managed_clusters.md).
To follow progress on support for GitLab-managed clusters, see the To follow progress on support for GitLab-managed clusters, see the
[relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/38054). [relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/38054).
......
...@@ -2247,7 +2247,7 @@ For more information, see ...@@ -2247,7 +2247,7 @@ For more information, see
NOTE: NOTE:
Kubernetes configuration is not supported for Kubernetes clusters Kubernetes configuration is not supported for Kubernetes clusters
that are [managed by GitLab](../../user/project/clusters/index.md#gitlab-managed-clusters). that are [managed by GitLab](../../user/project/clusters/gitlab_managed_clusters.md).
To follow progress on support for GitLab-managed clusters, see the To follow progress on support for GitLab-managed clusters, see the
[relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/38054). [relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/38054).
......
...@@ -99,14 +99,14 @@ a chart corresponding to the query can be included if these requirements are met ...@@ -99,14 +99,14 @@ a chart corresponding to the query can be included if these requirements are met
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/40997) in GitLab 12.9. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/40997) in GitLab 12.9.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/208224) from GitLab Ultimate to GitLab Free in 13.2. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/208224) from GitLab Ultimate to GitLab Free in 13.2.
[Cluster Health Metrics](../../user/project/clusters/index.md#visualizing-cluster-health) [Cluster Health Metrics](../../user/infrastructure/clusters/manage/clusters_health.md)
can also be embedded in [GitLab-flavored Markdown](../../user/markdown.md). can also be embedded in [GitLab-flavored Markdown](../../user/markdown.md).
To embed a metric chart, include a link to that chart in the form To embed a metric chart, include a link to that chart in the form
`https://<root_url>/<project>/-/cluster/<cluster_id>?<query_params>` anywhere that `https://<root_url>/<project>/-/cluster/<cluster_id>?<query_params>` anywhere that
GitLab-flavored Markdown is supported. To generate and copy a link to the chart, GitLab-flavored Markdown is supported. To generate and copy a link to the chart,
follow the instructions in the follow the instructions in the
[Cluster Health Metric documentation](../../user/project/clusters/index.md#visualizing-cluster-health). [Cluster Health Metric documentation](../../user/infrastructure/clusters/manage/clusters_health.md).
The following requirements must be met for the metric to unfurl: The following requirements must be met for the metric to unfurl:
...@@ -114,7 +114,7 @@ The following requirements must be met for the metric to unfurl: ...@@ -114,7 +114,7 @@ The following requirements must be met for the metric to unfurl:
- Prometheus must be monitoring the cluster. - Prometheus must be monitoring the cluster.
- The user must be allowed access to the project cluster metrics. - The user must be allowed access to the project cluster metrics.
- The dashboards must be reporting data on the - The dashboards must be reporting data on the
[Cluster Health Page](../../user/project/clusters/index.md#visualizing-cluster-health) [Cluster Health Page](../../user/infrastructure/clusters/manage/clusters_health.md)
If the above requirements are met, then the metric unfurls as seen below. If the above requirements are met, then the metric unfurls as seen below.
......
...@@ -103,7 +103,7 @@ to deploy this project to. ...@@ -103,7 +103,7 @@ to deploy this project to.
[Cloud Run](../../user/project/clusters/add_gke_clusters.md#cloud-run-for-anthos), [Cloud Run](../../user/project/clusters/add_gke_clusters.md#cloud-run-for-anthos),
Istio, and HTTP Load Balancing add-ons for this cluster. Istio, and HTTP Load Balancing add-ons for this cluster.
- **GitLab-managed cluster** - Select this checkbox to - **GitLab-managed cluster** - Select this checkbox to
[allow GitLab to manage namespace and service accounts](../../user/project/clusters/index.md#gitlab-managed-clusters) for this cluster. [allow GitLab to manage namespace and service accounts](../../user/project/clusters/gitlab_managed_clusters.md) for this cluster.
1. Select **Create Kubernetes cluster**. 1. Select **Create Kubernetes cluster**.
......
...@@ -33,7 +33,7 @@ owners](../permissions.md#group-members-permissions) ...@@ -33,7 +33,7 @@ owners](../permissions.md#group-members-permissions)
In order to: In order to:
- Track environments for the cluster, you must - Track environments for the cluster, you must
[deploy to a Kubernetes cluster](../project/clusters/index.md#deploying-to-a-kubernetes-cluster) [deploy to a Kubernetes cluster](../project/clusters/deploy_to_cluster.md)
successfully. successfully.
- Show pod usage correctly, you must - Show pod usage correctly, you must
[enable deploy boards](../project/deploy_boards.md#enabling-deploy-boards). [enable deploy boards](../project/deploy_boards.md#enabling-deploy-boards).
......
---
stage: Configure
group: Configure
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
---
# Kubernetes clusters **(FREE)**
> - Project-level clusters [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/35954) in GitLab 10.1.
> - Group-level clusters [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34758) in GitLab 11.6.
> - Instance-level clusters [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/39840) in GitLab 11.11.
Kubernetes is a container orchestration platform to deploy applications
in a cluster without downtime and that scales as you need.
With the GitLab integration with Kubernetes, you can:
1. [Connect your cluster](#connect-your-cluster-to-gitlab).
1. [Manage your cluster](#manage-your-cluster).
1. [Deploy your cluster](#deploy-to-your-cluster).
See the [Kubernetes clusters versions supported by GitLab](connect/index.md#supported-cluster-versions).
## Connect your cluster to GitLab
Learn how to [create new and connect existing clusters to GitLab](connect/index.md).
## Manage your cluster
- [Cluster Management Project](../../clusters/management_project.md):
create a project to manage your cluster's shared resources requiring
`cluster-admin` privileges such as an Ingress controller.
- [Cluster Management Project Template](../../clusters/management_project_template.md): start a cluster management project directly from a template.
- [Migrate to Cluster Management Project](../../clusters/migrating_from_gma_to_project_template.md): migrate from the deprecated GitLab Managed Apps to Cluster Management Projects.
- [GitLab Managed Apps](../../clusters/applications.md) (deprecated in favor of Cluster Management Projects): configure applications in your cluster directly from GitLab.
- [Cluster integrations](../../clusters/integrations.md): install
third-party applications into your cluster and manage them from GitLab.
- [GitLab-managed clusters](../../project/clusters/gitlab_managed_clusters.md):
enable GitLab to automatically create resources for your clusters.
- [Cost management](../../clusters/cost_management.md): see insights into your cluster's resource usage.
- [Crossplane integration](../../clusters/crossplane.md): manage your cluster's resources and cloud infrastructure with Crossplane.
### Monitor your cluster
- [Prometheus monitoring](../../project/integrations/prometheus_library/kubernetes.md): detect and monitor Kubernetes metrics with Prometheus.
- [NGINX monitoring](../../project/integrations/prometheus_library/nginx.md): automatically monitor NGINX Ingress.
- [Clusters health](manage/clusters_health.md): monitor your cluster's health, such as CPU and memory usage.
### Secure your cluster
- [Container Host Security](../../project/clusters/protect/container_host_security/index.md): monitor and block activity inside a container and enforce security policies across the cluster.
- [Container Network security](../../project/clusters/protect/container_network_security/index.md): filter traffic going in and out of the cluster and traffic between pods through a firewall with Cilium NetworkPolicies.
## Deploy to your cluster
- [CI/CD Tunnel](../../clusters/agent/ci_cd_tunnel.md): use the CI/CD Tunnel to run Kubernetes commands from different projects.
- [Inventory object](deploy/inventory_object.md): track objects applied to a cluster configured with the Kubernetes Agent.
- [Auto DevOps](../../../topics/autodevops/index.md): enable Auto DevOps
to allow GitLab automatically detect, build, test, and deploy applications.
- [Cluster environments](../../clusters/environments.md): view CI/CD environments deployed to Kubernetes clusters.
- [Canary Deployments](../../project/canary_deployments.md): deploy app updates to a small portion of the fleet with this Continuous Delivery strategy.
- [Deploy to your cluster](../../project/clusters/deploy_to_cluster.md):
deploy applications into your cluster using cluster certificates.
- [Deploy Boards](../../project/deploy_boards.md): view the current health and status of each CI/CD environment running on your cluster, and the status of deployment pods.
- [Pod logs](../../project/clusters/kubernetes_pod_logs.md): view the logs of your cluster's running pods.
- [Serverless](../../project/clusters/serverless/index.md) (deprecated): deploy Serverless applications in Kubernetes environments and cloud Function as a Service (FaaS) environments.
---
stage: Configure
group: Configure
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
---
# Clusters health **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4701) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.6.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/208224) to GitLab Free in 13.2.
When [the Prometheus cluster integration is enabled](../../../clusters/integrations.md#prometheus-cluster-integration), GitLab monitors the cluster's health. At the top of the cluster settings page, CPU and Memory utilization is displayed, along with the total amount available. Keeping an eye on cluster resources can be important, if the cluster runs out of memory pods may be shutdown or fail to start.
![Cluster Monitoring](img/k8s_cluster_monitoring.png)
...@@ -188,7 +188,7 @@ To add a Kubernetes cluster to your project, group, or instance: ...@@ -188,7 +188,7 @@ To add a Kubernetes cluster to your project, group, or instance:
``` ```
1. **GitLab-managed cluster** - Leave this checked if you want GitLab to manage namespaces and service accounts for this cluster. 1. **GitLab-managed cluster** - Leave this checked if you want GitLab to manage namespaces and service accounts for this cluster.
See the [Managed clusters section](index.md#gitlab-managed-clusters) for more information. See the [Managed clusters section](gitlab_managed_clusters.md) for more information.
1. **Project namespace** (optional) - You don't have to fill this in. By leaving 1. **Project namespace** (optional) - You don't have to fill this in. By leaving
it blank, GitLab creates one for you. Also: it blank, GitLab creates one for you. Also:
- Each project should have a unique namespace. - Each project should have a unique namespace.
......
...@@ -32,7 +32,7 @@ The resources created by GitLab differ depending on the type of cluster. ...@@ -32,7 +32,7 @@ The resources created by GitLab differ depending on the type of cluster.
Note the following about access controls: Note the following about access controls:
- Environment-specific resources are only created if your cluster is - Environment-specific resources are only created if your cluster is
[managed by GitLab](index.md#gitlab-managed-clusters). [managed by GitLab](gitlab_managed_clusters.md).
- If your cluster was created before GitLab 12.2, it uses a single namespace for all project - If your cluster was created before GitLab 12.2, it uses a single namespace for all project
environments. environments.
......
...@@ -4,77 +4,22 @@ group: Configure ...@@ -4,77 +4,22 @@ group: Configure
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 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
--- ---
# Kubernetes clusters **(FREE)** # Project-level Kubernetes clusters **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/35954) in GitLab 10.1 for projects. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/35954) in GitLab 10.1.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34758) in
> GitLab 11.6 for [groups](../../group/clusters/index.md).
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/39840) in
> GitLab 11.11 for [instances](../../instance/clusters/index.md).
We offer extensive integrations to help you connect and manage your Kubernetes clusters from GitLab. [Project-level Kubernetes clusters](../../infrastructure/clusters/connect/index.md#cluster-levels)
allow you to connect a Kubernetes cluster to a project in GitLab.
Read through this document to get started. You can also [connect multiple clusters](multiple_kubernetes_clusters.md)
to a single project.
## Benefit from the GitLab-Kubernetes integration After connecting a cluster to GitLab, you can benefit from the large number of
[GitLab features available for Kubernetes clusters](../../infrastructure/clusters/index.md) to manage and deploy to your cluster.
Using the GitLab-Kubernetes integration, you can benefit of GitLab ## View your project-level clusters
features such as:
- Create [CI/CD Pipelines](../../../ci/pipelines/index.md) to build, test, and deploy to your cluster. To view project-level Kubernetes clusters:
- Use [Auto DevOps](#auto-devops) to automate the CI/CD process.
- Use [role-based or attribute-based access controls](cluster_access.md).
- Run serverless workloads on [Kubernetes with Knative](serverless/index.md).
- Connect GitLab to in-cluster applications using [cluster integrations](../../clusters/integrations.md).
- Use [deploy boards](../deploy_boards.md) to see the health and status of each CI [environment](../../../ci/environments/index.md) running on your Kubernetes cluster.
- Use [Canary deployments](../canary_deployments.md) to update only a portion of your fleet with the latest version of your application.
- View your [Kubernetes podlogs](kubernetes_pod_logs.md) directly in GitLab.
- Connect to your cluster through GitLab [web terminals](deploy_to_cluster.md#web-terminals-for-kubernetes-clusters).
## Supported cluster versions 1. On the top bar, select **Menu > Projects** and find your project.
1. On the left sidebar, select **Infrastructure > Kubernetes clusters**.
See the [Kubernetes clusters versions supported by GitLab](../../infrastructure/clusters/connect/index.md#supported-cluster-versions).
## Connect your cluster to GitLab
Learn how to [create new and connect existing clusters to GitLab](../../infrastructure/clusters/connect/index.md).
## Cluster integrations
See the available [cluster integrations](../../clusters/integrations.md)
to integrate third-party applications with your clusters through GitLab.
## Cluster management project
Attach a [Cluster management project](../../clusters/management_project.md)
to your cluster to manage shared resources requiring `cluster-admin` privileges for
installation, such as an Ingress controller.
## GitLab-managed clusters
See how to allow [GitLab to manage your cluster for you](gitlab_managed_clusters.md).
## Auto DevOps
You can use [Auto DevOps](../../../topics/autodevops/index.md) to automatically
detect, build, test, deploy, and monitor your applications.
## Deploying to a Kubernetes cluster
See how to [deploy to your Kubernetes cluster](deploy_to_cluster.md) from GitLab.
## Monitoring your Kubernetes cluster
Automatically detect and monitor Kubernetes metrics. Automatic monitoring of
[NGINX Ingress](../integrations/prometheus_library/nginx.md) is also supported.
[Read more about Kubernetes monitoring](../integrations/prometheus_library/kubernetes.md)
### Visualizing cluster health
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4701) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.6.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/208224) to GitLab Free in 13.2.
When [the Prometheus cluster integration is enabled](../../clusters/integrations.md#prometheus-cluster-integration), GitLab monitors the cluster's health. At the top of the cluster settings page, CPU and Memory utilization is displayed, along with the total amount available. Keeping an eye on cluster resources can be important, if the cluster runs out of memory pods may be shutdown or fail to start.
![Cluster Monitoring](img/k8s_cluster_monitoring.png)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment