Skip to content

Latest commit

 

History

History
101 lines (73 loc) · 7.02 KB

File metadata and controls

101 lines (73 loc) · 7.02 KB

Helm

Overview

Helm is the preferred method for installing the operator.

Installation

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.

Prerequisites

  • Kubernetes: >=1.16.0-0
  • Helm v3

Installation steps

  1. Add the Gravitee Helm Chart repo:

    helm repo add graviteeio https://helm.gravitee.io
  2. Install the chart with the release name graviteeio-gko:

    helm install graviteeio-gko graviteeio/gko

Upgrading the Operator

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

Configuration parameters

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.

NameDescriptionValue
serviceAccount.createSpecifies if a service account should be created for the manager pod.true
serviceAccount.nameSpecifies 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.createSpecifies if RBAC resources should be created.true
rbac.skipClusterRolesSpecifies if cluster roles should be created when RBAC resources are created.false
{% endtab %}

{% 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
NameDescriptionValue
ingress.templates.404.nameName of the ConfigMap storing the HTTP 404 ingress response template.""
ingress.templates.404.namespaceNamespace of the ConfigMap storing the HTTP 404 ingress response template.""
{% endtab %} {% endtabs %}