Commit c8544d97 authored by Russell Dickenson's avatar Russell Dickenson

Merge branch 'eread/refactor-cluster-create-topics' into 'master'

Move all cluster create documentation to new page

Closes #30577

See merge request gitlab-org/gitlab!18233
parents f66d9c67 4abae6f7
- more_info_link = link_to _('More information'), help_page_path('user/project/clusters/index.md', - more_info_link = link_to _('More information'), help_page_path('user/project/clusters/add_remove_cluster.md',
anchor: 'add-existing-kubernetes-cluster'), target: '_blank' anchor: 'add-existing-cluster'), target: '_blank'
- rbac_help_link = link_to _('More information'), help_page_path('user/project/clusters/index.md', - rbac_help_link = link_to _('More information'), help_page_path('user/project/clusters/add_remove_cluster.md',
anchor: 'role-based-access-control-rbac-core-only'), target: '_blank' anchor: 'access-controls'), target: '_blank'
- api_url_help_text = s_('ClusterIntegration|The URL used to access the Kubernetes API.') - api_url_help_text = s_('ClusterIntegration|The URL used to access the Kubernetes API.')
- ca_cert_help_text = s_('ClusterIntegration|The Kubernetes certificate used to authenticate to the cluster.') - ca_cert_help_text = s_('ClusterIntegration|The Kubernetes certificate used to authenticate to the cluster.')
......
%h4 %h4
= s_('ClusterIntegration|Enter the details for your Kubernetes cluster') = s_('ClusterIntegration|Enter the details for your Kubernetes cluster')
%p %p
- link_to_help_page = link_to(s_('ClusterIntegration|documentation'), help_page_path('user/project/clusters/index', anchor: 'add-existing-kubernetes-cluster'), target: '_blank', rel: 'noopener noreferrer') - link_to_help_page = link_to(s_('ClusterIntegration|documentation'), help_page_path('user/project/clusters/add_remove_cluster', anchor: 'add-existing-cluster'), target: '_blank', rel: 'noopener noreferrer')
= s_('ClusterIntegration|Please enter access information for your Kubernetes cluster. If you need help, you can read our %{link_to_help_page} on Kubernetes').html_safe % { link_to_help_page: link_to_help_page } = s_('ClusterIntegration|Please enter access information for your Kubernetes cluster. If you need help, you can read our %{link_to_help_page} on Kubernetes').html_safe % { link_to_help_page: link_to_help_page }
...@@ -305,7 +305,7 @@ The following documentation relates to the DevOps **Configure** stage: ...@@ -305,7 +305,7 @@ The following documentation relates to the DevOps **Configure** stage:
| Configure Topics | Description | | Configure Topics | Description |
|:-----------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------| |:-----------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------|
| [Auto DevOps](topics/autodevops/index.md) | Automatically employ a complete DevOps lifecycle. | | [Auto DevOps](topics/autodevops/index.md) | Automatically employ a complete DevOps lifecycle. |
| [Create Kubernetes clusters on GKE](user/project/clusters/index.md#add-new-gke-cluster) | Use Google Kubernetes Engine and GitLab. | | [Create Kubernetes clusters on GKE](user/project/clusters/add_remove_clusters.md#add-new-gke-cluster) | Use Google Kubernetes Engine and GitLab. |
| [Executable Runbooks](user/project/clusters/runbooks/index.md) | Documented procedures that explain how to carry out particular processes. | | [Executable Runbooks](user/project/clusters/runbooks/index.md) | Documented procedures that explain how to carry out particular processes. |
| [GitLab ChatOps](ci/chatops/README.md) | Interact with CI/CD jobs through chat services. | | [GitLab ChatOps](ci/chatops/README.md) | Interact with CI/CD jobs through chat services. |
| [Installing Applications](user/project/clusters/index.md#installing-applications) | Deploy Helm, Ingress, and Prometheus on Kubernetes. | | [Installing Applications](user/project/clusters/index.md#installing-applications) | Deploy Helm, Ingress, and Prometheus on Kubernetes. |
......
...@@ -232,7 +232,7 @@ Parameters: ...@@ -232,7 +232,7 @@ Parameters:
NOTE: **Note:** NOTE: **Note:**
`name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added
through the ["Add existing Kubernetes cluster"](../user/project/clusters/index.md#add-existing-kubernetes-cluster) option or through the ["Add existing Kubernetes cluster"](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or
through the ["Add existing cluster to group"](#add-existing-cluster-to-group) endpoint. through the ["Add existing cluster to group"](#add-existing-cluster-to-group) endpoint.
Example request: Example request:
......
# Project clusters API # Project clusters API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/23922) > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/23922) in GitLab 11.7.
in GitLab 11.7.
NOTE: **Note:** NOTE: **Note:**
User will need at least maintainer access to use these endpoints. User will need at least maintainer access to use these endpoints.
...@@ -283,7 +282,7 @@ Parameters: ...@@ -283,7 +282,7 @@ Parameters:
NOTE: **Note:** NOTE: **Note:**
`name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added
through the ["Add existing Kubernetes cluster"](../user/project/clusters/index.md#add-existing-kubernetes-cluster) option or through the ["Add existing Kubernetes cluster"](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or
through the ["Add existing cluster to project"](#add-existing-cluster-to-project) endpoint. through the ["Add existing cluster to project"](#add-existing-cluster-to-project) endpoint.
Example request: Example request:
......
...@@ -7,7 +7,7 @@ These applications are needed for [Review Apps](../../ci/review_apps/index.md) ...@@ -7,7 +7,7 @@ These applications are needed for [Review Apps](../../ci/review_apps/index.md)
and [deployments](../../ci/environments.md) when using [Auto DevOps](../../topics/autodevops/index.md). and [deployments](../../ci/environments.md) when using [Auto DevOps](../../topics/autodevops/index.md).
You can install them after you You can install them after you
[create a cluster](../project/clusters/index.md#adding-and-removing-clusters). [create a cluster](../project/clusters/add_remove_clusters.md).
## Installing applications ## Installing applications
...@@ -244,7 +244,7 @@ server to use the external IP address for that domain. For any ...@@ -244,7 +244,7 @@ server to use the external IP address for that domain. For any
application created and installed, they will be accessible as application created and installed, they will be accessible as
`<program_name>.<kubernetes_namespace>.<domain_name>`. This will require `<program_name>.<kubernetes_namespace>.<domain_name>`. This will require
your Kubernetes cluster to have [RBAC your Kubernetes cluster to have [RBAC
enabled](../project/clusters/index.md#rbac-cluster-resources). enabled](../project/clusters/add_remove_clusters.md#rbac-cluster-resources).
NOTE: **Note:** NOTE: **Note:**
The [`knative/knative`](https://storage.googleapis.com/triggermesh-charts) The [`knative/knative`](https://storage.googleapis.com/triggermesh-charts)
......
...@@ -20,7 +20,7 @@ This can be useful for: ...@@ -20,7 +20,7 @@ This can be useful for:
## Permissions ## Permissions
Only the management project will receive `cluster-admin` privileges. All Only the management project will receive `cluster-admin` privileges. All
other projects will continue to receive [namespace scoped `edit` level privileges](../project/clusters/index.md#rbac-cluster-resources). other projects will continue to receive [namespace scoped `edit` level privileges](../project/clusters/add_remove_clusters.md#rbac-cluster-resources).
Management projects are restricted to the following: Management projects are restricted to the following:
......
...@@ -58,7 +58,7 @@ differentiate the new cluster from the rest. ...@@ -58,7 +58,7 @@ differentiate the new cluster from the rest.
You can choose to allow GitLab to manage your cluster for you. If your cluster is You can choose to allow GitLab to manage your cluster for you. If your cluster is
managed by GitLab, resources for your projects will be automatically created. See the managed by GitLab, resources for your projects will be automatically created. See the
[Access controls](../../project/clusters/index.md#access-controls) section for details on which resources will [Access controls](../../project/clusters/add_remove_clusters.md#access-controls) section for details on which resources will
be created. be created.
If you choose to manage your own cluster, project-specific resources will not be created If you choose to manage your own cluster, project-specific resources will not be created
...@@ -147,7 +147,7 @@ are deployed to the Kubernetes cluster, see the documentation for ...@@ -147,7 +147,7 @@ are deployed to the Kubernetes cluster, see the documentation for
For important information about securely configuring GitLab Runners, see For important information about securely configuring GitLab Runners, see
[Security of [Security of
Runners](../../project/clusters/index.md#security-of-gitlab-runners) Runners](../../project/clusters/add_remove_clusters.md#security-of-gitlab-runners)
documentation for project-level clusters. documentation for project-level clusters.
<!-- ## Troubleshooting <!-- ## Troubleshooting
......
This diff is collapsed.
This diff is collapsed.
...@@ -35,7 +35,7 @@ for an overview of how this is accomplished in GitLab!** ...@@ -35,7 +35,7 @@ for an overview of how this is accomplished in GitLab!**
To create an executable runbook, you will need: To create an executable runbook, you will need:
1. **Kubernetes** - A Kubernetes cluster is required to deploy the rest of the applications. 1. **Kubernetes** - A Kubernetes cluster is required to deploy the rest of the applications.
The simplest way to get started is to add a cluster using [GitLab's GKE integration](../index.md#add-new-gke-cluster). The simplest way to get started is to add a cluster using [GitLab's GKE integration](../add_remove_clusters.md#add-new-gke-cluster).
1. **Helm Tiller** - Helm is a package manager for Kubernetes and is required to install 1. **Helm Tiller** - Helm is a package manager for Kubernetes and is required to install
all the other applications. It is installed in its own pod inside the cluster which all the other applications. It is installed in its own pod inside the cluster which
can run the Helm CLI in a safe environment. can run the Helm CLI in a safe environment.
...@@ -60,7 +60,7 @@ the components outlined above and the preloaded demo runbook. ...@@ -60,7 +60,7 @@ the components outlined above and the preloaded demo runbook.
### 1. Add a Kubernetes cluster ### 1. Add a Kubernetes cluster
Follow the steps outlined in [Add new GKE cluster](../index.md#add-new-gke-cluster) Follow the steps outlined in [Add new GKE cluster](../add_remove_clusters.md#add-new-gke-cluster)
to add a Kubernetes cluster to your project. to add a Kubernetes cluster to your project.
### 2. Install Helm Tiller, Ingress, and JupyterHub ### 2. Install Helm Tiller, Ingress, and JupyterHub
......
...@@ -13,14 +13,16 @@ GitLab supports several ways deploy Serverless applications in both Kubernetes E ...@@ -13,14 +13,16 @@ GitLab supports several ways deploy Serverless applications in both Kubernetes E
Currently we support: Currently we support:
- [Knative](#knative): Build Knative applications with Knative and gitlabktl on GKE - [Knative](#knative): Build Knative applications with Knative and gitlabktl on GKE.
- [AWS Lambda](aws.md): Create serverless applications via the Serverless Framework and GitLab CI - [AWS Lambda](aws.md): Create serverless applications via the Serverless Framework and GitLab CI.
## Knative ## Knative
Run serverless workloads on Kubernetes using [Knative](https://cloud.google.com/knative/). Run serverless workloads on Kubernetes using [Knative](https://cloud.google.com/knative/).
Knative extends Kubernetes to provide a set of middleware components that are useful to build modern, source-centric, container-based applications. Knative brings some significant benefits out of the box through its main components: Knative extends Kubernetes to provide a set of middleware components that are useful to build
modern, source-centric, container-based applications. Knative brings some significant benefits out
of the box through its main components:
- [Serving](https://github.com/knative/serving): Request-driven compute that can scale to zero. - [Serving](https://github.com/knative/serving): Request-driven compute that can scale to zero.
- [Eventing](https://github.com/knative/eventing): Management and delivery of events. - [Eventing](https://github.com/knative/eventing): Management and delivery of events.
...@@ -39,7 +41,7 @@ To run Knative on GitLab, you will need: ...@@ -39,7 +41,7 @@ To run Knative on GitLab, you will need:
- If you are planning on deploying a serverless application, clone the sample [Knative Ruby App](https://gitlab.com/knative-examples/knative-ruby-app) to get started. - If you are planning on deploying a serverless application, clone the sample [Knative Ruby App](https://gitlab.com/knative-examples/knative-ruby-app) to get started.
1. **Kubernetes Cluster:** An RBAC-enabled Kubernetes cluster is required to deploy Knative. 1. **Kubernetes Cluster:** An RBAC-enabled Kubernetes cluster is required to deploy Knative.
The simplest way to get started is to add a cluster using [GitLab's GKE integration](../index.md#add-new-gke-cluster). The simplest way to get started is to add a cluster using [GitLab's GKE integration](../add_remove_clusters.md#add-new-gke-cluster).
The set of minimum recommended cluster specifications to run Knative is 3 nodes, 6 vCPUs, and 22.50 GB memory. The set of minimum recommended cluster specifications to run Knative is 3 nodes, 6 vCPUs, and 22.50 GB memory.
1. **Helm Tiller:** Helm is a package manager for Kubernetes and is required to install 1. **Helm Tiller:** Helm is a package manager for Kubernetes and is required to install
Knative. Knative.
...@@ -68,7 +70,7 @@ To run Knative on GitLab, you will need: ...@@ -68,7 +70,7 @@ To run Knative on GitLab, you will need:
NOTE: **Note:** NOTE: **Note:**
The minimum recommended cluster size to run Knative is 3-nodes, 6 vCPUs, and 22.50 GB memory. **RBAC must be enabled.** The minimum recommended cluster size to run Knative is 3-nodes, 6 vCPUs, and 22.50 GB memory. **RBAC must be enabled.**
1. [Add a Kubernetes cluster](../index.md) and [install Helm](../index.md#installing-applications). 1. [Add a Kubernetes cluster](../add_remove_clusters.md) and [install Helm](../index.md#installing-applications).
1. Once Helm has been successfully installed, scroll down to the Knative app section. Enter the domain to be used with 1. Once Helm has been successfully installed, scroll down to the Knative app section. Enter the domain to be used with
your application/functions (e.g. `example.com`) and click **Install**. your application/functions (e.g. `example.com`) and click **Install**.
...@@ -108,7 +110,7 @@ You must do the following: ...@@ -108,7 +110,7 @@ You must do the following:
1. Follow the steps to 1. Follow the steps to
[add an existing Kubernetes [add an existing Kubernetes
cluster](../index.md#add-existing-kubernetes-cluster). cluster](../add_remove_clusters.md#add-existing-cluster).
1. Ensure GitLab can manage Knative: 1. Ensure GitLab can manage Knative:
- For a non-GitLab managed cluster, ensure that the service account for the token - For a non-GitLab managed cluster, ensure that the service account for the token
......
...@@ -117,7 +117,7 @@ You can view the performance dashboard for an environment by [clicking on the mo ...@@ -117,7 +117,7 @@ You can view the performance dashboard for an environment by [clicking on the mo
Custom metrics can be monitored by adding them on the monitoring dashboard page. Once saved, they will be displayed on the environment performance dashboard provided that either: Custom metrics can be monitored by adding them on the monitoring dashboard page. Once saved, they will be displayed on the environment performance dashboard provided that either:
- A [connected Kubernetes cluster](../clusters/index.md#adding-and-removing-clusters) with the environment scope of `*` is used and [Prometheus installed on the cluster](#enabling-prometheus-integration), or - A [connected Kubernetes cluster](../clusters/add_remove_clusters.md) with the environment scope of `*` is used and [Prometheus installed on the cluster](#enabling-prometheus-integration)
- Prometheus is [manually configured](#manual-configuration-of-prometheus). - Prometheus is [manually configured](#manual-configuration-of-prometheus).
![Add New Metric](img/prometheus_add_metric.png) ![Add New Metric](img/prometheus_add_metric.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