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.
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
InstallStatus
Observed state of IstioOperator
IstioComponentSetSpec
IstioComponentSpec defines the desired installed state of Istio components.
BaseComponentSpec
Configuration for base component.
ComponentSpec
Configuration for internal components.
ExternalComponentSpec
Configuration for external components.
GatewaySpec
Configuration for gateways.
KubernetesResourcesSpec
KubernetesResourcesConfig is a common set of k8s resource configs for components.
K8sObjectOverlay
Patch for an existing k8s resource.
Affinity
See k8s.io.api.core.v1.Affinity.
ConfigMapKeySelector
See k8s.io.api.core.v1.ConfigMapKeySelector.
ContainerResourceMetricSource
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource.
ContainerResourceMetricStatus
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus.
ClientIPConfig
See k8s.io.api.core.v1.ClientIPConfig.
CrossVersionObjectReference
See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference.
DeploymentStrategy
See k8s.io.api.apps.v1.DeploymentStrategy.
EnvVar
See k8s.io.api.core.v1.EnvVar.
EnvVarSource
See k8s.io.api.core.v1.EnvVarSource.
ExecAction
See k8s.io.api.core.v1.ExecAction.
ExternalMetricSource
See k8s.io.api.autoscaling.v2beta2.ExternalMetricSource.
ExternalMetricStatus
See k8s.io.autoscaling.v2beta2.ExternalMetricStatus.
HTTPGetAction
See k8s.io.api.core.v1.HTTPGetAction.
HTTPHeader
See k8s.io.api.core.v1.HTTPHeader.
HorizontalPodAutoscalerSpec
See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec.
HorizontalPodAutoScalerBehavior
See k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior.
HPAScalingRules
See k8s.io.autoscaling.v2beta2.HPAScalingRules.
HPAScalingPolicy
See k8s.io.autoscaling.v2beta2.HPAScalingPolicy.
LocalObjectReference
See k8s.io.api.core.v1.LocalObjectReference.
MetricIdentifier
See k8s.io.autoscaling.v2beta2.MetricIdentifier.
MetricSpec
See k8s.io.autoscaling.v2beta2.MetricSpec.
MetricStatus
See k8s.io.autoscaling.v2beta2.MetricStatus.
MetricTarget
See k8s.io.autoscaling.v2beta2.MetricTarget.
MetricValueStatus
See k8s.io.autoscaling.v2beta2.MetricValueStatus.
NodeAffinity
See k8s.io.api.core.v1.NodeAffinity.
NodeSelector
See k8s.io.api.core.v1.NodeSelector.
NodeSelectorTerm
See k8s.io.api.core.v1.NodeSelectorTerm.
NodeSelectorRequirement
See k8s.io.api.core.v1.NodeSelectorRequirement.
ObjectFieldSelector
See k8s.io.api.core.v1.ObjectFieldSelector.
ObjectMeta
From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta.
ObjectMetricSource
See k8s.io.autoscaling.v2beta2.ObjectMetricSource.
ObjectMetricStatus
See k8s.io.autoscaling.v2beta2.ObjectMetricStatus.
PodAffinity
See k8s.io.api.core.v1.PodAffinity.
PodAntiAffinity
See k8s.io.api.core.v1.PodAntiAffinity.
PodAffinityTerm
See k8s.io.api.core.v1.PodAntiAffinity.
PodDisruptionBudgetSpec
See k8s.io.api.policy.v1beta1.PodDisruptionBudget.
PodsMetricSource
See k8s.io.autoscaling.v2beta2.PodsMetricSource.
PodsMetricStatus
See k8s.io.autoscaling.v2beta2.PodsMetricStatus.
PreferredSchedulingTerm
See k8s.io.api.core.v1.PreferredSchedulingTerm.
ReadinessProbe
See k8s.io.api.core.v1.ReadinessProbe.
ResourceFieldSelector
See k8s.io.api.core.v1..
ResourceMetricSource
See k8s.io.autoscaling.v2beta2.ResourceMetricSource.
ResourceMetricStatus
See k8s.io.autoscaling.v2beta2.ResourceMetricStatus.
Resources
See k8s.io.api.core.v1.ResourceRequirements.
RollingUpdateDeployment
See k8s.io.api.apps.v1.RollingUpdateDeployment.
SecretKeySelector
See k8s.io.api.core.v1.SecretKeySelector.
ServiceSpec
See k8s.io.api.core.v1.ServiceSpec.
ServicePort
See k8s.io.api.core.v1..
SessionAffinityConfig
See k8s.io.api.core.v1.SessionAffinityConfig.
TCPSocketAction
See k8s.io.api.core.v1.TCPSocketAction.
Toleration
See k8s.io.api.core.v1.Toleration.
WeightedPodAffinityTerm
See k8s.io.api.core.v1.WeightedPodAffinityTerm.
PodSecurityContext
See k8s.io.api.core.v1.PodSecurityContext.
SELinuxOptions
See k8s.io.api.core.v1.SELinuxOptions.
Sysctl
See k8s.io.api.core.v1.Sysctl.
WindowsSecurityContextOptions
See k8s.io.api.core.v1.WindowsSecurityContextOptions.
SeccompProfile
See k8s.io.api.core.v1.SeccompProfile.
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.
InstallStatus.VersionStatus
VersionStatus is the status and version of a component.
K8sObjectOverlay.PathValue
google.protobuf.Value
Value
represents a dynamically typed value which can be either
null, a number, a string, a boolean, a recursive struct value, or a
list of values. A producer of value is expected to set one of that
variants, absence of any variant indicates an error.
The JSON representation for Value
is JSON value.
k8s.io.api.core.v1.Volume
Volume represents a named volume in a pod that may be accessed by any container in the pod.
k8s.io.api.core.v1.VolumeMount
VolumeMount describes a mounting of a Volume within a container.
k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
InstallStatus.Status
Status describes the current state of a component.
Name | Description |
---|---|
NONE | Component is not present. |
UPDATING | Component is being updated to a different version. |
RECONCILING | Controller has started but not yet completed reconciliation loop for the component. |
HEALTHY | Component is healthy. |
ERROR | Component is in an error state. |
ACTION_REQUIRED | 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 |