From ea6e5c8945db48c862ac27f83a650529c0154481 Mon Sep 17 00:00:00 2001 From: Rebecca Zanzig Date: Thu, 1 Nov 2018 18:57:50 -0700 Subject: [PATCH] Clarify storage usage for consul + k8s This adds two Helm chart values into the documentation with details that have come up in several issues. Additionally, it notes that persistent volumes and their claims need to be removed manually because of current kubernetes and helm design. --- website/source/docs/platform/k8s/helm.html.md | 13 +++++++++++++ website/source/docs/platform/k8s/run.html.md | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/website/source/docs/platform/k8s/helm.html.md b/website/source/docs/platform/k8s/helm.html.md index 071f8e5c21..e9a1abdf2a 100644 --- a/website/source/docs/platform/k8s/helm.html.md +++ b/website/source/docs/platform/k8s/helm.html.md @@ -122,6 +122,19 @@ and consider if they're appropriate for your deployment. used when bootstrapping new clusters, it has no effect during ongoing cluster maintenance. + - `storage` (`string: 10Gi`) - + This defines the disk size for configuring the servers' StatefulSet storage. For dynamically + provisioned storage classes, this is the desired size. For manually defined persistent + volumes, this should be set to the disk size of the attached volume. + + - `storageClass` (`string: null`) - + The StorageClass to use for the servers' StatefulSet storage. It must be able to be dynamically + provisioned if you want the storage to be automatically created. For example, to use + [Local](https://kubernetes.io/docs/concepts/storage/storage-classes/#local) + storage classes, the PersistentVolumeClaims would need to be manually created. A `null` value will + use the Kubernetes cluster's default StorageClass. If a default StorageClass does not exist, + you will need to create one. + - `connect` (`boolean: true`) - This will enable/disable [Connect](/docs/connect/index.html). Setting this to true _will not_ automatically secure pod communication, this setting will diff --git a/website/source/docs/platform/k8s/run.html.md b/website/source/docs/platform/k8s/run.html.md index e375791599..f644e8424a 100644 --- a/website/source/docs/platform/k8s/run.html.md +++ b/website/source/docs/platform/k8s/run.html.md @@ -284,6 +284,11 @@ Additionally, a **PodDisruptionBudget** is configured so the Consul server cluster maintains quorum during voluntary operational events. The maximum unavailable is `(n/2)-1` where `n` is the number of server agents. +-> **Note:** Kubernetes and Helm do not delete Persistent Volumes or Persistent +Volume Claims when a +[StatefulSet is deleted](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-storage), +so this must done manually when removing servers. + ### Client Agents The client agents are run as a **DaemonSet**. This places one agent