Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/openyurtio/node-resource-manager

Node-resource-manager manages local node resources of OpenYurt cluster in a unified manner.
https://github.com/openyurtio/node-resource-manager

localstorage

Last synced: 3 months ago
JSON representation

Node-resource-manager manages local node resources of OpenYurt cluster in a unified manner.

Awesome Lists containing this project

README

        

# openyurtio/node-resource-manager

[![Version](https://img.shields.io/badge/NodeResourceManager-v0.1.0-orange)]()
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![Go Report Card](https://goreportcard.com/badge/github.com/openyurtio/node-resource-manager)](https://goreportcard.com/report/github.com/openyurtio/node-reource-manager)
[![codecov](https://codecov.io/gh/openyurtio/node-resource-manager/branch/main/graph/badge.svg)](https://codecov.io/gh/openyurtio/node-resource-manager)

English | [简体中文](./README.zh.md)

Node-resource-manager manages local node resources of OpenYurt cluster in a unified manner.

It currently manages:

- LVM built on top of block device or pmem device.
- QuotaPath built on top of block device or pmem device.
- Memory built on top of pmem device.

The majority function consists of:

- Initialize local resources on edge node.
- Update local resources on edge node.

You can define the spec of local resources by simply modifying the pre-defined ConfigMap.

Node-resource-manager has the following advantages in terms of compatibility and usability.

- **Easily to use**. Initialization and modification of local resources are easily done by editing the ConfigMap.
- **Easily to integrate**. Node-resource-manager can work together with csi driver, to perform local storage lifecycle management.
- **Platform free**. Node-resource-manager can be running in any kubernetes clusters.

## Architecture

The component consists of two parts, the first part is the ConfigMap named node-resource-topo in kube-system namespace,
and the second is the node-resource-manager DaemonSet deployed in kube-system namespace.
Node-resource-manager on each node mounts and reads the node-resource-topo ConfigMap to managed local resources.



## Getting started

1. Create node-resource-topo ConfigMap in kube-system namespace. ConfigMap example is in [configmap.md](./docs/configmap.md).

```shell
kubectl apply -f deploy/configmap.yaml
```

2. Deploy node-resource-manager DaemonSet.

```shell
kubectl apply -f deploy/nrm.yaml
```

## Developer guide

Please refer to [developer-guide.md](./docs/developer-guide.md) for developing and building the project.

## Roadmap

[2021 Roadmap](docs/roadmap.md)