Commit 8ccce30a authored by Joshua Lambert's avatar Joshua Lambert
Browse files

Merge branch...

Merge branch '67-point-chart-documentation-to-official-docs-gitlab-com-install-kubernetes-docs' into 'master'

Point chart documentation to official docs.gitlab.com/install/kubernetes docs

Closes #67

See merge request !57
parents 1b2ce29d 8067ed34
# gitlab-omnibus
This work is based partially on: https://github.com/lwolf/kubernetes-gitlab/. GitLab would like to thank Sergey Nuzhdin for his work.
> This chart is beta. We are building a set of Cloud Native
charts at [helm.gitlab.io](https://gitlab.com/charts/helm.gitlab.io). The goal of that work
is to fully replace this chart.
[GitLab](https://about.gitlab.com/) is an application to code, test, and deploy code together. It provides Git repository management with fine grained access controls, code reviews, issue tracking, activity feeds, wikis, and continuous integration.
# GitLab-Omnibus Helm Chart
## Introduction
This chart is provided for the deployment and testing of [GitLab](https://about.gitlab.com) on [Kubernetes](https://kubernetes.io/) via [Google Container Engine](https://cloud.google.com/container-engine/) or [Azure Container Service](https://azure.microsoft.com/en-us/services/container-service/). This provides an easy way to deploy GitLab and exercise most of its capabilities. The [GitLab Idea to Production demo on GKE](https://about.gitlab.com/handbook/sales/demo/) from the [GitLab handbook](https://about.gitlab.com/handbook) provides a great getting started tutorial with the included functionality.
This includes:
- A [GitLab Omnibus](https://docs.gitlab.com/omnibus/) Pod, including Mattermost, Container Registry, and Prometheus
- GitLab Runner
- Redis
- Postgresql
- NGINX Ingress
Terms:
- Google Cloud Platform (**GCP**)
- Google Container Engine (**GKE**)
- Azure Container Service (**ACS**)
- Kubernetes (**k8s**)
## Prerequisites
- _At least_ 4 GB of RAM available on your cluster, in chunks of 1 GB. 41GB of storage and 2 CPU are also required.
- Kubernetes 1.4+ with Beta APIs enabled
- [Persistent Volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) provisioner support in the underlying infrastructure
- An [external IP address](#networking-prerequisites)
- A [wildcard DNS entry](#networking-prerequisites), which resolves to the external IP address
- The `kubectl` CLI installed locally and authenticated for the cluster
- The Helm Client installed locally
- The Helm Server (Tiller) already installed and running in the cluster, by running `helm init`
- The GitLab Helm Repo [added to your Helm Client](index.md#add-the-gitlab-helm-repository)
## Installing the Chart
To install the chart with the release name `my-release` run:
```bash
$ helm repo add gitlab https://charts.gitlab.io
$ helm install --name my-release \
--set baseDomain=example.com,legoEmail=you@example.com \
gitlab/gitlab-omnibus
```
Note that you _must_ pass in baseIP, baseDomain, and legoEmail, or you'll end up with a non-functioning release.
* baseDomain: This is the base domain name to be used for the GitLab server, for example `mycompany.io`. There should be a wildcard DNS entry pointing to the `baseIP`, because GitLab makes use of a variety of hostnames. For more information please review [our documentation](https://docs.gitlab.com/ee/install/kubernetes/gitlab_omnibus.md).
* baseIP: This is the desired external IP address that will be assigned as the Load Balancer IP.
*
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and GitLab-related directives.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
$ helm install --name my-release \
--set baseIP=172.16.254.1,baseDomain=example.com,legoEmail=you@example.com, \
--set postgresPassword=foobar \
--set gitlab=ee,gitlabEELicense=$LICENSE \
gitlab/gitlab-omnibus
```
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml gitlab/gitlab-omnibus
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
Persistence of GitLab data and configuration happens using PVCs. If you know that you'll need a larger amount of space, make _sure_ to look at [values.yaml](values.yaml) for values you can override.
This chart is the easiest way to get started with GitLab on Kubernetes. It includes everything needed to run GitLab, including: a Runner, Container Registry, automatic SSL, and an Ingress. For more information, please review [our documentation](http://docs.gitlab.com/ee/install/kubernetes/gitlab_omnibus.html).
# GitLab Runner
> This chart is beta. We are building a set of Cloud Native
charts at [helm.gitlab.io](https://gitlab.com/charts/helm.gitlab.io). The goal of that work
is to fully replace this chart.
[GitLab Runner](https://docs.gitlab.com/runner) is the open source project that is used to run your jobs and send the results back to GitLab. It is used in conjunction with [GitLab CI](https://about.gitlab.com/gitlab-ci/), the open-source continuous integration service included with GitLab that coordinates the jobs.
# GitLab Runner Helm Chart
## Introduction
This chart deploys a GitLab Runner instance configured to run using the [Kubernetes executor](https://docs.gitlab.com/runner/install/kubernetes.html)
For each new job it receives from [GitLab CI](https://about.gitlab.com/gitlab-ci/), it will provision a new pod within the specified namespace to run it.
## Prerequisites
- _At least_ 2 vCPUs available on your cluster
- Kubernetes 1.4+ with Beta APIs enabled
- Your GitLab Server's API is reachable from the cluster
## Installing the Chart
To install the chart with the release name `my-release` run:
```bash
$ helm install --name my-release \
--set gitlabUrl=http://gitlab.your-domain.com/,runnerRegistrationToken=your-token \
gitlab/gitlab-runner
```
Note that you _must_ pass in gitlabUrl and runnerRegistrationToken, or you'll end up with a non-functioning release.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and GitLab Runner-related directives.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
$ helm install --name my-release \
--set gitlabUrl=http://gitlab.your-domain.com/,runnerRegistrationToken=your-token,concurrent=4 \
gitlab/gitlab-runner
```
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml gitlab/gitlab-runner
```
> **Tip**: You can use the default [values.yaml](values.yaml)
This chart deploys a GitLab Runner instance into your Kubernetes cluster. For more information, please review [our documentation](http://docs.gitlab.com/ee/install/kubernetes/gitlab_runner_chart.html).
# GitLab
> This chart is beta. We are building a set of Cloud Native
charts at [helm.gitlab.io](https://gitlab.com/charts/helm.gitlab.io). The goal of that work
is to fully replace this chart.
[GitLab](https://about.gitlab.com/) is an application to code, test, and deploy code together. It provides Git repository management with fine grained access controls, code reviews, issue tracking, activity feeds, wikis, and continuous integration.
# GitLab Helm Chart
## Introduction
This chart stands up a GitLab Community Edition (CE) or GitLab Enterprise Edition (EE) install. This includes:
- A [GitLab Omnibus](https://docs.gitlab.com/omnibus/) Pod
- Redis (enabled by default, can be configured to connect to an existing redis instead)
- Postgresql (enabled by default, can be configured to connect to an existing postgresql instead)
## Prerequisites
- _At least_ 3 GB of RAM available on your cluster, in chunks of 1 GB
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure
- The ability to point a DNS entry or URL at your GitLab install
## Installing the Chart
First you need to add the gitlab chart repo if you haven't done so already
```bash
helm repo add gitlab https://charts.gitlab.io
``
To install the chart with the release name `my-release` run:
```bash
$ helm install --name my-release \
--set externalUrl=http://your-domain.com/ gitlab/gitlab
```
Note that you _must_ pass in externalUrl, or you'll end up with a non-functioning release.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and GitLab-related directives.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
$ helm install --name my-release \
--set externalUrl=http://your-domain.com/,gitlabRootPassword=pass1234 \
gitlab/gitlab
```
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml gitlab/gitlab
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
By default, persistence of GitLab data and configuration happens using PVCs. If you know that you'll need a larger amount of space, make _sure_ to look at the `persistence` section in [values.yaml](values.yaml).
> *"If you disable persistence, the contents of your volume(s) will only last as long as the Pod does. Upgrading or changing certain settings may lead to data loss without persistence."*
This chart includes just the GitLab service. For more information, please review [our documentation](http://docs.gitlab.com/ee/install/kubernetes/gitlab_chart.html).
# kubernetes-gitlab-demo
This work is based partially on: https://github.com/lwolf/kubernetes-gitlab/. GitLab would like to thank Sergey Nuzhdin for his work.
# Kubernetes GitLab Demo
[GitLab](https://about.gitlab.com/) is an application to code, test, and deploy code together. It provides Git repository management with fine grained access controls, code reviews, issue tracking, activity feeds, wikis, and continuous integration.
## Introduction
This chart is provided for the deployment and testing of [GitLab](https://about.gitlab.com) on [Kubernetes](https://kubernetes.io/) via [Google Container Engine](https://cloud.google.com/container-engine/) or [Azure Container Service](https://azure.microsoft.com/en-us/services/container-service/). This provides functionality used in the [GitLab Idea to Production demo on GKE presentation](https://about.gitlab.com/handbook/sales/demo/) from the [GitLab handbook](https://about.gitlab.com/handbook). Please use that script when providing this demo to customers, instead of these instructions directly.
This includes:
- A [GitLab Omnibus](https://docs.gitlab.com/omnibus/) Pod, including Mattermost, Container Registry, and Prometheus
- GitLab Runner
- Redis
- Postgresql
Terms:
- Google Cloud Platform (**GCP**)
- Google Container Engine (**GKE**)
- Azure Container Service (**ACS**)
- Kubernetes (**k8s**)
## Prerequisites
- [Google Cloud Platform](https://cloud.google.com/) or [Azure](https://portal.azure.com) account. This can be a trial, or paid account. The trial has lower limitations, so extensive
testing with GitLab's Review Apps feature may exceed those limitations.
- [Google Cloud SDK](https://cloud.google.com/sdk/) for using `gcloud` commands or [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) for using `az` commands. These SDKs also includes the necessary `kubectl` utilities.
- Access to a `bash` shell. It is recommended at this time to use a GNU/Linux-based or OSX operating system.
- Access to the internet via HTTPS traffic.
- _At least_ 3 GB of RAM available on your cluster
- _At least_ 2vCPUs per node in your cluster
- Kubernetes 1.4+ with Beta APIs enabled
- The ability to point a DNS entry or URL at your GitLab install
## Installing the Chart
To install the chart with the release name `my-release` run:
```bash
$ helm repo add gitlab https://charts.gitlab.io
$ helm install --name my-release \
--set baseDomain=example.com,legoEmail=you@example.com \
gitlab/kubernetes-gitlab-demo
```
Note that you _must_ pass in baseIP, baseDomain, and legoEmail, or you'll end up with a non-functioning release.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and GitLab-related directives.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
$ helm install --name my-release \
--set baseIP=172.16.254.1,baseDomain=example.com,legoEmail=you@example.com, \
--set postgresPassword=foobar \
--set gitlab=ee,gitlabEELicense=$LICENSE \
gitlab/kubernetes-gitlab-demo
```
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml gitlab/kubernetes-gitlab-demo
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
Persistence of GitLab data and configuration happens using PVCs. If you know that you'll need a larger amount of space, make _sure_ to look at [values.yaml](values.yaml) for values you can override.
This chart has been deprecated and replaced by [gitlab-omnibus](../gitlab-omnibus).
Supports Markdown
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