Merge branch 'docs/k8s' into 'master'
Add things that the k8s integration enables Closes #37529 See merge request gitlab-org/gitlab-ce!14163
This commit is contained in:
commit
8266c78cd0
6 changed files with 92 additions and 16 deletions
|
@ -1,3 +1,7 @@
|
|||
---
|
||||
last_updated: 2017-09-25
|
||||
---
|
||||
|
||||
# GitLab Kubernetes / OpenShift integration
|
||||
|
||||
GitLab can be configured to interact with Kubernetes, or other systems using the
|
||||
|
@ -6,10 +10,6 @@ Kubernetes API (such as OpenShift).
|
|||
Each project can be configured to connect to a different Kubernetes cluster, see
|
||||
the [configuration](#configuration) section.
|
||||
|
||||
If you have a single cluster that you want to use for all your projects,
|
||||
you can pre-fill the settings page with a default template. To configure the
|
||||
template, see the [Services Templates](services_templates.md) document.
|
||||
|
||||
## Configuration
|
||||
|
||||
Navigate to the [Integrations page](project_services.md#accessing-the-project-services)
|
||||
|
@ -47,28 +47,77 @@ The Kubernetes service takes the following parameters:
|
|||
[Kubernetes dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#config)
|
||||
(under **Config > Secrets**).
|
||||
|
||||
TIP: **Tip:**
|
||||
If you have a single cluster that you want to use for all your projects,
|
||||
you can pre-fill the settings page with a default template. To configure the
|
||||
template, see [Services Templates](services_templates.md).
|
||||
|
||||
## Deployment variables
|
||||
|
||||
The Kubernetes service exposes following
|
||||
The Kubernetes service exposes the following
|
||||
[deployment variables](../../../ci/variables/README.md#deployment-variables) in the
|
||||
GitLab CI build environment:
|
||||
GitLab CI/CD build environment:
|
||||
|
||||
- `KUBE_URL` - equal to the API URL
|
||||
- `KUBE_TOKEN`
|
||||
- `KUBE_URL` - Equal to the API URL.
|
||||
- `KUBE_TOKEN` - The Kubernetes token.
|
||||
- `KUBE_NAMESPACE` - The Kubernetes namespace is auto-generated if not specified.
|
||||
The default value is `<project_name>-<project_id>`. You can overwrite it to
|
||||
use different one if needed, otherwise the `KUBE_NAMESPACE` variable will
|
||||
receive the default value.
|
||||
- `KUBE_CA_PEM_FILE` - only present if a custom CA bundle was specified. Path
|
||||
- `KUBE_CA_PEM_FILE` - Only present if a custom CA bundle was specified. Path
|
||||
to a file containing PEM data.
|
||||
- `KUBE_CA_PEM` (deprecated)- only if a custom CA bundle was specified. Raw PEM data.
|
||||
- `KUBECONFIG` - Path to a file containing kubeconfig for this deployment. CA bundle would be embedded if specified.
|
||||
- `KUBE_CA_PEM` (deprecated) - Only if a custom CA bundle was specified. Raw PEM data.
|
||||
- `KUBECONFIG` - Path to a file containing `kubeconfig` for this deployment.
|
||||
CA bundle would be embedded if specified.
|
||||
|
||||
## Web terminals
|
||||
## What you can get with the Kubernetes integration
|
||||
|
||||
Here's what you can do with GitLab if you enable the Kubernetes integration.
|
||||
|
||||
### Deploy Boards (EEP)
|
||||
|
||||
> Available in [GitLab Enterprise Edition Premium][ee].
|
||||
|
||||
GitLab's Deploy Boards offer a consolidated view of the current health and
|
||||
status of each CI [environment](../../../ci/environments.md) running on Kubernetes,
|
||||
displaying the status of the pods in the deployment. Developers and other
|
||||
teammates can view the progress and status of a rollout, pod by pod, in the
|
||||
workflow they already use without any need to access Kubernetes.
|
||||
|
||||
[> Read more about Deploy Boards](https://docs.gitlab.com/ee/user/project/deploy_boards.html)
|
||||
|
||||
### Canary Deployments (EEP)
|
||||
|
||||
> Available in [GitLab Enterprise Edition Premium][ee].
|
||||
|
||||
Leverage [Kubernetes' Canary deployments](https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments)
|
||||
and visualize your canary deployments right inside the Deploy Board, without
|
||||
the need to leave GitLab.
|
||||
|
||||
[> Read more about Canary Deployments](https://docs.gitlab.com/ee/user/project/canary_deployments.html)
|
||||
|
||||
### Kubernetes monitoring
|
||||
|
||||
Automatically detect and monitor Kubernetes metrics. Automatic monitoring of
|
||||
[NGINX ingress](./prometheus_library/nginx.md) is also supported.
|
||||
|
||||
[> Read more about Kubernetes monitoring](prometheus_library/kubernetes.md)
|
||||
|
||||
### Auto DevOps
|
||||
|
||||
Auto DevOps automatically detects, builds, tests, deploys, and monitors your
|
||||
applications.
|
||||
|
||||
To make full use of Auto DevOps(Auto Deploy, Auto Review Apps, and Auto Monitoring)
|
||||
you will need the Kubernetes project integration enabled.
|
||||
|
||||
[> Read more about Auto DevOps](../../../topics/autodevops/index.md)
|
||||
|
||||
### Web terminals
|
||||
|
||||
NOTE: **Note:**
|
||||
Added in GitLab 8.15. You must be the project owner or have `master` permissions
|
||||
to use terminals. Support is currently limited to the first container in the
|
||||
Introduced in GitLab 8.15. You must be the project owner or have `master` permissions
|
||||
to use terminals. Support is limited to the first container in the
|
||||
first pod of your environment.
|
||||
|
||||
When enabled, the Kubernetes service adds [web terminal](../../../ci/environments.md#web-terminals)
|
||||
|
@ -77,3 +126,5 @@ Docker and Kubernetes, so you get a new shell session within your existing
|
|||
containers. To use this integration, you should deploy to Kubernetes using
|
||||
the deployment variables above, ensuring any pods you create are labelled with
|
||||
`app=$CI_ENVIRONMENT_SLUG`. GitLab will do the rest!
|
||||
|
||||
[ee]: https://about.gitlab.com/gitlab-ee/
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
# Monitoring AWS Resources
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12621) in GitLab 9.4
|
||||
|
||||
GitLab has support for automatically detecting and monitoring AWS resources, starting with the [Elastic Load Balancer](https://aws.amazon.com/elasticloadbalancing/). This is provided by leveraging the official [Cloudwatch exporter](https://github.com/prometheus/cloudwatch_exporter), which translates [Cloudwatch metrics](https://aws.amazon.com/cloudwatch/) into a Prometheus readable form.
|
||||
|
||||
## Requirements
|
||||
|
||||
The [Prometheus service](../prometheus/index.md) must be enabled.
|
||||
|
||||
## Metrics supported
|
||||
|
||||
| Name | Query |
|
||||
|
|
|
@ -3,6 +3,10 @@
|
|||
|
||||
GitLab has support for automatically detecting and monitoring HAProxy. This is provided by leveraging the [HAProxy Exporter](https://github.com/prometheus/haproxy_exporter), which translates HAProxy statistics into a Prometheus readable form.
|
||||
|
||||
## Requirements
|
||||
|
||||
The [Prometheus service](../prometheus/index.md) must be enabled.
|
||||
|
||||
## Metrics supported
|
||||
|
||||
| Name | Query |
|
||||
|
|
|
@ -1,7 +1,13 @@
|
|||
# Monitoring Kubernetes
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8935) in GitLab 9.0
|
||||
|
||||
GitLab has support for automatically detecting and monitoring Kubernetes metrics. Kubernetes exposes Node level metrics out of the box via the built-in [Prometheus metrics support in cAdvisor](https://github.com/google/cadvisor). No additional services or exporters are needed.
|
||||
GitLab has support for automatically detecting and monitoring Kubernetes metrics.
|
||||
|
||||
## Requirements
|
||||
|
||||
The [Prometheus](../prometheus.md) and [Kubernetes](../kubernetes.md)
|
||||
integration services must be enabled.
|
||||
|
||||
## Metrics supported
|
||||
|
||||
|
@ -23,4 +29,4 @@ Prometheus server up and running. You have two options here:
|
|||
In order to isolate and only display relevant metrics for a given environment
|
||||
however, GitLab needs a method to detect which labels are associated. To do this, GitLab will [look for an `environment` label](metrics.md#identifying-environments).
|
||||
|
||||
If you are using [GitLab Auto-Deploy][../../../ci/autodeploy/index.md] and one of the two [provided Kubernetes monitoring solutions](../prometheus.md#getting-started-with-prometheus-monitoring), the `environment` label will be automatically added.
|
||||
If you are using [GitLab Auto-Deploy](../../../../ci/autodeploy/index.md) and one of the two [provided Kubernetes monitoring solutions](../prometheus.md#getting-started-with-prometheus-monitoring), the `environment` label will be automatically added.
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
# Monitoring NGINX
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12621) in GitLab 9.4
|
||||
|
||||
GitLab has support for automatically detecting and monitoring NGINX. This is provided by leveraging the [NGINX VTS exporter](https://github.com/hnlq715/nginx-vts-exporter), which translates [VTS statistics](https://github.com/vozlt/nginx-module-vts) into a Prometheus readable form.
|
||||
|
||||
## Requirements
|
||||
|
||||
The [Prometheus service](../prometheus/index.md) must be enabled.
|
||||
|
||||
## Metrics supported
|
||||
|
||||
| Name | Query |
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
# Monitoring NGINX Ingress Controller
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13438) in GitLab 9.5
|
||||
|
||||
GitLab has support for automatically detecting and monitoring the Kubernetes NGINX ingress controller. This is provided by leveraging the built in Prometheus metrics included in [version 0.9.0](https://github.com/kubernetes/ingress/blob/master/controllers/nginx/Changelog.md#09-beta1) of the ingress.
|
||||
|
||||
## Requirements
|
||||
|
||||
The [Prometheus service](../prometheus/index.md) must be enabled.
|
||||
|
||||
## Metrics supported
|
||||
|
||||
| Name | Query |
|
||||
|
|
Loading…
Reference in a new issue