From 2a31764ba7d84c77b119b97331c17e78fc7d9285 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Wed, 27 May 2020 20:19:55 +0200 Subject: [PATCH] local-up-cluster.sh: install CSI snapshotter This cluster add-on is required for snapshotting of CSI volumes and must be installed when bringing up a cluster because CSI driver installations depend on that. It is unclear how many users of the script need CSI snapshotting, therefore it is disabled by default (= the previous behavior). --- hack/local-up-cluster.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hack/local-up-cluster.sh b/hack/local-up-cluster.sh index 3bff6d3cd6ae..2ea862c0e866 100755 --- a/hack/local-up-cluster.sh +++ b/hack/local-up-cluster.sh @@ -90,6 +90,9 @@ PRESERVE_ETCD="${PRESERVE_ETCD:-false}" # enable kubernetes dashboard ENABLE_CLUSTER_DASHBOARD=${KUBE_ENABLE_CLUSTER_DASHBOARD:-false} +# enable Kubernetes-CSI snapshotter +ENABLE_CSI_SNAPSHOTTER=${ENABLE_CSI_SNAPSHOTTER:-false} + # RBAC Mode options AUTHORIZATION_MODE=${AUTHORIZATION_MODE:-"Node,RBAC"} KUBECONFIG_TOKEN=${KUBECONFIG_TOKEN:-""} @@ -916,6 +919,19 @@ function start_kubedashboard { fi } +function start_csi_snapshotter { + if [[ "${ENABLE_CSI_SNAPSHOTTER}" = true ]]; then + echo "Creating Kubernetes-CSI snapshotter" + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" apply -f "${KUBE_ROOT}/cluster/addons/volumesnapshots/crd/snapshot.storage.k8s.io_volumesnapshots.yaml" + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" apply -f "${KUBE_ROOT}/cluster/addons/volumesnapshots/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml" + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" apply -f "${KUBE_ROOT}/cluster/addons/volumesnapshots/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml" + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" apply -f "${KUBE_ROOT}/cluster/addons/volumesnapshots/volume-snapshot-controller/rbac-volume-snapshot-controller.yaml" + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" apply -f "${KUBE_ROOT}/cluster/addons/volumesnapshots/volume-snapshot-controller/volume-snapshot-controller-deployment.yaml" + + echo "Kubernetes-CSI snapshotter successfully deployed." + fi +} + function create_psp_policy { echo "Create podsecuritypolicy policies for RBAC." ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" create -f "${KUBE_ROOT}/examples/podsecuritypolicy/rbac/policies.yaml" @@ -1055,6 +1071,7 @@ if [[ "${START_MODE}" != "kubeletonly" ]]; then start_nodelocaldns fi start_kubedashboard + start_csi_snapshotter fi if [[ "${START_MODE}" != "nokubelet" ]]; then