Install knative and WASMEdge on IBM Cloud

  1. Create a cluster called knawd-k8s on IBM Cloud. For full instructions see

  2. Install the IBM Cloud Cli. The instructions please ensure you install the

  3. Install the kubernetes service plugin

  4. Once the cluster is complete login with the ibmcloud cli

    ibm cloud login
  5. Now configure the kubectl connection

    ibmcloud ks cluster config -c knawd-k8s
  6. We are going to follow a summary of the instructions for the knative website.

  7. Install the custom resource definitions which are the objects such as service that you will use to deploy an app.

    kubectl apply -f
  8. Then install the knative serving core

    kubectl apply -f
  9. Now we install the networking layer

    kubectl apply -f
  10. And Patch the knative space

    kubectl patch configmap/config-network \
     --namespace knative-serving \
     --type merge \
     --patch '{"data":{"ingress-class":""}}'
  11. Finally configure dns

    kubectl apply -f
  12. Patch the knative service to allow for the crun runtime to be specified as an attribute in the service.

    kubectl patch configmap/config-features -n knative-serving --type merge --patch '{"data":{"kubernetes.podspec-runtimeclassname":"enabled"}}'
  13. Now run install the deployment project

    git clone
    cd wasi-crun-deployer/charts/wasi-crun-deployer
    helm install wasi-crun-deployer . --create-namespace --namespace knawd --set job.autoRestart=true
  14. Finally run the tempate helloworld service.

    git clone
    cd helloworld-rust-wasi
    kubectl apply -f service.yaml
  15. Get the external IP of the kourier network

    kubectl get svc kourier -n kourier-system
    NAME      TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                      AGE
    kourier   LoadBalancer   80:32294/TCP,443:31406/TCP   44m
  16. Visit the endpoint generated buy -

    Hello Rust Sample v1