Skip to content

Commit e1b72c8

Browse files
committed
Add conceptual architecture image
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
1 parent 04f67b6 commit e1b72c8

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

_posts/2021-04-08-bring-gitops-to-your-openfaas-functions-with-argocd.md

+18-19
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,25 @@ We have [previously looked at FluxCD with OpenFaaS](https://www.openfaas.com/blo
3535

3636
You can read more about ArgoCD on the [project homepage](https://argoproj.github.io/argo-cd/).
3737

38-
## Introducing the OpenFaaS Operator
38+
## Tutorial
39+
40+
In this section, we are going to create two application for ArgoCD, first one is OpenFaaS Operator, the second one is the repository that holds OpenFaaS functions manifest files.
41+
42+
ArgoCD can work against Kubernetes manifests in a various ways including kustomize, ksonnet, jsonnet, as well as other plugins which can generate YAML files that Kubernetes can apply. Today, we will be using a Helm chart and YAML manifests.
43+
44+
We will use the OpenFaaS [Helm Chart](https://github.com/openfaas/faas-netes) to deploy OpenFaaS and its Operator. Once OpenFaaS Operator is deployed, we can use the _Custom Resource_ called _"Function"_ in order to define our OpenFaaS functions like any other Kubernetes resources such as Deployment, Pod etc.
45+
46+
In the second part, we'll to use plain manifests to deploy OpenFaaS functions. A dedicated chart can also be created for deploying functions.
47+
48+
### Conceptual architecture
49+
50+
![Conceptual architecture](/images/2021-04-08-bring-gitops-to-your-openfaas-functions-with-argocd/conceptual.jpg)
51+
52+
> Conceptual architecture: ArgoCD monitoring two repositories and deploying OpenFaaS along with a set of functions
53+
54+
### A recap on the OpenFaaS Operator
3955

40-
The normal installation of OpenFaaS uses its REST API to create functions using the CLI, REST API or UI. It also has a mode called "operator mode" where a Custom Resource can be used with `kubectl` to apply and deploy functions.
56+
We need to use the Operator, because Argo can only apply Kubernetes YAML files, and cannot use the OpenFaaS REST API at this time. The normal installation of OpenFaaS uses its REST API to create functions using the CLI, REST API or UI. It also has a mode called "operator mode" where a Custom Resource can be used with `kubectl` to apply and deploy functions.
4157

4258
```yaml
4359
apiVersion: openfaas.com/v1
@@ -58,23 +74,6 @@ functions, defined as a collection of custom resources, with the actual state of
5874

5975
To get more detail please refer to this [link](https://blog.alexellis.io/introducing-the-openfaas-operator/).
6076

61-
## Tutorial
62-
63-
In this section, we are going to create two application for ArgoCD, first one is OpenFaaS Operator, the second one is the repository that holds OpenFaaS functions manifest files.
64-
65-
ArgoCD can work against Kubernetes manifests in a various ways:
66-
67-
* kustomize applications
68-
* helm charts
69-
* ksonnet applications
70-
* jsonnet files
71-
* Plain directory of YAML/json manifests
72-
* Any custom config management tool configured as a config management plugin
73-
74-
So, we are going to use the OpenFaaS [Helm Chart](https://github.com/openfaas/faas-netes) to deploy OpenFaaS and ist Operator. Once OpenFaaS Operator is deployed, we can use the _Custom Resource_ called _"Function"_ in order to define our OpenFaaS functions like any other Kubernetes resources such as Deployment, Pod etc.
75-
76-
In the second part, we'll to use plain manifests to deploy OpenFaaS functions. A dedicated chart can also be created for deploying functions.
77-
7877
### Prerequisites
7978

8079
Once we have arkade, we can create a cluster and install ArgoCD. If you prefer, you can also manually download all the tools required, and find the instructions for ArgoCD's helm chart.

argo-openfaas.jpg

80.1 KB
Loading

argo-openfaas.png

141 KB
Loading
Loading

0 commit comments

Comments
 (0)