This is a contributor-led experimental project and is not recommended to run in production at this time.
With each tag, it works fine, but there may be incompatible changes between tags.
Combining WasmCloud with Kubernetes
- Deploy Nats
helm repo add nats https://nats-io.github.io/k8s/helm/charts/
helm repo update
helm upgrade --install kasmcloud-nats nats/nats
- Deploy KasmCloud CRDs and Webhook Server
kubectl apply -f ./deploy/crds
kubectl apply -f ./deploy/webhook
- Deploy KasmCloud Host
kubectl apply -f ./deploy/kasmcloud_host_rbac.yaml
# Deploy Default KasmCloud Host
kubectl apply -f ./deploy/kasmcloud_host_default.yaml
# [Optional] You can also deploy KasmCloud Host in each Kubernetes node.
kubectl apply -f ./deploy/kasmcloud_host_daemonset.yaml
# [Optional] You can also deploy as many temporary hosts as you want
# and change the number of temporary hosts by scaling the Deployment
kubectl apply -f ./deploy/kasmcloud_host_deployment.yaml
- Deploy Actor, Link and Provider Sample
kubectl apply -f ./sample.yaml
kubectl get kasmcloud
OUTPUT:
NAME DESC PUBLICKEY REPLICAS AVAILABLEREPLICAS CAPS IMAGE
actor.kasmcloud.io/echo-default Echo MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 10 10 ["wasmcloud:httpserver","wasmcloud:builtin:logging"] wasmcloud.azurecr.io/echo:0.3.8
NAME CONTRACTID LINK ACTORYKEY PROVIDERKEY
link.kasmcloud.io/httpserver-echo wasmcloud:httpserver test MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M
NAME DESC PUBLICKEY LINK CONTRACTID IMAGE
provider.kasmcloud.io/httpserver-default HTTP Server VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M test wasmcloud:httpserver ghcr.io/iceber/wasmcloud/httpserver:0.17.0-index
- curl echo server
# other terminal
kubectl port-forward pod/kasmcloud-host-default 8080:8080
curl 127.0.0.1:8080
{"body":[],"method":"GET","path":"/","query_string":""}
- Add KasmCloudHost resource
- Add status information for the resource
- Add Kasmcloud Repeater module
- Add rolling updates for Actor
- Add DaemonSet deployment for Actor
- Blue/Green Deployment for Actors and Providers