Helm is the preferred method for installing the operator.
The steps to install the GKO on an existing Kubernetes cluster are described below. The Helm Chart is released with each new version of the operator, meaning that upgrading to the latest version consists of upgrading your Helm repository and Helm releases.
- Kubernetes:
>=1.16.0-0
- Helm v3
-
Add the Gravitee Helm Chart repo:
helm repo add graviteeio https://helm.gravitee.io
-
Install the chart with the release name
graviteeio-gko
:helm install graviteeio-gko graviteeio/gko
Assuming that the repository has been aliased as graviteeio
and that the release name is graviteeio-gko
:
$ helm repo update graviteeio
$ helm upgrade --install graviteeio-gko graviteeio/gko
The Gravitee Kubernetes Operator Helm Chart supports configuration of the following:
{% tabs %} {% tab title="RBAC" %} Required RBAC resources are created by default for all components involved in the release.
Name | Description | Value |
---|---|---|
serviceAccount.create | Specifies if a service account should be created for the manager pod. | true |
serviceAccount.name | Specifies the service account name to use. If the operator is deployed in multiple namespaces by setting scope.cluster to false , a different service account name must be used for each installation. | gko-controller-manager |
rbac.create | Specifies if RBAC resources should be created. | true |
rbac.skipClusterRoles | Specifies if cluster roles should be created when RBAC resources are created. | false |
{% tab title="RBAC Proxy" %} Kube RBAC Proxy is deployed as a sidecar container and restricts access to the Prometheus metrics endpoint.
{% hint style="warning" %} If this is disabled, the Prometheus metrics endpoint will be exposed with no access control at all. {% endhint %}
Name | Description | Value |
---|---|---|
rbacProxy.enabled |
Specifies if the kube-rbac-proxy sidecar should be enabled. |
true |
rbacProxy.image.repository |
Specifies the Docker registry and image name to use. | quay.io/brancz/kube-rbac-proxy |
rbacProxy.image.tag |
Specifies the Docker image tag to use. | v0.14.3 |
{% endtab %} |
{% tab title="Controller Manager" %} Use these parameters to configure the deployment and the ways in which the operator will interact with APIM and custom resources in your cluster.
Name | Description | Value |
---|---|---|
manager.image.repository |
Specifies the Docker registry and image name to use. | graviteeio/kubernetes-operator |
manager.image.tag |
Specifies the Docker image tag to use. | latest |
manager.log.json |
If true, the manager logs will be written in JSON format. | true |
manager.configMap.name |
The name of the ConfigMap used to set the manager config from these values. | gko-config |
manager.resources.limits.cpu |
The CPU resource limits for the GKO Manager container. | 500m |
manager.resources.limits.memory |
The memory resources limits for the GKO Manager container. | 128Mi |
manager.resources.requests.cpu |
The requested CPU for the GKO Manager container. | 5m |
manager.resources.requests.memory |
The requested memory for the GKO Manager container. | 64Mi |
manager.scope.cluster |
Use false to listen only in the release namespace. |
true |
manager.metrics.enabled |
If true, a metrics server will be created so that metrics can be scraped using Prometheus. | true |
manager.probe.port |
The port the readiness and liveness probes will listen to. | 8081 |
manager.httpClient.insecureSkipCertVerify |
If true, the manager HTTP client will not verify the certificate used by the Management API. | false |
{% endtab %} |
{% tab title="Ingress" %} Use the following parameters to configure the behavior of the ingress controller.
When storing templates in ConfigMaps, the ConfigMap should contain a content
key and a contentType
key, for example:
content: '{ "message": "Not Found" }'
contentType: application/json
Name | Description | Value |
---|---|---|
ingress.templates.404.name | Name of the ConfigMap storing the HTTP 404 ingress response template. | "" |
ingress.templates.404.namespace | Namespace of the ConfigMap storing the HTTP 404 ingress response template. | "" |