Skip to content

Commit 494cf11

Browse files
committed
fixed linter errors
Signed-off-by: Surax98 <giacomo.surace@gmail.com>
1 parent 40530c1 commit 494cf11

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed

README.md

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,59 @@
1+
# :information_source: Overview
2+
13
![Interlink logo](./docs/static/img/interlink_logo.png)
24

3-
## :information_source: Overview
5+
## Introduction
46

5-
### Introduction
6-
InterLink aims to provide an abstraction for the execution of a Kubernetes pod on any remote resource capable of managing a Container execution lifecycle.
7-
We target to facilitate the development of provider specific plugins, so the resource providers can leverage the power of virtual kubelet without a black belt in kubernetes internals.
7+
InterLink aims to provide an abstraction for the execution of a Kubernetes pod on any remote resource capable of managing
8+
a Container execution lifecycle. We target to facilitate the development of provider specific plugins, so the resource
9+
providers can leverage the power of virtual kubelet without a black belt in kubernetes internals.
810

911
The project consists of two main components:
1012

11-
- __A Kubernetes Virtual Node:__ based on the [VirtualKubelet](https://virtual-kubelet.io/) technology. Translating request for a kubernetes pod execution into a remote call to the interLink API server.
12-
- __The interLink API server:__ a modular and pluggable REST server where you can create your own Container manager plugin (called sidecars), or use the existing ones: remote docker execution on a remote host, singularity Container on a remote SLURM batch system. This repo aims to maintain the SLURM sidecar as a standalone plugin.
13+
- __A Kubernetes Virtual Node:__ based on the [VirtualKubelet](https://virtual-kubelet.io/) technology.
14+
Translating request for a kubernetes pod execution into a remote call to the interLink API server.
15+
- __The interLink API server:__ a modular and pluggable REST server where you can create your own Container manager plugin
16+
(called sidecars), or use the existing ones: remote docker execution on a remote host, singularity Container on
17+
a remote SLURM batch system. This repository aims to maintain the SLURM sidecar as a standalone plugin.
1318

14-
The project got inspired by the [KNoC](https://github.com/CARV-ICS-FORTH/knoc) and [Liqo](https://github.com/liqotech/liqo/tree/master) projects, enhancing that with the implemention a generic API layer b/w the virtual kubelet component and the provider logic for the container lifecycle management.
19+
The project got inspired by the [KNoC](https://github.com/CARV-ICS-FORTH/knoc) and
20+
[Liqo](https://github.com/liqotech/liqo/tree/master) projects, enhancing that with the implemention a generic API
21+
layer b/w the virtual kubelet component and the provider logic for the container lifecycle management.
1522

1623
## :electron: Usage
1724

1825
### :bangbang: Requirements
26+
1927
- __[Our Kubernetes Virtual Node and the interLink API server](https://github.com/interTwin-eu/interLink)__
28+
2029
- __[The Go programming language](https://go.dev/doc/install)__ (to build binaries)
30+
2131
- __[Docker Engine](https://docs.docker.com/engine/)__ (optional)
2232

2333
Note: if you want a quick start setup (using a Docker container), Go is not necessary
2434

2535
### :fast_forward: Quick Start
36+
2637
Just run:
38+
2739
```bash
2840
cd docker && docker compose up -d
2941
```
3042

3143
### :hammer: Building binaries
32-
It is of course possible to use binaries as a standalone application. Just run
44+
45+
It is of course possible to use binaries as a standalone application. Just run
46+
3347
```bash
3448
make all
3549
```
36-
and you will be able to find the built slurm-sd binary inside the bin directory. Before executing it, remember to check if the configuration file is correctly set according to your needs. You can find an example one under examples/config/InterLinkConfig.yaml. Do not forget to set the INTERLINKCONFIGPATH environment variable to point to your config.
50+
51+
and you will be able to find the built slurm-sd binary inside the bin directory. Before executing it, remember to check
52+
if the configuration file is correctly set according to your needs. You can find an example one under examples/config/InterLinkConfig.yaml.
53+
Do not forget to set the INTERLINKCONFIGPATH environment variable to point to your config.
3754

3855
### :pencil2: Annotations
56+
3957
It is possible to specify Annotations when submitting Pods to the K8S cluster. A list of all Annotations follows:
4058
| Annotation | Description|
4159
|--------------|------------|
@@ -48,15 +66,17 @@ It is possible to specify Annotations when submitting Pods to the K8S cluster. A
4866
| slurm-job.vk.io/mpi-flags | Used to prepend "mpiexec -np $SLURM_NTASKS \*flags\*" to the Singularity Execution |
4967

5068
### :wrench: InterLink Config file
51-
Detailed explanation of the InterLink config file key values. Edit the config file before running the binary or before building the docker image (`docker compose up -d --build --force-recreate` will recreate and re-run the updated image)
69+
70+
Detailed explanation of the InterLink config file key values. Edit the config file before running the binary or before
71+
building the docker image (`docker compose up -d --build --force-recreate` will recreate and re-run the updated image)
5272
| Key | Value |
5373
|--------------|-----------|
5474
| InterlinkURL | the URL to allow the Virtual Kubelet to contact the InterLink module. |
5575
| SidecarURL | the URL to allow InterLink to communicate with the Sidecar module (docker, slurm, etc). Do not specify port here |
5676
| InterlinkPort | the Interlink listening port. InterLink and VK will communicate over this port. |
5777
| SidecarPort | the sidecar listening port. Sidecar and Interlink will communicate on this port. Set $SIDECARPORT environment variable to specify a custom one |
5878
| SbatchPath | path to your Slurm's sbatch binary |
59-
| ScancelPath | path to your Slurm's scancel binary |
79+
| ScancelPath | path to your Slurm's scancel binary |
6080
| CommandPrefix | here you can specify a prefix for the programmatically generated script (for the slurm plugin). Basically, if you want to run anything before the script itself, put it here. |
6181
| ExportPodData | Set it to true if you want to export Pod's ConfigMaps and Secrets as mountpoints in your Singularity Container |
6282
| DataRootFolder | Specify where to store the exported ConfigMaps/Secrets locally |
@@ -69,7 +89,9 @@ Detailed explanation of the InterLink config file key values. Edit the config fi
6989
| ErrorsOnlyLogging | Specify if you want to get errors only on logs. True or false values only |
7090

7191
### :wrench: Environment Variables list
72-
Here's the complete list of every customizable environment variable. When specified, it overwrites the listed key within the InterLink config file.
92+
93+
Here's the complete list of every customizable environment variable. When specified, it overwrites the listed key
94+
within the InterLink config file.
7395

7496
| Env | Value |
7597
|--------------|-----------|
@@ -85,4 +107,4 @@ Here's the complete list of every customizable environment variable. When specif
85107
| SHARED_FS | set this env to "true" to save configmaps values inside files directly mounted to Singularity containers instead of using ENVS to create them later |
86108
| CUSTOMKUBECONF | path to a service account kubeconfig |
87109
| TSOCKS | true or false, to use tsocks library allowing proxy networking. Working on Slurm sidecar at the moment. Overwrites Tsocks. |
88-
| TSOCKSPATH | path to your tsocks library. Overwrites TsocksPath. |
110+
| TSOCKSPATH | path to your tsocks library. Overwrites TsocksPath. |

0 commit comments

Comments
 (0)