Giter Site home page Giter Site logo

lenglet-k / longhorn-manager Goto Github PK

View Code? Open in Web Editor NEW

This project forked from longhorn/longhorn-manager

0.0 0.0 0.0 43.57 MB

Millions and millions of volumes orchestrated

License: Apache License 2.0

Shell 0.23% Go 99.74% Makefile 0.01% Dockerfile 0.02%

longhorn-manager's Introduction

Longhorn Manager

Build StatusGo Report Card

Manager for Longhorn.

Requirements

  • Kubernetes cluster:
  • Host:
    • iscsiadm/open-iscsi and nfs-common/nfs-utils/nfs-client are installed.
    • The filesystem (ext4 or XFS) supports the file extents feature for data storage.

Run the environment_check.sh script to check if your system meets the listed requirements. For more information, see the Longhorn documentation.

Build

make

Deployment

  • kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml

It will deploy the following components in the longhorn-system namespace:

  • Longhorn Manager
  • Longhorn Instance Manager
  • Longhorn CSI plugin components
  • Longhorn UI

For more information, see the Longhorn documentation.

Cleanup

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).

  1. Ensure that the value of the Longhorn setting deleting-confirmation-flag is true.
kubectl -n longhorn-system edit setting deleting-confirmation-flag
  1. Create the uninstallation job to cleanly purge CRDs from the system. Verify that uninstallation was successful.
kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/master/uninstall/uninstall.yaml
kubectl get job/longhorn-uninstall -w

Example output:

$ kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/master/uninstall/uninstall.yaml
serviceaccount/longhorn-uninstall-service-account created
clusterrole.rbac.authorization.k8s.io/longhorn-uninstall-role created
clusterrolebinding.rbac.authorization.k8s.io/longhorn-uninstall-bind created
job.batch/longhorn-uninstall created

$ kubectl -n longhorn-system get job/longhorn-uninstall -w
NAME                 COMPLETIONS   DURATION   AGE
longhorn-uninstall   0/1           3s         3s
longhorn-uninstall   1/1           20s        20s
^C
  1. Remove remaining components.
kubectl delete -f https://raw.githubusercontent.com/longhorn/longhorn/master/uninstall/uninstall.yaml
kubectl delete -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml

Tip: If you try kubectl delete -Rf deploy/install first and get stuck there, pressing Ctrl C then running kubectl create -f deploy/uninstall/uninstall.yaml can also help you remove Longhorn. Finally, don't forget to cleanup remaining components by running kubectl delete -f deploy/uninstall/uninstall.yaml.

Unit Test

To execute all unit tests, make sure there are no uncommitted changes and run:

make test

If there are uncommitted changes, only the affected modules will be tested. To execute specific unit tests or all tests matching a regex, run:

TESTS=="NodeControllerSuite.*" make test

Integration test

See longhorn-tests repo

Contribution

Please check the Longhorn repo for the contributing guide.

License

Copyright (c) 2014-2024 The Longhorn Authors

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.

longhorn-manager's People

Contributors

yasker avatar c3y1huang avatar derekbit avatar shuo-wu avatar phanle1010 avatar joshimoo avatar ttpcodes avatar ejweber avatar innobead avatar mantissahz avatar jaciechao avatar renovate[bot] avatar chanyilin avatar frankyang0529 avatar r-shreesha avatar niusmallnan avatar weizhe0422 avatar james-munson avatar ywei88 avatar m-ildefons avatar dependabot[bot] avatar penglintao avatar yangchiu avatar slayer321 avatar jenting avatar tserong avatar shatakshi0805 avatar 100mik avatar khushboo-rancher avatar mmenbawy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.