Manager for Longhorn.
- Existing Kubernetes Cluster 1.8+
- Make sure
iscsiadm
/open-iscsi
has been installed on the host. - Make sure
jq
,findmnt
,curl
has been installed on the host, for the Longhorn Flexvolume Driver.
make
kubectl create -Rf deploy/install
It will deploy the following components in the longhorn-system
namespace:
- Longhorn Manager
- Longhorn Flexvolume Driver for Kubernetes
- Longhorn UI
Longhorn CRD has finalizers in them, so user should delete the volumes and related resource first, give manager a chance to clean up after them.
To prevent damage to the Kubernetes cluster, we recommend deleting all Kubernetes workloads using Longhorn volumes (PersistentVolume, PersistentVolumeClaim, StorageClass, Deployment, StatefulSet, DaemonSet, etc).
- Create the uninstallation job to cleanly purge CRDs from the system and wait for success:
kubectl create -f deploy/uninstall/uninstall.yaml
kubectl -n longhorn-system get job/longhorn-uninstall -w
Example output:
$ kubectl create -f deploy/uninstall/uninstall.yaml
job.batch/longhorn-uninstall created
$ kubectl -n longhorn-system get job/longhorn-uninstall -w
NAME DESIRED SUCCESSFUL AGE
longhorn-uninstall 1 0 3s
longhorn-uninstall 1 1 45s
^C
- Remove remaining components:
kubectl delete -Rf deploy/install
You will need to create cluster-admin role binding for yourselves before creating the deployment, see here for details.
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=<[email protected]>
By default we're using the default Flexvolume Plugin directory, which is /usr/libexec/kubernetes/kubelet-plugins/volume/exec/
.
For GKE 1.8+, it should be at: /home/kubernetes/flexvolume
.
You may need to change deploy/deploy.yaml
volume flexvolume-longhorn-mount
location according to your own environment.
Copyright (c) 2014-2018 Rancher Labs, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.