Skip to content

Commit

Permalink
Updates the k8s helm platform docs (#8632)
Browse files Browse the repository at this point in the history
* Updates the k8s helm platform docs

- Updates to talk about the external mode
- Updates the helm install overview to show that the releases can also
  be the way to install
- Rewrites the how-to to include showing how to start in each mode
- Each mode that has a guide links off to a guide
- Re-organizes the Unseal and Init to a section and places all the
  various other unseals underneath it
- Moves updating below the unseal and init
- Shows some basic usage of the helm CLI with a value and file override

* Adds learn links for k8s index pages

* Adds helm dev and external vault examples

While the dev one may seem obvious I think that it's incredibly useful
to cover our bases if this is to be reference documentation. I thought
maybe the example could have ingress support for UI but do not have the
experience to recommend it.

* Adds helm docs example dev and external

- places the development first as it feels like the starting point for
  some.
- places the external after HA

Co-authored-by: Vishal Nayak <vishalnayak@users.noreply.github.com>
  • Loading branch information
Lynn Frank and vishalnayak committed Mar 30, 2020
1 parent 9fab0ce commit bbe4a0a
Show file tree
Hide file tree
Showing 8 changed files with 421 additions and 195 deletions.
2 changes: 2 additions & 0 deletions website/data/docs-navigation.js
Expand Up @@ -319,10 +319,12 @@ export default [
{
category: 'examples',
content: [
'development',
'standalone-load-balanced-ui',
'standalone-tls',
'standalone-audit',
'ha-with-consul',
'external',
'kubernetes-auth',
'enterprise-best-practice'
]
Expand Down
26 changes: 26 additions & 0 deletions website/pages/docs/platform/k8s/helm/examples/development.mdx
@@ -0,0 +1,26 @@
---
layout: "docs"
page_title: "Development"
sidebar_current: "docs-platform-k8s-examples-development"
sidebar_title: "Development"
description: |-
Describes how to set up a development Vault
---

# Development

~> **Important Note:** This chart is not compatible with Helm 2. Please use Helm 3 with this chart.

The below `values.yaml` can be used to set up a single development Vault server.

```yaml
server:
dev:
enabled: true
```

## Learn

Refer to the [Injecting Secrets into Kubernetes Pods via Vault Helm
Sidecar](https://learn.hashicorp.com/vault/getting-started-k8s/sidecar) guide
for a step-by-step tutorial.
26 changes: 26 additions & 0 deletions website/pages/docs/platform/k8s/helm/examples/external.mdx
@@ -0,0 +1,26 @@
---
layout: "docs"
page_title: "External Vault"
sidebar_current: "docs-platform-k8s-examples-external"
sidebar_title: "External Vault"
description: |-
Describes how to set up an external Vault
---

# External Vault

~> **Important Note:** This chart is not compatible with Helm 2. Please use Helm 3 with this chart.

The below `values.yaml` can be used to set up an external vault server or
cluster.

```yaml
injector:
externalVaultAddr: "http://external-vault:8200"
```

## Learn

Refer to the [Integrate a Kubernetes Cluster with an External
Vault](https://learn.hashicorp.com/vault/getting-started-k8s/external-vault)
guide for a step-by-step tutorial.
8 changes: 7 additions & 1 deletion website/pages/docs/platform/k8s/helm/examples/index.mdx
Expand Up @@ -11,7 +11,13 @@ description: |-

~> **Important Note:** This chart is not compatible with Helm 2. Please use Helm 3 with this chart.

These are a collection of examples of common configurations for Vault using the Helm chart.
These are a collection of examples of common configurations for Vault using the Helm chart.

The following are different configuration examples to support a variety of
deployment models. You can view the different examples from the list on the left.

## Learn

Refer to the [Run Vault on
Kubernetes](https://learn.hashicorp.com/vault?track=getting-started-k8s#getting-started-k8s)
guides for step-by-step tutorials.
64 changes: 41 additions & 23 deletions website/pages/docs/platform/k8s/helm/index.mdx
Expand Up @@ -15,39 +15,42 @@ The [Vault Helm chart](https://github.com/hashicorp/vault-helm)
is the recommended way to install and configure Vault on Kubernetes.
In addition to running Vault itself, the Helm chart is the primary
method for installing and configuring Vault to integrate with other
services such as Consul for High Availability deployments.
services such as Consul for High Availability (HA) deployments.

This page assumes general knowledge of [Helm](https://helm.sh/) and
how to use it. Using Helm to install Vault will require that Helm is
how to use it. Using Helm to install Vault requires that Helm is
properly installed and configured with your Kubernetes cluster.

-> **Important:** The Helm chart is new and
may still change significantly over time. Please always run Helm with
`--dry-run` before any install or upgrade to verify changes.

~> **Security Warning:** By default, the chart will install an insecure configuration
of Vault. This provides a less complicated out-of-box experience for new users,
but is not appropriate for a production setup. It is highly recommended to use
a [properly secured Kubernetes cluster](https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/).
See the [architecture reference](/docs/platform/k8s/helm/run#architecture)
for a Vault Helm production deployment checklist.

## Using the Helm Chart

To use the Helm chart, you must download or clone the
[vault-helm GitHub repository](https://github.com/hashicorp/vault-helm)
and run Helm against the directory. We plan to transition to using a real
Helm repository soon. When running Helm, we highly recommend you always
checkout a specific tagged release of the chart to avoid any
instabilities from master.
Helm must be installed and configured on your machine. Please refer to the [Helm
documentation](https://helm.sh/) or the [Vault Installation to Minikube via
Helm](https://learn.hashicorp.com/vault/getting-started-k8s/minikube) guide.

To use the Helm chart, you can target a specific [release published to
GitHub](https://github.com/hashicorp/vault-helm/releases) or download/clone the
[vault-helm GitHub repository](https://github.com/hashicorp/vault-helm). In the
future, we plan publishing to a public Helm repository.

Prior to this, you must have Helm installed and configured both in your
Kubernetes cluster and locally on your machine. The steps to do this are
out of the scope of this document. Please refer to the
[Helm documentation](https://helm.sh/) for more information.
-> **Important:** The Helm chart is new and under significant development.
Please always run Helm with `--dry-run` before any install or upgrade to verify
changes.

Example chart usage:

Installing the Vault Helm chart version 0.4.0 with pods prefixed with the name
`vault`.

```sh
$ helm install vault https://github.com/hashicorp/vault-helm/archive/v0.4.0.tar.gz
```

Cloning the Vault Helm chart, checking out tagged version v0.4.0, and installing
the Vault Helm chart from the filesystem.

~> **NOTE:** We highly recommend you checkout a specific tagged release
of the chart to avoid any instabilities from master.

```sh
# Clone the chart repo
$ git clone https://github.com/hashicorp/vault-helm.git
Expand All @@ -59,3 +62,18 @@ $ git checkout v0.4.0
# Run Helm
$ helm install vault ./
```

~> **Security Warning:** By default, the chart runs in standalone mode. This
mode uses a single Vault server with a file storage backend. This is a less
secure and less resilent installation that is **NOT** appropriate for a
production setup. It is highly recommended to use a [properly secured Kubernetes
cluster](https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/),
[learn the available configuration
options](/docs/platform/k8s/helm/configuration), and read the [production deployment
checklist](/docs/platform/k8s/helm/run#architecture).

## Learn

Refer to the [Run Vault on
Kubernetes](https://learn.hashicorp.com/vault?track=getting-started-k8s#getting-started-k8s)
guides for step-by-step tutorials.

0 comments on commit bbe4a0a

Please sign in to comment.