nevrax / kwasm-node-installer

Installs KWasm on Kubernetes nodes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KWasm-node-installer

The KWasm Node Installer is a container image that contains binaries and configuration to enable a Kubernetes node to run pure webassembly images.

WARNING: Not meant to be used in production!

Since this installer changes the configuration of the node it can make a node unusable. We recommend using a fresh KinD/MiniKube/MicroK8s or a managed cloud service like AKS/GKE/EKS.

Supported Kubernetes distributions

  • KinD
  • MiniKube
  • MicroK8s
  • Azure AKS
  • GCP GKE (Ubuntu Nodes)
  • AWS EKS (Ubuntu Nodes)
  • Digital Ocean Kubernetes

Currently not supported Kubernetes distributions

  • K3d
  • AWS EKS
  • OCI OKE

Quickstart

KinD

Prerequisites:

  • Docker
  • KinD
  • kubectl
kind create cluster

# As default crun-wasmedge is used for installation.
kubectl apply -f https://raw.githubusercontent.com/KWasm/kwasm-node-installer/main/example/daemonset.yaml


kubectl apply -f https://raw.githubusercontent.com/KWasm/kwasm-node-installer/main/example/test-job.yaml

How to build

The dockerfile images/installer/Dockerfile has multiple stages by building it you create an image that contains a crun version built with WasmEdge support and one with WasmTime. If you only need one of them you can use a different stage with the target parameter --target crun-wasmedge or --target crun-wasmtime.

docker build . -f images/installer/Dockerfile -t kwasm/kwasm-installer

About

Installs KWasm on Kubernetes nodes.

License:Apache License 2.0


Languages

Language:Dockerfile 50.3%Language:Shell 49.7%