Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions content/en/docs/contrib/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Troubleshooting
description: Troubleshooting common errors and issues with SpinKube.
weight: 13
aliases:
- /docs/spin-operator/support/troubleshooting
- /docs/spin-operator/support/troubleshooting
---

The following is a list of common error messages and potential troubleshooting suggestions that
Expand All @@ -12,11 +12,11 @@ might assist you with your work.
## No endpoints available for service "spin-operator-webhook-service"

When following the quickstart guide the following error can occur when running the `kubectl apply -f
https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml`
https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml`
command:

```console
Error from server (InternalError): error when creating "https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml": Internal error occurred: failed calling webhook "mspinappexecutor.kb.io": failed to call webhook: Post "https://spin-operator-webhook-service.spin-operator.svc:443/mutate-core-spinkube-dev-v1alpha1-spinappexecutor?timeout=10s": no endpoints available for service "spin-operator-webhook-service"
Error from server (InternalError): error when creating "https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml": Internal error occurred: failed calling webhook "mspinappexecutor.kb.io": failed to call webhook: Post "https://spin-operator-webhook-service.spin-operator.svc:443/mutate-core-spinkube-dev-v1alpha1-spinappexecutor?timeout=10s": no endpoints available for service "spin-operator-webhook-service"
```

To address the error above, first look to see if Spin Operator is running:
Expand Down Expand Up @@ -62,13 +62,13 @@ To resolve this issue, please try to install the Spin Operator again. Except thi
helm upgrade --install spin-operator \
--namespace spin-operator \
--create-namespace \
--version 0.3.0 \
--version 0.4.0 \
--wait \
oci://ghcr.io/spinkube/charts/spin-operator
```

Once the Spin Operator is installed you can try and run the `kubectl apply -f
https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml`
https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml`
command again. The issue should be resolved now.

## Error Validating Data: Connection Refused
Expand Down
11 changes: 6 additions & 5 deletions content/en/docs/install/azure-kubernetes-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ date: 2024-02-16
categories: [Spin Operator]
tags: [Tutorials]
aliases:
- /docs/spin-operator/tutorials/deploy-on-azure-kubernetes-service
- /docs/spin-operator/tutorials/deploy-on-azure-kubernetes-service
---

In this tutorial, you install Spin Operator on an Azure Kubernetes Service (AKS) cluster and deploy
Expand Down Expand Up @@ -84,10 +84,10 @@ installed.

```shell
# Install the CRDs
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml

# Install the Runtime Class
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.runtime-class.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.runtime-class.yaml
```

The following installs [cert-manager](https://github.com/cert-manager/cert-manager) which is
Expand Down Expand Up @@ -130,6 +130,7 @@ helm install \
# Provision Nodes
kubectl annotate node --all kwasm.sh/kwasm-node=true
```

To verify `containerd-wasm-shim` installation, you can inspect the logs from the Kwasm Operator:

```shell
Expand All @@ -148,15 +149,15 @@ namespace:
helm install spin-operator \
--namespace spin-operator \
--create-namespace \
--version 0.3.0 \
--version 0.4.0 \
--wait \
oci://ghcr.io/spinkube/charts/spin-operator
```

Lastly, create the [shim executor]({{< ref "glossary#spin-app-executor-crd" >}})::

```console
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml
```

## Deploying a Spin App to AKS
Expand Down
25 changes: 12 additions & 13 deletions content/en/docs/install/installing-with-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: This guide walks you through the process of installing SpinKube usi
date: 2024-02-16
tags: [Installation]
aliases:
- /docs/spin-operator/installation/installing-with-helm
- /docs/spin-operator/installation/installing-with-helm
---

## Prerequisites
Expand Down Expand Up @@ -61,36 +61,35 @@ here we install the defaults.
representing Spin applications to be scheduled on the cluster.

```shell
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml
```

- Next we create a [RuntimeClass]({{< ref "glossary#runtime-class" >}}) that points to the `spin`
handler called `wasmtime-spin-v2`. If you are deploying to a production cluster that only has a shim
on a subset of nodes, you'll need to modify the RuntimeClass with a `nodeSelector:`:
handler called `wasmtime-spin-v2`. If you are deploying to a production cluster that only has a shim
on a subset of nodes, you'll need to modify the RuntimeClass with a `nodeSelector:`:

```shell
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.runtime-class.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.runtime-class.yaml
```

- Finally, we create a `containerd-spin-shim` [SpinAppExecutor]({{< ref
"glossary#spin-app-executor-crd" >}}). This tells the Spin Operator to use the RuntimeClass we
just created to run Spin Apps:

```shell
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml
```

### Installing the Spin Operator Chart

The following installs the chart with the release name `spin-operator`:


```shell
# Install Spin Operator with Helm
helm install spin-operator \
--namespace spin-operator \
--create-namespace \
--version 0.3.0 \
--version 0.4.0 \
--wait \
oci://ghcr.io/spinkube/charts/spin-operator
```
Expand All @@ -101,7 +100,7 @@ Note that you may also need to upgrade the spin-operator CRDs in tandem with upg
release:

```shell
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml
```

To upgrade the `spin-operator` release, run the following:
Expand All @@ -110,7 +109,7 @@ To upgrade the `spin-operator` release, run the following:
# Upgrade Spin Operator using Helm
helm upgrade spin-operator \
--namespace spin-operator \
--version 0.3.0 \
--version 0.4.0 \
--wait \
oci://ghcr.io/spinkube/charts/spin-operator
```
Expand All @@ -130,7 +129,7 @@ To completely uninstall all resources related to spin-operator, you may want to
corresponding CRD resources and the RuntimeClass:

```shell
kubectl delete -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml
kubectl delete -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.runtime-class.yaml
kubectl delete -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
kubectl delete -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml
kubectl delete -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.runtime-class.yaml
kubectl delete -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml
```
29 changes: 15 additions & 14 deletions content/en/docs/install/microk8s.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,15 @@ Now we’re ready to install the SpinKube environment for running Spin applicati

### Installing SpinKube

SpinKube provides the entire toolkit for running Spin serverless apps. You may want to familiarize
SpinKube provides the entire toolkit for running Spin serverless apps. You may want to familiarize
yourself with the [SpinKube quickstart](https://www.spinkube.dev/docs/install/quickstart/) guide
before proceeding.

First, we need to apply a runtime class and a CRD for SpinKube:

```console { data-plausible="copy-quick-deploy-sample" }
$ microk8s kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.runtime-class.yaml
$ microk8s kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
$ microk8s kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.runtime-class.yaml
$ microk8s kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml
```

Both of these should apply immediately.
Expand All @@ -89,15 +89,15 @@ $ microk8s kubectl annotate node --all kwasm.sh/kwasm-node=true
Next, we need to install SpinKube’s operator using Helm (which is included with Microk8s).

```console { data-plausible="copy-quick-deploy-sample" }
$ microk8s helm install spin-operator --namespace spin-operator --create-namespace --version 0.3.0 --wait oci://ghcr.io/spinkube/charts/spin-operator
$ microk8s helm install spin-operator --namespace spin-operator --create-namespace --version 0.4.0 --wait oci://ghcr.io/spinkube/charts/spin-operator

```

Now we have the main operator installed. There is just one more step. We need to install the shim
executor, which is a special CRD that allows us to use multiple executors for WebAssembly.

```console { data-plausible="copy-quick-deploy-sample" }
$ microk8s kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml
$ microk8s kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml

```

Expand All @@ -113,6 +113,7 @@ is by creating a simple `SpinApp` resource. Let's use the simple example from Sp
```console { data-plausible="copy-quick-deploy-sample" }
$ microk8s kubectl apply -f https://raw.githubusercontent.com/spinkube/spin-operator/main/config/samples/simple.yaml
```

The above installs a simple `SpinApp` YAML that looks like this:

```yaml
Expand Down Expand Up @@ -192,15 +193,15 @@ metadata:
name: http-ingress
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: simple-spinapp
port:
number: 80
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: simple-spinapp
port:
number: 80
```

Install the above with `microk8s kubectl -f ingress.yaml`. After a moment or two, you should be able
Expand Down
14 changes: 7 additions & 7 deletions content/en/docs/install/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ title: Quickstart
description: Learn how to setup a Kubernetes cluser, install SpinKube and run your first Spin App.
weight: 2
aliases:
- /docs/quickstart
- /docs/spin-operator/quickstart
- /docs/quickstart
- /docs/spin-operator/quickstart
---

This Quickstart guide demonstrates how to set up a new Kubernetes cluster, install the SpinKube and
Expand All @@ -28,7 +28,7 @@ For this Quickstart guide, you will need:
[containerd-shim-spin](https://github.com/spinkube/containerd-shim-spin) prerequisite already
installed:

```console { data-plausible="copy-quick-create-k3d" }
```console { data-plausible="copy-quick-create-k3d" }
k3d cluster create wasm-cluster \
--image ghcr.io/spinkube/containerd-shim-spin/k3d:v0.16.0 \
--port "8081:80@loadbalancer" \
Expand All @@ -55,14 +55,14 @@ kubectl wait --for=condition=available --timeout=300s deployment/cert-manager-we
> every node.

```console { data-plausible="copy-quick-apply-runtime-class" }
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.runtime-class.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.runtime-class.yaml
```

4. Apply the [Custom Resource Definitions]({{< ref "glossary#custom-resource-definition-crd" >}})
used by the Spin Operator:

```console { data-plausible="copy-quick-apply-crd" }
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml
```

## Deploy the Spin Operator
Expand All @@ -77,15 +77,15 @@ and pods are spinning up.
helm install spin-operator \
--namespace spin-operator \
--create-namespace \
--version 0.3.0 \
--version 0.4.0 \
--wait \
oci://ghcr.io/spinkube/charts/spin-operator
```

Lastly, create the [shim executor]({{< ref "glossary#spin-app-executor-crd" >}}):

```console { data-plausible="copy-quick-create-shim-executor" }
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml
```

## Run the Sample Application
Expand Down
27 changes: 14 additions & 13 deletions content/en/docs/topics/autoscaling/scaling-with-hpa.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ date: 2024-02-16
categories: [Spin Operator]
tags: [Tutorials, Autoscaling]
aliases:
- /docs/spin-operator/tutorials/scaling-with-hpa
- /docs/spin-operator/tutorials/scaling-with-hpa
---

Horizontal scaling, in the Kubernetes sense, means deploying more pods to meet demand (different
Expand Down Expand Up @@ -64,8 +64,8 @@ helm install \
--version v1.14.3
```

Next, run the following commands to install the Spin [Runtime Class]({{<ref "glossary#runtime-class"
>}}) and Spin Operator [Custom Resource Definitions (CRDs)]({{<ref
Next, run the following commands to install the Spin [Runtime Class]({{<ref
"glossary#runtime-class">}}) and Spin Operator [Custom Resource Definitions (CRDs)]({{<ref
"glossary#custom-resource-definition-crd">}}):

> Note: In a production cluster you likely want to customize the Runtime Class with a `nodeSelector`
Expand All @@ -74,10 +74,10 @@ Next, run the following commands to install the Spin [Runtime Class]({{<ref "glo

```console
# Install the RuntimeClass
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.runtime-class.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.runtime-class.yaml

# Install the CRDs
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.crds.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.crds.yaml
```

Lastly, install Spin Operator using `helm` and the [shim executor]({{< ref
Expand All @@ -88,12 +88,12 @@ Lastly, install Spin Operator using `helm` and the [shim executor]({{< ref
helm install spin-operator \
--namespace spin-operator \
--create-namespace \
--version 0.3.0 \
--version 0.4.0 \
--wait \
oci://ghcr.io/spinkube/charts/spin-operator

# Install the shim executor
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.3.0/spin-operator.shim-executor.yaml
kubectl apply -f https://github.com/spinkube/spin-operator/releases/download/v0.4.0/spin-operator.shim-executor.yaml
```

Great, now you have Spin Operator up and running on your cluster. This means you’re set to create
Expand Down Expand Up @@ -180,6 +180,7 @@ spec:
```

For more information about HPA, please visit the following links:

- [Kubernetes Horizontal Pod
Autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
- [Kubernetes HorizontalPodAutoscaler
Expand Down Expand Up @@ -218,12 +219,12 @@ spec:
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
```

Let’s deploy the SpinApp and the HPA instance onto our cluster (using the above `.yaml`
Expand Down
Loading