https://github.com/jsturtevant/azure-functions-kubernetes-chart
A chart for Azure Functions running on Kubernetes
https://github.com/jsturtevant/azure-functions-kubernetes-chart
azure azure-functions helm-charts kubernetes serverless
Last synced: about 2 months ago
JSON representation
A chart for Azure Functions running on Kubernetes
- Host: GitHub
- URL: https://github.com/jsturtevant/azure-functions-kubernetes-chart
- Owner: jsturtevant
- License: mit
- Created: 2017-11-30T23:08:02.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-01T18:57:48.000Z (over 7 years ago)
- Last Synced: 2025-02-11T11:42:16.803Z (3 months ago)
- Topics: azure, azure-functions, helm-charts, kubernetes, serverless
- Language: Smarty
- Size: 5.86 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Helm Chart for Azure Functions on Kubernetes
## Installing
There are a few settings you should override:- `functionApp.name` - name of your function apps your using
- `resources.requests.cpu` - required for Pod Autoscaler to work
- `image.repository` - Should be your image with your function app running in it (see http://www.jamessturtevant.com/posts/Running-the-Azure-Functions-runtime-in-kubernetes/ for creating a docker image with the azure functions runtime in it)
- `scale.maxReplicas` - max number of replicas
- `scale.minReplicas` - min number of replicas
- `scale.cpuUtilizationPercentage` - cpu percentageAn example would be:
```bash
helm install --set functionApp.name=sampleapp \
--set resources.requests.cpu=200m \
--set image.repository=vyta/functions \
--set scale.maxReplicas=10 \
--set scale.minReplicas=1 \
--set scale.cpuUtilizationPercentage=50 \
./az-func-k8
```## Debugging
If you want to see what install might look like:```bash
helm install --debug --dry-run --set resources.requests.cpu=200m ./az-func-k8
```## Test the scaling
Test that the scaling works:```bash
docker run -it busybox /bin/sh
#
\#: while true; do wget -q -O- http:///api/httpfunction?name=testingload; done
```In a separate terminal run:
```bash
kubectl get hpa
kubectl get deploy
```