You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -87,12 +90,38 @@ SSD-equipped nodes are highly recommended. Full list of CloudLab nodes can be fo
87
90
>
88
91
> This script can print `Command failed` when creating the devmapper at the end. This can be safely ignored.
89
92
93
+
>**Note:**
94
+
>
95
+
> [eStargz](https://github.com/containerd/stargz-snapshotter/tree/cmd/v0.12.1) is a
96
+
> lazily-pullable image format developed to improve the performance of container boot-ups by
97
+
> making better usage of the layering structure of container images. The image format is
98
+
> compatible to [OCI](https://github.com/opencontainers/image-spec/)/[Docker](https://github.com/moby/moby/blob/master/image/spec/v1.2.md) images, therefore it allows pushing images to
99
+
> standard container registries.
100
+
> To enable runs with `stargz` images, setup kubelet by adding the `stock-only` and `use-stargz`
101
+
> flags as follows:
102
+
>```bash
103
+
> ./scripts/cloudlab/setup_node.sh stock-only use-stargz >>(tee -a /tmp/vhive-logs
104
+
> setup_worker_kubelet.stdout)2>>(tee -a /tmp/vhive-logs/setup_worker_kubelet.stderr >&2)
105
+
>```
106
+
>**IMPORTANT**
107
+
> Currently `stargz` is only supported in native kubelet contexts without firecracker.
108
+
> Therefore, the following steps from this guide must **not** be executed:
109
+
>*`2.3`,
110
+
>*`2.4`,
111
+
>*`2.5`.
112
+
113
+
90
114
### 2. Setup Worker Nodes
91
115
**On each worker node**, execute the following instructions below **as a non-root user with sudo rights** using **bash**:
92
116
1. Run the script that setups kubelet:
93
117
```bash
94
118
./scripts/cluster/setup_worker_kubelet.sh >>(tee -a /tmp/vhive-logs/setup_worker_kubelet.stdout)2>>(tee -a /tmp/vhive-logs/setup_worker_kubelet.stderr >&2)
95
119
```
120
+
>**IMPORTANT:**
121
+
> If step `1.3` was executed with the `stock-only` flag, execute the following instead:
122
+
>```bash
123
+
> ./scripts/cluster/setup_worker_kubelet.sh stock-only >>(tee -a /tmp/vhive-logs/setup_worker_kubelet.stdout)2>>(tee -a /tmp/vhive-logs/setup_worker_kubelet.stderr >&2)
124
+
>```
96
125
2. Start `containerd`in a background terminal named `containerd`:
97
126
```bash
98
127
sudo screen -dmS containerd bash -c "containerd > >(tee -a /tmp/vhive-logs/containerd.stdout) 2> >(tee -a /tmp/vhive-logs/containerd.stderr >&2)"
@@ -149,7 +178,7 @@ SSD-equipped nodes are highly recommended. Full list of CloudLab nodes can be fo
149
178
```bash
150
179
sudo screen -dmS containerd bash -c "containerd > >(tee -a /tmp/vhive-logs/containerd.stdout) 2> >(tee -a /tmp/vhive-logs/containerd.stderr >&2)"
151
180
```
152
-
2. Run the script that creates the multinode cluster:
181
+
2. Run the script that creates the multinode cluster (without `stargz`):
153
182
```bash
154
183
./scripts/cluster/create_multinode_cluster.sh > >(tee -a /tmp/vhive-logs/create_multinode_cluster.stdout) 2> >(tee -a /tmp/vhive-logs/create_multinode_cluster.stderr >&2)
155
184
```
@@ -168,6 +197,14 @@ SSD-equipped nodes are highly recommended. Full list of CloudLab nodes can be fo
168
197
> ```
169
198
> Please copy the both lines of this command.
170
199
200
+
> **IMPORTANT:**
201
+
> If you built the cluster using the `stock-only` flag, execute the following
202
+
> script instead:
203
+
> ```bash
204
+
> ./scripts/cluster/create_multinode_cluster.sh stock-only > >(tee -a /tmp/vhive-logs/
205
+
> create_multinode_cluster.stdout) 2> >(tee -a /tmp/vhive-logs/create_multinode_cluster.stderr >&2)
206
+
> ```
207
+
171
208
### 4. Configure Worker Nodes
172
209
**On each worker node**, execute the following instructions below **as a non-root user with sudo rights** using **bash**:
173
210
@@ -207,6 +244,18 @@ Execute the following below **as a non-root user with sudo rights** using **bash
207
244
```bash
208
245
./scripts/cloudlab/setup_node.sh;
209
246
```
247
+
> **Note:**
248
+
> To enable runs with `stargz` images, setup kubelet by adding the `stock-only` and `use-stargz`
This script stops the existing cluster if any, cleans up and then starts a fresh single-node cluster.
242
303
@@ -289,6 +350,24 @@ for benchmarking asynchronous (i.e., Knative Eventing) case and more details abo
289
350
### 3. Delete Deployed Functions
290
351
**On the master node**, execute the following instructions below using **bash**:
291
352
353
+
1. Delete **all** deployed functions:
354
+
```bash
355
+
kn service delete --all
356
+
```
357
+
358
+
## V. Deploying eStargz-based Functions
359
+
This section provides an example function run using a `nodejs` base image that has been converted to the `stargz` format. To create other images supported by `stargz`, please refer to the [creating-estargz-images-using-ctr-remote](https://github.com/containerd/stargz-snapshotter/tree/cmd/v0.12.1#creating-estargz-images-using-ctr-remote) section of the official `stargz` repository.
360
+
### 1. Deploy and Invoke Functions
361
+
**On the master node**, execute the following using **bash**:
362
+
363
+
```bash
364
+
kn service apply <name> -f <yaml_config_path> --concurrency-target 1
365
+
```
366
+
367
+
Interact with the deployed function from any node using the exposed interface of the deployed function.
368
+
### 2. Delete Deployed Function
369
+
**On the master node**, execute the following using **bash**:
0 commit comments