- IstioOperator Options
- IstioOperatorSpec
- IstioComponentSetSpec
- BaseComponentSpec
- ComponentSpec
- GatewaySpec
- KubernetesResourcesSpec
- K8sObjectOverlay
- Affinity
- ConfigMapKeySelector
- ContainerResourceMetricSource
- ContainerResourceMetricStatus
- ClientIPConfig
- CrossVersionObjectReference
- DeploymentStrategy
- EnvVar
- EnvVarSource
- ExecAction
- ExternalMetricSource
- ExternalMetricStatus
- HTTPGetAction
- HTTPHeader
- HorizontalPodAutoscalerSpec
- HorizontalPodAutoScalerBehavior
- HPAScalingRules
- HPAScalingPolicy
- LocalObjectReference
- MetricIdentifier
- MetricSpec
- MetricStatus
- MetricTarget
- MetricValueStatus
- NodeAffinity
- NodeSelector
- NodeSelectorTerm
- NodeSelectorRequirement
- ObjectFieldSelector
- ObjectMeta
- ObjectMetricSource
- ObjectMetricStatus
- PodAffinity
- PodAntiAffinity
- PodAffinityTerm
- PodDisruptionBudgetSpec
- PodsMetricSource
- PodsMetricStatus
- PreferredSchedulingTerm
- ReadinessProbe
- ResourceFieldSelector
- ResourceMetricSource
- ResourceMetricStatus
- Resources
- RollingUpdateDeployment
- SecretKeySelector
- ServiceSpec
- ServicePort
- SessionAffinityConfig
- TCPSocketAction
- Toleration
- WeightedPodAffinityTerm
- PodSecurityContext
- SELinuxOptions
- Sysctl
- WindowsSecurityContextOptions
- SeccompProfile
- IntOrString
- K8sObjectOverlay.PathValue
- google.protobuf.Value
- k8s.io.api.core.v1.Volume
- k8s.io.api.core.v1.VolumeMount
- k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector
IstioOperator Options
Configuration affecting Istio control plane installation version and shape. This resource is passed as a file input to istioctl install
and istioctl manifest generate
; while it has a similar format as Kubernetes objects, it is not applied to the cluster.
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 | Type | Description | Required |
---|---|---|---|
profile | string | Path or name for the profile e.g.
default profile is used if this field is unset. | No |
installPackagePath | string | Path for the install package. e.g.
| No |
hub | string | Root for docker image paths e.g. | No |
tag | Value | Version tag for docker images e.g. | No |
namespace | string | Namespace to install control plane resources into. If unset, Istio will be installed into the same namespace as the | No |
revision | string | Identify the revision this installation is associated with. This option is currently experimental. | No |
compatibilityVersion | string | Compatibility version allows configuring Istio to behave like an older version by tuning various settings to align with a previous versions defaults. This accepts a | No |
meshConfig | Struct | Config used by control plane components internally. | No |
components | IstioComponentSetSpec | Kubernetes resource settings, enablement and component-specific settings that are not internal to the component. | No |
values | Struct | Overrides for default | No |
unvalidatedValues | Struct | Unvalidated overrides for default | No |
IstioComponentSetSpec
IstioComponentSpec defines the desired installed state of Istio components.
Field | Type | Description | Required |
---|---|---|---|
base | BaseComponentSpec | No | |
pilot | ComponentSpec | No | |
cni | ComponentSpec | No | |
ztunnel | ComponentSpec | No | |
istiodRemote | ComponentSpec | Remote cluster using an external control plane. | No |
ingressGateways | GatewaySpec[] | No | |
egressGateways | GatewaySpec[] | No |
BaseComponentSpec
Configuration for base component.
Field | Type | Description | Required |
---|---|---|---|
enabled | BoolValue | Selects whether this component is installed. | No |
k8s | KubernetesResourcesSpec | Kubernetes resource spec. | No |
ComponentSpec
Configuration for internal components.
Field | Type | Description | Required |
---|---|---|---|
enabled | BoolValue | Selects whether this component is installed. | No |
namespace | string | Namespace for the component. | No |
hub | string | Hub for the component (overrides top level hub setting). | No |
tag | Value | Tag for the component (overrides top level tag setting). | No |
spec | Struct | Arbitrary install time configuration for the component. | No |
k8s | KubernetesResourcesSpec | Kubernetes resource spec. | No |
GatewaySpec
Configuration for gateways.
Field | Type | Description | Required |
---|---|---|---|
enabled | BoolValue | Selects whether this gateway is installed. | No |
namespace | string | Namespace for the gateway. | No |
name | string | Name for the gateway. | No |
label | map<string, string> | Labels for the gateway. | No |
hub | string | Hub for the component (overrides top level hub setting). | No |
tag | Value | Tag for the component (overrides top level tag setting). | No |
k8s | KubernetesResourcesSpec | Kubernetes resource spec. | No |
KubernetesResourcesSpec
KubernetesResourcesSpec is a common set of Kubernetes resource configs for components.
K8sObjectOverlay
Patch for an existing Kubernetes resource.
Field | Type | Description | Required |
---|---|---|---|
apiVersion | string | Resource API version. | No |
kind | string | Resource kind. | No |
name | string | Name of resource. Namespace is always the component namespace. | No |
patches | PathValue[] | List of patches to apply to resource. | No |
Affinity
See k8s.io.api.core.v1.Affinity.
Field | Type | Description | Required |
---|---|---|---|
nodeAffinity | NodeAffinity | No | |
podAffinity | PodAffinity | No | |
podAntiAffinity | PodAntiAffinity | No |
ConfigMapKeySelector
See k8s.io.api.core.v1.ConfigMapKeySelector.
Field | Type | Description | Required |
---|---|---|---|
localObjectReference | LocalObjectReference | No | |
key | string | No | |
optional | bool | No |
ContainerResourceMetricSource
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
target | MetricTarget | No | |
container | string | No |
ContainerResourceMetricStatus
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
current | MetricValueStatus | No | |
container | string | No |
ClientIPConfig
See k8s.io.api.core.v1.ClientIPConfig.
Field | Type | Description | Required |
---|---|---|---|
timeoutSeconds | int32 | No |
CrossVersionObjectReference
See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference.
Field | Type | Description | Required |
---|---|---|---|
kind | string | No | |
name | string | No | |
apiVersion | string | No |
DeploymentStrategy
See k8s.io.api.apps.v1.DeploymentStrategy.
Field | Type | Description | Required |
---|---|---|---|
type | string | No | |
rollingUpdate | RollingUpdateDeployment | No |
EnvVar
See k8s.io.api.core.v1.EnvVar.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
value | string | No | |
valueFrom | EnvVarSource | No |
EnvVarSource
See k8s.io.api.core.v1.EnvVarSource.
Field | Type | Description | Required |
---|---|---|---|
fieldRef | ObjectFieldSelector | No | |
resourceFieldRef | ResourceFieldSelector | No | |
configMapKeyRef | ConfigMapKeySelector | No | |
secretKeyRef | SecretKeySelector | No |
ExecAction
See k8s.io.api.core.v1.ExecAction.
Field | Type | Description | Required |
---|---|---|---|
command | string[] | No |
ExternalMetricSource
See k8s.io.api.autoscaling.v2beta2.ExternalMetricSource.
Field | Type | Description | Required |
---|---|---|---|
metric | MetricIdentifier | No | |
target | MetricTarget | No | |
metricName | string | No | |
metricSelector | LabelSelector | No | |
targetValue | IntOrString | No | |
targetAverageValue | IntOrString | No |
ExternalMetricStatus
See k8s.io.autoscaling.v2beta2.ExternalMetricStatus.
Field | Type | Description | Required |
---|---|---|---|
metric | MetricIdentifier | No | |
current | MetricValueStatus | No |
HTTPGetAction
See k8s.io.api.core.v1.HTTPGetAction.
Field | Type | Description | Required |
---|---|---|---|
path | string | No | |
port | IntOrString | No | |
host | string | No | |
scheme | string | No | |
httpHeaders | HTTPHeader[] | No |
HTTPHeader
See k8s.io.api.core.v1.HTTPHeader.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
value | string | No |
HorizontalPodAutoscalerSpec
See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec.
Field | Type | Description | Required |
---|---|---|---|
scaleTargetRef | CrossVersionObjectReference | No | |
minReplicas | int32 | No | |
maxReplicas | int32 | No | |
metrics | MetricSpec[] | No | |
behavior | HorizontalPodAutoScalerBehavior | No |
HorizontalPodAutoScalerBehavior
See k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior.
Field | Type | Description | Required |
---|---|---|---|
scaleUp | HPAScalingRules | No | |
scaleDown | HPAScalingRules | No |
HPAScalingRules
See k8s.io.autoscaling.v2beta2.HPAScalingRules.
Field | Type | Description | Required |
---|---|---|---|
stabilizationWindowSeconds | int32 | No | |
selectPolicy | string | No | |
policies | HPAScalingPolicy[] | No |
HPAScalingPolicy
See k8s.io.autoscaling.v2beta2.HPAScalingPolicy.
Field | Type | Description | Required |
---|---|---|---|
type | string | No | |
value | int32 | No | |
periodSeconds | int32 | No |
LocalObjectReference
See k8s.io.api.core.v1.LocalObjectReference.
Field | Type | Description | Required |
---|---|---|---|
name | string | No |
MetricIdentifier
See k8s.io.autoscaling.v2beta2.MetricIdentifier.
Field | Type | Description | Required |
---|---|---|---|
name | string (oneof) | No | |
selector | LabelSelector | No |
MetricSpec
See k8s.io.autoscaling.v2beta2.MetricSpec.
Field | Type | Description | Required |
---|---|---|---|
type | string | No | |
object | ObjectMetricSource | No | |
pods | PodsMetricSource | No | |
resource | ResourceMetricSource | No | |
containerResource | ContainerResourceMetricSource | No | |
external | ExternalMetricSource | No |
MetricStatus
See k8s.io.autoscaling.v2beta2.MetricStatus.
Field | Type | Description | Required |
---|---|---|---|
type | string | No | |
object | ObjectMetricStatus | No | |
pods | PodsMetricStatus | No | |
resource | ResourceMetricStatus | No | |
containerResource | ContainerResourceMetricStatus | No | |
external | ExternalMetricStatus | No |
MetricTarget
See k8s.io.autoscaling.v2beta2.MetricTarget.
Field | Type | Description | Required |
---|---|---|---|
type | string | No | |
value | IntOrString | No | |
averageValue | IntOrString | No | |
averageUtilization | int32 | No |
MetricValueStatus
See k8s.io.autoscaling.v2beta2.MetricValueStatus.
Field | Type | Description | Required |
---|---|---|---|
value | IntOrString | No | |
averageValue | IntOrString | No | |
averageUtilization | int32 | No |
NodeAffinity
See k8s.io.api.core.v1.NodeAffinity.
Field | Type | Description | Required |
---|---|---|---|
requiredDuringSchedulingIgnoredDuringExecution | NodeSelector | No | |
preferredDuringSchedulingIgnoredDuringExecution | PreferredSchedulingTerm[] | No |
NodeSelector
See k8s.io.api.core.v1.NodeSelector.
Field | Type | Description | Required |
---|---|---|---|
nodeSelectorTerms | NodeSelectorTerm[] | No |
NodeSelectorTerm
See k8s.io.api.core.v1.NodeSelectorTerm.
Field | Type | Description | Required |
---|---|---|---|
matchExpressions | NodeSelectorRequirement[] | No | |
matchFields | NodeSelectorRequirement[] | No |
NodeSelectorRequirement
See k8s.io.api.core.v1.NodeSelectorRequirement.
Field | Type | Description | Required |
---|---|---|---|
key | string | No | |
operator | string | No | |
values | string[] | No |
ObjectFieldSelector
See k8s.io.api.core.v1.ObjectFieldSelector.
Field | Type | Description | Required |
---|---|---|---|
apiVersion | string | No | |
fieldPath | string | No |
ObjectMeta
From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
namespace | string | No |
ObjectMetricSource
See k8s.io.autoscaling.v2beta2.ObjectMetricSource.
Field | Type | Description | Required |
---|---|---|---|
target | Value | Type changes from CrossVersionObjectReference to ResourceMetricTarget in autoscaling v2beta2/v2 compared with v2beta1 Change it to dynamic type to keep backward compatible | No |
describedObject | CrossVersionObjectReference | No | |
metric | MetricIdentifier | No | |
metricName | string | No | |
targetValue | IntOrString | No | |
selector | LabelSelector | No | |
averageValue | IntOrString | No |
ObjectMetricStatus
See k8s.io.autoscaling.v2beta2.ObjectMetricStatus.
Field | Type | Description | Required |
---|---|---|---|
metric | MetricIdentifier | No | |
current | MetricValueStatus | No | |
describedObject | CrossVersionObjectReference | No |
PodAffinity
See k8s.io.api.core.v1.PodAffinity.
Field | Type | Description | Required |
---|---|---|---|
requiredDuringSchedulingIgnoredDuringExecution | PodAffinityTerm[] | No | |
preferredDuringSchedulingIgnoredDuringExecution | WeightedPodAffinityTerm[] | No |
PodAntiAffinity
See k8s.io.api.core.v1.PodAntiAffinity.
Field | Type | Description | Required |
---|---|---|---|
requiredDuringSchedulingIgnoredDuringExecution | PodAffinityTerm[] | No | |
preferredDuringSchedulingIgnoredDuringExecution | WeightedPodAffinityTerm[] | No |
PodAffinityTerm
See k8s.io.api.core.v1.PodAntiAffinity.
Field | Type | Description | Required |
---|---|---|---|
labelSelector | LabelSelector | No | |
namespaces | string[] | No | |
topologyKey | string | No |
PodDisruptionBudgetSpec
See k8s.io.api.policy.v1beta1.PodDisruptionBudget.
Field | Type | Description | Required |
---|---|---|---|
minAvailable | IntOrString | No | |
selector | LabelSelector | No | |
maxUnavailable | IntOrString | No |
PodsMetricSource
See k8s.io.autoscaling.v2beta2.PodsMetricSource.
Field | Type | Description | Required |
---|---|---|---|
metric | MetricIdentifier | v2beta2/v2 fields | No |
target | MetricTarget | No | |
metricName | string | No | |
targetAverageValue | IntOrString | No | |
selector | LabelSelector | No |
PodsMetricStatus
See k8s.io.autoscaling.v2beta2.PodsMetricStatus.
Field | Type | Description | Required |
---|---|---|---|
metric | MetricIdentifier | No | |
current | MetricValueStatus | No |
PreferredSchedulingTerm
See k8s.io.api.core.v1.PreferredSchedulingTerm.
Field | Type | Description | Required |
---|---|---|---|
weight | int32 | No | |
preference | NodeSelectorTerm | No |
ReadinessProbe
See k8s.io.api.core.v1.ReadinessProbe.
Field | Type | Description | Required |
---|---|---|---|
exec | ExecAction | No | |
httpGet | HTTPGetAction | No | |
tcpSocket | TCPSocketAction | No | |
initialDelaySeconds | int32 | No | |
timeoutSeconds | int32 | No | |
periodSeconds | int32 | No | |
successThreshold | int32 | No | |
failureThreshold | int32 | No |
ResourceFieldSelector
See k8s.io.api.core.v1..
Field | Type | Description | Required |
---|---|---|---|
containerName | string | No | |
resource | string | No | |
divisor | IntOrString | No |
ResourceMetricSource
See k8s.io.autoscaling.v2beta2.ResourceMetricSource.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
target | MetricTarget | No | |
targetAverageUtilization | int32 | No | |
targetAverageValue | IntOrString | No |
ResourceMetricStatus
See k8s.io.autoscaling.v2beta2.ResourceMetricStatus.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
current | MetricValueStatus | No |
Resources
See k8s.io.api.core.v1.ResourceRequirements.
Field | Type | Description | Required |
---|---|---|---|
limits | map<string, string> | No | |
requests | map<string, string> | No |
RollingUpdateDeployment
See k8s.io.api.apps.v1.RollingUpdateDeployment.
Field | Type | Description | Required |
---|---|---|---|
maxUnavailable | IntOrString | No | |
maxSurge | IntOrString | No |
SecretKeySelector
See k8s.io.api.core.v1.SecretKeySelector.
Field | Type | Description | Required |
---|---|---|---|
localObjectReference | LocalObjectReference | No | |
key | string | No | |
optional | bool | No |
ServiceSpec
See k8s.io.api.core.v1.ServiceSpec.
Field | Type | Description | Required |
---|---|---|---|
ports | ServicePort[] | No | |
selector | map<string, string> | No | |
clusterIP | string | No | |
type | string | No | |
externalIPs | string[] | No | |
sessionAffinity | string | No | |
loadBalancerIP | string | No | |
loadBalancerSourceRanges | string[] | No | |
externalName | string | No | |
externalTrafficPolicy | string | No | |
healthCheckNodePort | int32 | No | |
publishNotReadyAddresses | bool | No | |
sessionAffinityConfig | SessionAffinityConfig | No | |
loadBalancerClass | string | No |
ServicePort
See k8s.io.api.core.v1..
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
protocol | string | No | |
port | int32 | No | |
targetPort | IntOrString | No | |
nodePort | int32 | No | |
appProtocol | string | No |
SessionAffinityConfig
See k8s.io.api.core.v1.SessionAffinityConfig.
Field | Type | Description | Required |
---|---|---|---|
clientIP | ClientIPConfig | No |
TCPSocketAction
See k8s.io.api.core.v1.TCPSocketAction.
Field | Type | Description | Required |
---|---|---|---|
port | IntOrString | No | |
host | string | No |
Toleration
See k8s.io.api.core.v1.Toleration.
Field | Type | Description | Required |
---|---|---|---|
key | string | No | |
operator | string | No | |
value | string | No | |
effect | string | No | |
tolerationSeconds | int64 | No |
WeightedPodAffinityTerm
See k8s.io.api.core.v1.WeightedPodAffinityTerm.
Field | Type | Description | Required |
---|---|---|---|
weight | int32 | No | |
podAffinityTerm | PodAffinityTerm | No |
PodSecurityContext
See k8s.io.api.core.v1.PodSecurityContext.
Field | Type | Description | Required |
---|---|---|---|
seLinuxOptions | SELinuxOptions | No | |
runAsUser | int64 | No | |
runAsNonRoot | bool | No | |
supplementalGroups | int64[] | No | |
fsGroup | int64 | No | |
runAsGroup | int64 | No | |
sysctls | Sysctl[] | No | |
windowsOptions | WindowsSecurityContextOptions | No | |
fsGroupChangePolicy | string | No | |
seccompProfile | SeccompProfile | No |
SELinuxOptions
See k8s.io.api.core.v1.SELinuxOptions.
Field | Type | Description | Required |
---|---|---|---|
user | string | No | |
role | string | No | |
type | string | No | |
level | string | No |
Sysctl
See k8s.io.api.core.v1.Sysctl.
Field | Type | Description | Required |
---|---|---|---|
name | string | No | |
value | string | No |
WindowsSecurityContextOptions
See k8s.io.api.core.v1.WindowsSecurityContextOptions.
Field | Type | Description | Required |
---|---|---|---|
gmsaCredentialSpecName | string | No | |
gmsaCredentialSpec | string | No | |
runAsUserName | string | No |
SeccompProfile
See k8s.io.api.core.v1.SeccompProfile.
Field | Type | Description | Required |
---|---|---|---|
type | string | No | |
localhostProfile | string | No |
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 | Type | Description | Required |
---|---|---|---|
type | int64 | No | |
intVal | Int32Value | No | |
strVal | StringValue | No |
K8sObjectOverlay.PathValue
Field | Type | Description | Required |
---|---|---|---|
path | string | Path of the form a.[key1:value1].b.[:value2] Where [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value selector to identify a list element in a leaf list. All path intermediate nodes must exist. | No |
value | Value | Value to add, delete or replace. For add, the path should be a new leaf. For delete, value should be unset. For replace, path should reference an existing node. All values are strings but are converted into appropriate type based on schema. | No |
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.
Field | Type | Description | Required |
---|---|---|---|
nullValue | NullValue (oneof) | Represents a null value. | No |
numberValue | double (oneof) | Represents a double value. | No |
stringValue | string (oneof) | Represents a string value. | No |
boolValue | bool (oneof) | Represents a boolean value. | No |
structValue | Struct (oneof) | Represents a structured value. | No |
listValue | ListValue (oneof) | Represents a repeated | No |
k8s.io.api.core.v1.Volume
Volume represents a named volume in a pod that may be accessed by any container in the pod.
Field | Type | Description | Required |
---|---|---|---|
name | string | name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | No |
volumeSource | VolumeSource | volumeSource represents the location and type of the mounted volume. If not specified, the Volume is implied to be an EmptyDir. This implied behavior is deprecated and will be removed in a future version. | No |
k8s.io.api.core.v1.VolumeMount
VolumeMount describes a mounting of a Volume within a container.
Field | Type | Description | Required |
---|---|---|---|
name | string | This must match the Name of a Volume. | No |
readOnly | bool | Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. | No |
mountPath | string | Path within the container at which the volume should be mounted. Must not contain ‘:’. | No |
subPath | string | Path within the volume from which the container’s volume should be mounted. Defaults to “” (volume’s root). | No |
mountPropagation | string | mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. | No |
subPathExpr | string | Expanded path within the volume from which the container’s volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container’s environment. Defaults to “” (volume’s root). SubPathExpr and SubPath are mutually exclusive. | No |
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.
Field | Type | Description | Required |
---|---|---|---|
matchLabels | map<string, string> | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. | No |
matchExpressions | LabelSelectorRequirement[] | matchExpressions is a list of label selector requirements. The requirements are ANDed. | No |