mirror of
https://github.com/openfaas/faas.git
synced 2025-06-16 12:16:47 +00:00
Create deployment_k8s.md
This commit is contained in:
parent
b6002e1c85
commit
907a55f60d
72
guide/deployment_k8s.md
Normal file
72
guide/deployment_k8s.md
Normal file
@ -0,0 +1,72 @@
|
||||
# Deployment guide for Kubernetes
|
||||
|
||||
> Note: The best place to start is the README file in the faas or faas-netes repo.
|
||||
|
||||
## Kubernetes
|
||||
|
||||
### Build a cluster
|
||||
|
||||
You can start evaluating FaaS and building functions on your laptop or on a VM (cloud or on-prem).
|
||||
|
||||
* [10 minute guides for minikube / kubeadm](https://blog.alexellis.io/tag/k8s/)
|
||||
|
||||
### Deploy OpenFaaS
|
||||
|
||||
* Clone the code
|
||||
|
||||
```
|
||||
$ git clone https://github.com/alexellis/faas-netes
|
||||
```
|
||||
|
||||
* Deploy the services
|
||||
|
||||
```
|
||||
$ cd faas-netes
|
||||
$ kubectl apply -f ./faas.yml,monitoring.yml,rbac.yml
|
||||
```
|
||||
|
||||
That's it. You now have OpenFaaS deployed.
|
||||
|
||||
For simplicity the default configuration uses NodePorts rather than an IngressController (which is more complicated to setup).
|
||||
|
||||
| Service | TCP port |
|
||||
--------------------|----------|
|
||||
| API Gateway / UI | 31112 |
|
||||
| Prometheus | 31119 |
|
||||
|
||||
> If you're an advanced Kubernetes user, you can add an IngressController to your stack and remove the NodePort assignments.
|
||||
|
||||
* Deploy a sample function
|
||||
|
||||
There are currently no sample functions built into this stack, but we can deploy them quickly via the UI or FaaS-CLI.
|
||||
|
||||
**Use the CLI**
|
||||
|
||||
Follow the tutorial below, but change your gateway URL from localhost:8080 to kubernetes-node-ip:31112
|
||||
|
||||
i.e.
|
||||
|
||||
```
|
||||
provider:
|
||||
name: faas
|
||||
gateway: http://192.168.4.95:31112
|
||||
```
|
||||
|
||||
[Your first serverless Python function with OpenFaaS](https://blog.alexellis.io/first-faas-python-function/)
|
||||
|
||||
You can also deploy the samples from the [FaaS-cli](https://github.com/alexellis/faas-cli), but change the gateway address as above.
|
||||
|
||||
**Use the UI**
|
||||
|
||||
Click "New Function" and fill it out with the following:
|
||||
|
||||
| Field | Value |
|
||||
-------------|------------------------------|
|
||||
| Service | nodeinfo |
|
||||
| Image | functions/nodeinfo:latest |
|
||||
| fProcess | node main.js |
|
||||
| Network | default |
|
||||
|
||||
* Test the function
|
||||
|
||||
Your function will appear after a few seconds and you can click "Invoke"
|
Loading…
x
Reference in New Issue
Block a user