A Kubernetes-Native way to run pulsar functions, connectors and composed function meshes.
curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.22.0/install.sh | bash
The above command installs all the CRDs, required service account configuration, and all function-mesh operator components. Before you start running a function-mesh example, verify if Function Mesh is installed correctly.
Note:
install.sh is suitable for trying Function Mesh out. If you want to use Function Mesh in production or other serious scenarios, Helm is the recommended deployment method.
This table outlines the supported Kubernetes versions. We have tested these versions in their respective branches. But note that other versions might work as well.
Function Mesh operator | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | Kubernetes 1.24 | Kubernetes 1.25 |
---|---|---|---|---|---|---|---|
v0.20.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.19.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.18.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.17.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.16.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.15.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.14.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.13.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.12.0 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
v0.11.2 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Master |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
git clone https://github.com/streamnative/function-mesh.git
Note
The following command will generate the scaffolding files in the
api/<version>/
path, in this caseapi/v1alpha1
, and then you need to move the files contained in it to theapi/<group>/<version>
directory manually, in this caseapi/compute/v1alpha1
.
operator-sdk create api --group compute --version v1alpha1 --kind Function --resource=true --controller=true
operator-sdk create webhook --group compute.functionmesh.io --version v1alpha1 --kind Function --defaulting --programmatic-validation
gcloud container clusters get-credentials cluster-1 --region $CLUSTER_REGION --project $PROJECT_ID
make generate
make install
make run
./config/samples
directory
kubectl apply -f config/samples/compute_v1alpha1_function.yaml
kubectl
, and you will see the function pod is running
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/function-sample-0 1/1 Running 0 77s