Custom Installation

The istio-operator relies on a custom resource to set up Istio. This configuration gets passed to an ansible playbook which will then set up your environment.

Minimal Example

At a minimum, the following arguments are required.

apiVersion: "istio.openshift.com/v1alpha1"
kind: "Installation"
metadata:
  name: "istio-installation"
  namespace: istio-operator

Complete Example

Below, you can an example with all supported arguments populated.

apiVersion: "istio.openshift.com/v1alpha1"
kind: "Installation"
metadata:
  name: "istio-installation"
  namespace: istio-operator
spec:
  deployment_type: openshift
  istio:
    authentication: true
    community: false
    prefix: openshift-istio-tech-preview/
    version: 0.9.0
  jaeger:
    prefix: distributed-tracing-tech-preview/
    version: 1.11.0
    elasticsearch_memory: 1Gi
  kiali:
    prefix: openshift-istio-tech-preview/
    version: 0.15.0
    username: username
    password: password
  launcher:
    openshift:
      user: user
      password: password
    github:
      username: username
      token: token
    catalog:
      filter: booster.mission.metadata.istio
      branch: v85
      repo: https://github.com/fabric8-launcher/launcher-booster-catalog.git
  threeScale:
    enabled: false
    prefix: openshift-istio-tech-preview/
    version: 0.4.1
    adapter:
      listenAddr: 3333
      logLevel: info
      logJSON: true
      reportMetrics: true
      metricsPort: 8080
      cacheTTLSeconds: 300
      cacheRefreshSeconds: 180
      cacheEntriesMax: 1000
      cacheRefreshRetries: 1
      allowInsecureConn: false
      clientTimeoutSeconds: 10

General

Parameter Description Values Default

deployment_type

Selects whether to use OpenShift or Origin default values for unset fields

origin, openshift

origin

Istio

Parameter Description Values Default

authentication

Whether to enable mutual authentication

true/false

false

community

Whether to modify image names to match community images.

true/false

false

prefix

a prefix to apply to Istio image names used in docker pull.

valid image repo

maistra/ if deployment_type is origin and openshift-istio-tech-preview/ if deployment_type is openshift

version

docker tag to use with Istio images

valid docker tag

0.9.0

Jaeger

Parameter Description Values Default

prefix

a prefix to apply to Jaeger image names used in docker pull.

valid image repo

jaegertracing/ if deployment_type is origin and distributed-tracing-tech-preview/ if deployment_type is openshift

version

docker tag to use with Jaeger images

valid docker tag

1.11 if deployment_type is origin and 1.11.0 if deployment_type is openshift

elasticsearch_memory

The amount of memory to allocate to the elastic search install

amount of memory to use (example: 1Gi, 512M)

1Gi

Kiali

Parameter Description Values Default

username

username used to access the Kiali console. Note that this is not related to any account on OpenShift

password

password used to access the Kiali console. Note that this is not related to any account on OpenShift.

prefix

a prefix to apply to Kiali image names used in docker pull.

valid image repo

kiali/ if deployment_type is origin and openshift-istio-tech-preview/ if deployment_type is openshift

version

docker tag to use with Kiali images

valid Kiali tag

v0.15.0 if deployment_type is origin and 0.15.0 if deployment_type is openshift

Launcher

Openshift

Parameter Description Default

user

OpenShift user to use in Fabric8

developer

password

OpenShift user password to use in Fabric8

developer

Github

Parameter Description Default

username

GitHub user to use in Fabric8

token

GitHub token to use in Fabric8

Catalog

Parameter Description Default

filter

Red Hat booster catalog filter

booster.mission.metadata.istio

branch

Red Hat Booster catalog to use for Fabric8

v85

repo

Repo to use for Fabric8

https://github.com/fabric8-launcher/launcher-booster-catalog.git

ThreeScale

Parameter Description Values Default

enabled

Whether to install the 3scale adapter

true/false

false

prefix

a prefix to apply to the 3scale adapter image name used in docker pull.

valid image repo

quay.io/3scale/ if deployment_type is origin and openshift-istio-tech-preview/ if deployment_type is openshift

version

docker tag to use with the 3scale adapter image

valid docker tag

0.4.1

Adapter

Parameter Description Default

listenAddr

Sets the listen address for the gRPC server

3333

logLevel

Sets the minimum log output level. Accepted values are one of debug,info,warn,error,none

info

logJSON

Controls whether the log is formatted as JSON

true

reportMetrics

Controls whether 3scale system and backend metrics are collected and reported to Prometheus

true

metricsPort

Sets the port which 3scale /metrics endpoint can be scrapped from

8080

cacheTTLSeconds

Time period, in seconds, to wait before purging expired items from the cache

300

cacheRefreshSeconds

Time period before expiry, when cache elements are attempted to be refreshed

180

cacheEntriesMax

Max number of items that can be stored in the cache at any time. Set to 0 to disable caching

1000

cacheRefreshRetries

Sets the number of times unreachable hosts will be retried during a cache update loop

1

allowInsecureConn

Allow to skip certificate verification when calling 3scale API’s. Enabling is not recommended

false

clientTimeoutSeconds

Sets the number of seconds to wait before terminating requests to 3scale System and Backend

10