IstioOperator Options
Configuration affecting Istio control plane installation version and shape.
Note: unlike other Istio protos, field names must use camelCase. This is asserted in tests.
Without camelCase, the json
tag on the Go struct will not match the user's JSON representation.
This leads to Kubernetes merge libraries, which rely on this tag, to fail.
All other usages use jsonpb which does not use the json
tag.
istio.operator.v1alpha1.Affinity
See k8s.io.api.core.v1.Affinity.
Field | Description | Validation Rule |
---|---|---|
nodeAffinity | – | |
podAffinity | – | |
podAntiAffinity | – |
istio.operator.v1alpha1.BaseComponentSpec
Configuration for base component.
Field | Description | Validation Rule |
---|---|---|
enabled | google.protobuf.BoolValue | – |
k8s | istio.operator.v1alpha1.KubernetesResourcesSpec | – |
istio.operator.v1alpha1.ClientIPConfig
See k8s.io.api.core.v1.ClientIPConfig.
Field | Description | Validation Rule |
---|---|---|
timeoutSeconds | – |
istio.operator.v1alpha1.ComponentSpec
Configuration for internal components.
Field | Description | Validation Rule |
---|---|---|
enabled | google.protobuf.BoolValue | – |
namespace | string | – |
hub | string | – |
tag | google.protobuf.Value | – |
spec | google.protobuf.Struct | – |
k8s | istio.operator.v1alpha1.KubernetesResourcesSpec | – |
istio.operator.v1alpha1.ConfigMapKeySelector
See k8s.io.api.core.v1.ConfigMapKeySelector.
Field | Description | Validation Rule |
---|---|---|
localObjectReference | – | |
key | – | |
optional | – |
istio.operator.v1alpha1.ContainerResourceMetricSource
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource.
Field | Description | Validation Rule |
---|---|---|
name | – | |
target | – | |
container | – |
istio.operator.v1alpha1.ContainerResourceMetricStatus
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus.
Field | Description | Validation Rule |
---|---|---|
name | – | |
current | – | |
container | – |
istio.operator.v1alpha1.CrossVersionObjectReference
See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference.
Field | Description | Validation Rule |
---|---|---|
kind | – | |
name | – | |
apiVersion | – |
istio.operator.v1alpha1.DeploymentStrategy
See k8s.io.api.apps.v1.DeploymentStrategy.
Field | Description | Validation Rule |
---|---|---|
type | – | |
rollingUpdate | – |
istio.operator.v1alpha1.EnvVar
See k8s.io.api.core.v1.EnvVar.
Field | Description | Validation Rule |
---|---|---|
name | – | |
value | – | |
valueFrom | – |
istio.operator.v1alpha1.EnvVarSource
See k8s.io.api.core.v1.EnvVarSource.
Field | Description | Validation Rule |
---|---|---|
fieldRef | – | |
resourceFieldRef | – | |
configMapKeyRef | – | |
secretKeyRef | – |
istio.operator.v1alpha1.ExecAction
See k8s.io.api.core.v1.ExecAction.
Field | Description | Validation Rule |
---|---|---|
command | List of string | – |
istio.operator.v1alpha1.ExternalComponentSpec
Configuration for external components.
Field | Description | Validation Rule |
---|---|---|
enabled | google.protobuf.BoolValue | – |
namespace | string | – |
spec | google.protobuf.Struct | – |
chartPath | string | – |
schema | google.protobuf.Any | – |
k8s | istio.operator.v1alpha1.KubernetesResourcesSpec | – |
istio.operator.v1alpha1.ExternalMetricSource
See k8s.io.api.autoscaling.v2beta2.ExternalMetricSource.
Field | Description | Validation Rule |
---|---|---|
metricName | – | |
metricSelector | – | |
targetValue | – | |
targetAverageValue | – | |
metric | – | |
target | – |
istio.operator.v1alpha1.ExternalMetricStatus
See k8s.io.autoscaling.v2beta2.ExternalMetricStatus.
Field | Description | Validation Rule |
---|---|---|
metric | – | |
current | – |
istio.operator.v1alpha1.GatewaySpec
Configuration for gateways.
Field | Description | Validation Rule |
---|---|---|
enabled | google.protobuf.BoolValue | – |
namespace | string | – |
name | string | – |
label | – | |
hub | string | – |
tag | google.protobuf.Value | – |
k8s | istio.operator.v1alpha1.KubernetesResourcesSpec | – |
istio.operator.v1alpha1.HPAScalingPolicy
See k8s.io.autoscaling.v2beta2.HPAScalingPolicy.
Field | Description | Validation Rule |
---|---|---|
type | – | |
value | – | |
periodSeconds | – |
istio.operator.v1alpha1.HPAScalingRules
See k8s.io.autoscaling.v2beta2.HPAScalingRules.
Field | Description | Validation Rule |
---|---|---|
stabilizationWindowSeconds | – | |
selectPolicy | – | |
policies | – |
istio.operator.v1alpha1.HTTPGetAction
See k8s.io.api.core.v1.HTTPGetAction.
Field | Description | Validation Rule |
---|---|---|
path | – | |
port | – | |
host | – | |
scheme | – | |
httpHeaders | – |
istio.operator.v1alpha1.HTTPHeader
See k8s.io.api.core.v1.HTTPHeader.
Field | Description | Validation Rule |
---|---|---|
name | – | |
value | – |
istio.operator.v1alpha1.HorizontalPodAutoScalerBehavior
See k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior.
Field | Description | Validation Rule |
---|---|---|
scaleUp | – | |
scaleDown | – |
istio.operator.v1alpha1.HorizontalPodAutoscalerSpec
See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec.
Field | Description | Validation Rule |
---|---|---|
scaleTargetRef | – | |
minReplicas | – | |
maxReplicas | – | |
metrics | – | |
behavior | – |
istio.operator.v1alpha1.InstallStatus
Observed state of IstioOperator
Field | Description | Validation Rule |
---|---|---|
status | istio.operator.v1alpha1.InstallStatus.Status
| – |
message | string | – |
componentStatus | map<string, istio.operator.v1alpha1.InstallStatus.VersionStatus> | – |
istio.operator.v1alpha1.InstallStatus.VersionStatus
VersionStatus is the status and version of a component.
Field | Description | Validation Rule |
---|---|---|
version | – | |
status | – | |
error | – |
istio.operator.v1alpha1.IntOrString
IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number.
Field | Description | Validation Rule |
---|---|---|
type | – | |
intVal | – | |
strVal | – |
istio.operator.v1alpha1.IstioComponentSetSpec
IstioComponentSpec defines the desired installed state of Istio components.
Field | Description | Validation Rule |
---|---|---|
base | – | |
pilot | – | |
cni | – | |
istiodRemote | istio.operator.v1alpha1.ComponentSpec | – |
ingressGateways | – | |
egressGateways | – |
istio.operator.v1alpha1.IstioOperatorSpec
IstioOperatorSpec defines the desired installed state of Istio components. The spec is a used to define a customization of the default profile values that are supplied with each Istio release. Because the spec is a customization API, specifying an empty IstioOperatorSpec results in a default Istio component values.
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
profile: default
hub: gcr.io/istio-testing
tag: latest
revision: 1-8-0
meshConfig:
accessLogFile: /dev/stdout
enableTracing: true
components:
egressGateways:
- name: istio-egressgateway
enabled: true
Field | Description | Validation Rule |
---|---|---|
profile | string
default profile is used if this field is unset. | – |
installPackagePath | string
| – |
hub | string | – |
tag | google.protobuf.Value | – |
namespace | string | – |
revision | string | – |
defaultRevision | bool | – |
meshConfig | google.protobuf.Struct | – |
components | istio.operator.v1alpha1.IstioComponentSetSpec | – |
addonComponents | map<string, istio.operator.v1alpha1.ExternalComponentSpec> | – |
values | google.protobuf.Struct | – |
unvalidatedValues | google.protobuf.Struct | – |
istio.operator.v1alpha1.K8sObjectOverlay
Patch for an existing k8s resource.
Field | Description | Validation Rule |
---|---|---|
apiVersion | string | – |
kind | string | – |
name | string | – |
patches | List of istio.operator.v1alpha1.K8sObjectOverlay.PathValue | – |
istio.operator.v1alpha1.K8sObjectOverlay.PathValue
Field | Description | Validation Rule |
---|---|---|
path | string | – |
value | google.protobuf.Value | – |
istio.operator.v1alpha1.KubernetesResourcesSpec
KubernetesResourcesConfig is a common set of k8s resource configs for components.
istio.operator.v1alpha1.LocalObjectReference
See k8s.io.api.core.v1.LocalObjectReference.
Field | Description | Validation Rule |
---|---|---|
name | – |
istio.operator.v1alpha1.MetricIdentifier
See k8s.io.autoscaling.v2beta2.MetricIdentifier.
Field | Description | Validation Rule |
---|---|---|
name | – | |
selector | – |
istio.operator.v1alpha1.MetricSpec
See k8s.io.autoscaling.v2beta2.MetricSpec.
Field | Description | Validation Rule |
---|---|---|
type | – | |
object | – | |
pods | – | |
resource | – | |
containerResource | – | |
external | – |
istio.operator.v1alpha1.MetricStatus
See k8s.io.autoscaling.v2beta2.MetricStatus.
Field | Description | Validation Rule |
---|---|---|
type | – | |
object | – | |
pods | – | |
resource | – | |
containerResource | – | |
external | – |
istio.operator.v1alpha1.MetricTarget
See k8s.io.autoscaling.v2beta2.MetricTarget.
Field | Description | Validation Rule |
---|---|---|
type | – | |
value | – | |
averageValue | – | |
averageUtilization | – |
istio.operator.v1alpha1.MetricValueStatus
See k8s.io.autoscaling.v2beta2.MetricValueStatus.
Field | Description | Validation Rule |
---|---|---|
value | – | |
averageValue | – | |
averageUtilization | – |
istio.operator.v1alpha1.NodeAffinity
See k8s.io.api.core.v1.NodeAffinity.
Field | Description | Validation Rule |
---|---|---|
requiredDuringSchedulingIgnoredDuringExecution | – | |
preferredDuringSchedulingIgnoredDuringExecution | – |
istio.operator.v1alpha1.NodeSelector
See k8s.io.api.core.v1.NodeSelector.
Field | Description | Validation Rule |
---|---|---|
nodeSelectorTerms | – |
istio.operator.v1alpha1.NodeSelectorRequirement
See k8s.io.api.core.v1.NodeSelectorRequirement.
Field | Description | Validation Rule |
---|---|---|
key | – | |
operator | – | |
values | List of string | – |
istio.operator.v1alpha1.NodeSelectorTerm
See k8s.io.api.core.v1.NodeSelectorTerm.
Field | Description | Validation Rule |
---|---|---|
matchExpressions | – | |
matchFields | – |
istio.operator.v1alpha1.ObjectFieldSelector
See k8s.io.api.core.v1.ObjectFieldSelector.
Field | Description | Validation Rule |
---|---|---|
apiVersion | – | |
fieldPath | – |
istio.operator.v1alpha1.ObjectMeta
From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta.
Field | Description | Validation Rule |
---|---|---|
name | – | |
namespace | – |
istio.operator.v1alpha1.ObjectMetricSource
See k8s.io.autoscaling.v2beta2.ObjectMetricSource.
Field | Description | Validation Rule |
---|---|---|
metricName | – | |
targetValue | – | |
selector | – | |
averageValue | – | |
target | google.protobuf.Value | – |
describedObject | – | |
metric | – |
istio.operator.v1alpha1.ObjectMetricStatus
See k8s.io.autoscaling.v2beta2.ObjectMetricStatus.
Field | Description | Validation Rule |
---|---|---|
metric | – | |
current | – | |
describedObject | – |
istio.operator.v1alpha1.PodAffinity
See k8s.io.api.core.v1.PodAffinity.
Field | Description | Validation Rule |
---|---|---|
requiredDuringSchedulingIgnoredDuringExecution | – | |
preferredDuringSchedulingIgnoredDuringExecution | – |
istio.operator.v1alpha1.PodAffinityTerm
See k8s.io.api.core.v1.PodAntiAffinity.
Field | Description | Validation Rule |
---|---|---|
labelSelector | – | |
namespaces | List of string | – |
topologyKey | – |
istio.operator.v1alpha1.PodAntiAffinity
See k8s.io.api.core.v1.PodAntiAffinity.
Field | Description | Validation Rule |
---|---|---|
requiredDuringSchedulingIgnoredDuringExecution | – | |
preferredDuringSchedulingIgnoredDuringExecution | – |
istio.operator.v1alpha1.PodDisruptionBudgetSpec
See k8s.io.api.policy.v1beta1.PodDisruptionBudget.
Field | Description | Validation Rule |
---|---|---|
minAvailable | – | |
selector | – | |
maxUnavailable | – |
istio.operator.v1alpha1.PodSecurityContext
See k8s.io.api.core.v1.PodSecurityContext.
Field | Description | Validation Rule |
---|---|---|
seLinuxOptions | – | |
runAsUser | – | |
runAsNonRoot | – | |
supplementalGroups | List of int64 | – |
fsGroup | – | |
runAsGroup | – | |
sysctls | List of istio.operator.v1alpha1.Sysctl | – |
windowsOptions | – | |
fsGroupChangePolicy | – | |
seccompProfile | – |
istio.operator.v1alpha1.PodsMetricSource
See k8s.io.autoscaling.v2beta2.PodsMetricSource.
Field | Description | Validation Rule |
---|---|---|
metricName | – | |
targetAverageValue | – | |
selector | – | |
metric | istio.operator.v1alpha1.MetricIdentifier | – |
target | – |
istio.operator.v1alpha1.PodsMetricStatus
See k8s.io.autoscaling.v2beta2.PodsMetricStatus.
Field | Description | Validation Rule |
---|---|---|
metric | – | |
current | – |
istio.operator.v1alpha1.PreferredSchedulingTerm
See k8s.io.api.core.v1.PreferredSchedulingTerm.
Field | Description | Validation Rule |
---|---|---|
weight | – | |
preference | – |
istio.operator.v1alpha1.ReadinessProbe
See k8s.io.api.core.v1.ReadinessProbe.
Field | Description | Validation Rule |
---|---|---|
exec | – | |
httpGet | – | |
tcpSocket | – | |
initialDelaySeconds | – | |
timeoutSeconds | – | |
periodSeconds | – | |
successThreshold | – | |
failureThreshold | – |
istio.operator.v1alpha1.ResourceFieldSelector
See k8s.io.api.core.v1..
Field | Description | Validation Rule |
---|---|---|
containerName | – | |
resource | – | |
divisor | – |
istio.operator.v1alpha1.ResourceMetricSource
See k8s.io.autoscaling.v2beta2.ResourceMetricSource.
Field | Description | Validation Rule |
---|---|---|
name | – | |
targetAverageUtilization | – | |
targetAverageValue | – | |
target | – |
istio.operator.v1alpha1.ResourceMetricStatus
See k8s.io.autoscaling.v2beta2.ResourceMetricStatus.
Field | Description | Validation Rule |
---|---|---|
name | – | |
current | – |
istio.operator.v1alpha1.Resources
See k8s.io.api.core.v1.ResourceRequirements.
Field | Description | Validation Rule |
---|---|---|
limits | – | |
requests | – |
istio.operator.v1alpha1.RollingUpdateDeployment
See k8s.io.api.apps.v1.RollingUpdateDeployment.
Field | Description | Validation Rule |
---|---|---|
maxUnavailable | – | |
maxSurge | – |
istio.operator.v1alpha1.SELinuxOptions
See k8s.io.api.core.v1.SELinuxOptions.
Field | Description | Validation Rule |
---|---|---|
user | – | |
role | – | |
type | – | |
level | – |
istio.operator.v1alpha1.SeccompProfile
See k8s.io.api.core.v1.SeccompProfile.
Field | Description | Validation Rule |
---|---|---|
type | – | |
localhostProfile | – |
istio.operator.v1alpha1.SecretKeySelector
See k8s.io.api.core.v1.SecretKeySelector.
Field | Description | Validation Rule |
---|---|---|
localObjectReference | – | |
key | – | |
optional | – |
istio.operator.v1alpha1.ServicePort
See k8s.io.api.core.v1..
Field | Description | Validation Rule |
---|---|---|
name | – | |
protocol | – | |
port | – | |
targetPort | – | |
nodePort | – |
istio.operator.v1alpha1.ServiceSpec
See k8s.io.api.core.v1.ServiceSpec.
Field | Description | Validation Rule |
---|---|---|
ports | – | |
selector | – | |
clusterIP | – | |
type | – | |
externalIPs | List of string | – |
sessionAffinity | – | |
loadBalancerIP | – | |
loadBalancerSourceRanges | List of string | – |
externalName | – | |
externalTrafficPolicy | – | |
healthCheckNodePort | – | |
publishNotReadyAddresses | – | |
sessionAffinityConfig | – |
istio.operator.v1alpha1.SessionAffinityConfig
See k8s.io.api.core.v1.SessionAffinityConfig.
Field | Description | Validation Rule |
---|---|---|
clientIP | – |
istio.operator.v1alpha1.Sysctl
See k8s.io.api.core.v1.Sysctl.
Field | Description | Validation Rule |
---|---|---|
name | – | |
value | – |
istio.operator.v1alpha1.TCPSocketAction
See k8s.io.api.core.v1.TCPSocketAction.
Field | Description | Validation Rule |
---|---|---|
port | – | |
host | – |
istio.operator.v1alpha1.Toleration
See k8s.io.api.core.v1.Toleration.
Field | Description | Validation Rule |
---|---|---|
key | – | |
operator | – | |
value | – | |
effect | – | |
tolerationSeconds | – |
istio.operator.v1alpha1.WeightedPodAffinityTerm
See k8s.io.api.core.v1.WeightedPodAffinityTerm.
Field | Description | Validation Rule |
---|---|---|
weight | – | |
podAffinityTerm | – |
istio.operator.v1alpha1.WindowsSecurityContextOptions
See k8s.io.api.core.v1.WindowsSecurityContextOptions.
Field | Description | Validation Rule |
---|---|---|
gmsaCredentialSpecName | – | |
gmsaCredentialSpec | – | |
runAsUserName | – |
istio.operator.v1alpha1.InstallStatus.Status
Status describes the current state of a component.
Field | Number | Description |
---|---|---|
NONE | 0 | Component is not present. |
UPDATING | 1 | Component is being updated to a different version. |
RECONCILING | 2 | Controller has started but not yet completed reconciliation loop for the component. |
HEALTHY | 3 | Component is healthy. |
ERROR | 4 | Component is in an error state. |
ACTION_REQUIRED | 5 | Overall status only and would not be set as a component status.
Action is needed from the user for reconciliation to proceed
e.g. There are proxies still pointing to the control plane revision when try to remove an |