IstioOperator 选项

影响 Istio 控制平面安装版本和形状的配置。此资源作为文件输入传递给 istioctl installistioctl manifest generate;虽然它与 Kubernetes 对象具有类似的格式,但不会应用到集群。

IstioOperatorSpec

IstioOperatorSpec 定义了 Istio 组件的期望安装状态。该规范用于定义对每个 Istio 版本提供的默认配置文件值的自定义。由于该规范是自定义 API,因此指定一个空的 IstioOperatorSpec 将导致默认的 Istio 组件值。

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
字段类型描述必需
profilestring

配置文件的路径或名称,例如:

  • minimal(在 profiles 目录中查找名为 minimal.yaml 的文件)
  • /tmp/istio/install/values/custom/custom-install.yaml(本地文件路径)

如果未设置此字段,则使用默认配置文件。

installPackagePathstring

安装包的路径。例如:

  • /tmp/istio-installer/nightly(本地文件路径)
hubstring

Docker 镜像路径的根目录,例如 docker.io/istio

tag

Docker 镜像的版本标签,例如 1.7.2

namespacestring

将控制平面资源安装到的命名空间。如果未设置,Istio 将安装到与 IstioOperator CR 相同的命名空间中。如果您希望将 Istio 安装到自定义命名空间中,您还必须设置 values.global.istioNamespace。如果您启用了 CNI,您必须通过将该命名空间添加到 values.cni.excludeNamespaces 列表中来排除该命名空间。

revisionstring

标识此安装关联的修订版本。此选项当前处于实验阶段。

compatibilityVersionstring

兼容性版本允许通过调整各种设置以与先前版本的默认值保持一致,从而配置 Istio 以表现得像旧版本。这接受 major.minor 格式,例如 1.23。此选项当前处于实验阶段。

meshConfigStruct

控制平面组件内部使用的配置。

componentsIstioComponentSetSpec

Kubernetes 资源设置、启用和特定于组件的设置,这些设置不是组件内部的。

valuesStruct

对默认 values.yaml 的覆盖。这是一个经过验证的传递到 Helm 模板。有关模式详细信息,请参阅 Helm 安装选项IstioOperatorSpec 中可用的任何内容都应在上面设置,而不是使用传递。这包括 KubernetesResourcesSpec 中组件的 Kubernetes 资源设置。

unvalidatedValuesStruct

对默认 values.yaml 的未验证覆盖。用于添加新参数的自定义模板。

IstioComponentSetSpec

IstioComponentSpec 定义了 Istio 组件的期望安装状态。

字段类型描述必需
baseBaseComponentSpec
pilotComponentSpec
cniComponentSpec
ztunnelComponentSpec
istiodRemoteComponentSpec

使用外部控制平面的远程集群。

ingressGatewaysGatewaySpec[]
egressGatewaysGatewaySpec[]

BaseComponentSpec

基础组件的配置。

字段类型描述必需
enabledBoolValue

选择是否安装此组件。

k8sKubernetesResourcesSpec

Kubernetes 资源规范。

ComponentSpec

内部组件的配置。

字段类型描述必需
enabledBoolValue

选择是否安装此组件。

namespacestring

组件的命名空间。

hubstring

组件的 Hub(覆盖顶层 Hub 设置)。

tag

组件的标签(覆盖顶层标签设置)。

specStruct

组件的任意安装时配置。

k8sKubernetesResourcesSpec

Kubernetes 资源规范。

GatewaySpec

网关的配置。

字段类型描述必需
enabledBoolValue

选择是否安装此网关。

namespacestring

网关的命名空间。

namestring

网关的名称。

labelmap<string, string>

网关的标签。

hubstring

组件的 Hub(覆盖顶层 Hub 设置)。

tag

组件的标签(覆盖顶层标签设置)。

k8sKubernetesResourcesSpec

Kubernetes 资源规范。

KubernetesResourcesSpec

KubernetesResourcesSpec 是组件的一组通用的 Kubernetes 资源配置。

字段类型描述必需
affinity亲和性

Kubernetes 亲和性。 https://kubernetes.ac.cn/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

envEnvVar[]

部署环境变量。 https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-environment-variable-container/

hpaSpecHorizontalPodAutoscalerSpec

Kubernetes 水平 Pod 自动伸缩设置。 https://kubernetes.ac.cn/docs/tasks/run-application/horizontal-pod-autoscale/

imagePullPolicystring

Kubernetes 镜像拉取策略。 https://kubernetes.ac.cn/docs/concepts/containers/images/

nodeSelectormap<string, string>

Kubernetes 节点选择器。 https://kubernetes.ac.cn/docs/concepts/configuration/assign-pod-node/#nodeselector

podDisruptionBudgetPodDisruptionBudgetSpec

Kubernetes Pod 中断预算设置。 https://kubernetes.ac.cn/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work

podAnnotationsmap<string, string>

Kubernetes Pod 注释。 https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/annotations/

priorityClassNamestring

Kubernetes 优先级类名。除非被覆盖,否则所有资源的默认值。 https://kubernetes.ac.cn/docs/concepts/configuration/pod-priority-preemption/#priorityclass

readinessProbeReadinessProbe

Kubernetes 就绪探针设置。 https://kubernetes.ac.cn/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ k8s.io.api.core.v1.Probe readiness_probe = 9;

replicaCountuint32

Kubernetes 部署副本设置。 https://kubernetes.ac.cn/docs/concepts/workloads/controllers/deployment/

resourcesResources

Kubernetes 资源设置。 https://kubernetes.ac.cn/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container

serviceServiceSpec

Kubernetes 服务设置。 https://kubernetes.ac.cn/docs/concepts/services-networking/service/

strategyDeploymentStrategy

Kubernetes 部署策略。 https://kubernetes.ac.cn/docs/concepts/workloads/controllers/deployment/

tolerationsToleration[]

Kubernetes 容忍度 https://kubernetes.ac.cn/docs/concepts/configuration/taint-and-toleration/

serviceAnnotationsmap<string, string>

Kubernetes 服务注释。 https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/annotations/

securityContextPodSecurityContext

Kubernetes Pod 安全上下文 https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod

volumesVolume[]

Kubernetes 卷 https://kubernetes.ac.cn/docs/concepts/storage/volumes/ Volumes 定义注入 Pod 的 Volume 集合。

volumeMountsVolumeMount[]

Kubernetes 卷挂载 VolumeMounts 定义注入容器的 VolumeMount 集合。

overlaysK8sObjectOverlay[]

渲染清单中 Kubernetes 资源的覆盖。

K8sObjectOverlay

现有 Kubernetes 资源的补丁。

字段类型描述必需
apiVersionstring

资源 API 版本。

kindstring

资源种类。

namestring

资源的名称。命名空间始终是组件命名空间。

patchesPathValue[]

要应用于资源的补丁列表。

亲和性

参见 k8s.io.api.core.v1.Affinity。

字段类型描述必需
nodeAffinityNodeAffinity
podAffinityPodAffinity
podAntiAffinityPodAntiAffinity

ConfigMapKeySelector

参见 k8s.io.api.core.v1.ConfigMapKeySelector。

字段类型描述必需
localObjectReferenceLocalObjectReference
keystring
optionalbool

ContainerResourceMetricSource

参见 k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource。

字段类型描述必需
namestring
targetMetricTarget
containerstring

ContainerResourceMetricStatus

参见 k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus。

字段类型描述必需
namestring
currentMetricValueStatus
containerstring

ClientIPConfig

参见 k8s.io.api.core.v1.ClientIPConfig。

字段类型描述必需
timeoutSecondsint32

CrossVersionObjectReference

参见 k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference。

字段类型描述必需
kindstring
namestring
apiVersionstring

DeploymentStrategy

参见 k8s.io.api.apps.v1.DeploymentStrategy。

字段类型描述必需
typestring
rollingUpdateRollingUpdateDeployment

EnvVar

参见 k8s.io.api.core.v1.EnvVar。

字段类型描述必需
namestring
valuestring
valueFromEnvVarSource

EnvVarSource

参见 k8s.io.api.core.v1.EnvVarSource。

字段类型描述必需
fieldRefObjectFieldSelector
resourceFieldRefResourceFieldSelector
configMapKeyRefConfigMapKeySelector
secretKeyRefSecretKeySelector

ExecAction

参见 k8s.io.api.core.v1.ExecAction。

字段类型描述必需
commandstring[]

ExternalMetricSource

参见 k8s.io.api.autoscaling.v2beta2.ExternalMetricSource。

字段类型描述必需
metricMetricIdentifier
targetMetricTarget
metricNamestring
metricSelectorLabelSelector
targetValueIntOrString
targetAverageValueIntOrString

ExternalMetricStatus

参见 k8s.io.autoscaling.v2beta2.ExternalMetricStatus。

字段类型描述必需
metricMetricIdentifier
currentMetricValueStatus

HTTPGetAction

参见 k8s.io.api.core.v1.HTTPGetAction。

字段类型描述必需
pathstring
portIntOrString
hoststring
schemestring
httpHeadersHTTPHeader[]

HTTPHeader

参见 k8s.io.api.core.v1.HTTPHeader。

字段类型描述必需
namestring
valuestring

HorizontalPodAutoscalerSpec

参见 k8s.io.autoscaling.v2beta1.HorizontalPodAutoscalerSpec。

字段类型描述必需
scaleTargetRefCrossVersionObjectReference
minReplicasint32
maxReplicasint32
metricsMetricSpec[]
behaviorHorizontalPodAutoScalerBehavior

HorizontalPodAutoScalerBehavior

参见 k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior。

字段类型描述必需
scaleUpHPAScalingRules
scaleDownHPAScalingRules

HPAScalingRules

参见 k8s.io.autoscaling.v2beta2.HPAScalingRules。

字段类型描述必需
stabilizationWindowSecondsint32
selectPolicystring
policiesHPAScalingPolicy[]

HPAScalingPolicy

参见 k8s.io.autoscaling.v2beta2.HPAScalingPolicy。

字段类型描述必需
typestring
valueint32
periodSecondsint32

LocalObjectReference

参见 k8s.io.api.core.v1.LocalObjectReference。

字段类型描述必需
namestring

MetricIdentifier

参见 k8s.io.autoscaling.v2beta2.MetricIdentifier。

字段类型描述必需
namestring (oneof)
selectorLabelSelector

MetricSpec

参见 k8s.io.autoscaling.v2beta2.MetricSpec。

字段类型描述必需
typestring
objectObjectMetricSource
podsPodsMetricSource
resourceResourceMetricSource
containerResourceContainerResourceMetricSource
externalExternalMetricSource

MetricStatus

参见 k8s.io.autoscaling.v2beta2.MetricStatus。

字段类型描述必需
typestring
objectObjectMetricStatus
podsPodsMetricStatus
resourceResourceMetricStatus
containerResourceContainerResourceMetricStatus
externalExternalMetricStatus

MetricTarget

参见 k8s.io.autoscaling.v2beta2.MetricTarget。

字段类型描述必需
typestring
valueIntOrString
averageValueIntOrString
averageUtilizationint32

MetricValueStatus

参见 k8s.io.autoscaling.v2beta2.MetricValueStatus。

字段类型描述必需
valueIntOrString
averageValueIntOrString
averageUtilizationint32

NodeAffinity

参见 k8s.io.api.core.v1.NodeAffinity。

字段类型描述必需
requiredDuringSchedulingIgnoredDuringExecutionNodeSelector
preferredDuringSchedulingIgnoredDuringExecutionPreferredSchedulingTerm[]

NodeSelector

参见 k8s.io.api.core.v1.NodeSelector。

字段类型描述必需
nodeSelectorTermsNodeSelectorTerm[]

NodeSelectorTerm

参见 k8s.io.api.core.v1.NodeSelectorTerm。

字段类型描述必需
matchExpressionsNodeSelectorRequirement[]
matchFieldsNodeSelectorRequirement[]

NodeSelectorRequirement

参见 k8s.io.api.core.v1.NodeSelectorRequirement。

字段类型描述必需
keystring
operatorstring
valuesstring[]

ObjectFieldSelector

参见 k8s.io.api.core.v1.ObjectFieldSelector。

字段类型描述必需
apiVersionstring
fieldPathstring

ObjectMeta

来自 k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta。

字段类型描述必需
namestring
namespacestring

ObjectMetricSource

参见 k8s.io.autoscaling.v2beta2.ObjectMetricSource。

字段类型描述必需
target

类型从 CrossVersionObjectReference 更改为 autoscaling v2beta2/v2 中的 ResourceMetricTarget,与 v2beta1 相比,将其更改为动态类型以保持向后兼容

describedObjectCrossVersionObjectReference
metricMetricIdentifier
metricNamestring
targetValueIntOrString
selectorLabelSelector
averageValueIntOrString

ObjectMetricStatus

参见 k8s.io.autoscaling.v2beta2.ObjectMetricStatus。

字段类型描述必需
metricMetricIdentifier
currentMetricValueStatus
describedObjectCrossVersionObjectReference

PodAffinity

参见 k8s.io.api.core.v1.PodAffinity。

字段类型描述必需
requiredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm[]
preferredDuringSchedulingIgnoredDuringExecutionWeightedPodAffinityTerm[]

PodAntiAffinity

参见 k8s.io.api.core.v1.PodAntiAffinity。

字段类型描述必需
requiredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm[]
preferredDuringSchedulingIgnoredDuringExecutionWeightedPodAffinityTerm[]

PodAffinityTerm

参见 k8s.io.api.core.v1.PodAntiAffinity。

字段类型描述必需
labelSelectorLabelSelector
namespacesstring[]
topologyKeystring

PodDisruptionBudgetSpec

参见 k8s.io.api.policy.v1beta1.PodDisruptionBudget。

字段类型描述必需
minAvailableIntOrString
selectorLabelSelector
maxUnavailableIntOrString

PodsMetricSource

参见 k8s.io.autoscaling.v2beta2.PodsMetricSource。

字段类型描述必需
metricMetricIdentifier

v2beta2/v2 字段

targetMetricTarget
metricNamestring
targetAverageValueIntOrString
selectorLabelSelector

PodsMetricStatus

参见 k8s.io.autoscaling.v2beta2.PodsMetricStatus。

字段类型描述必需
metricMetricIdentifier
currentMetricValueStatus

PreferredSchedulingTerm

参见 k8s.io.api.core.v1.PreferredSchedulingTerm。

字段类型描述必需
weightint32
preferenceNodeSelectorTerm

ReadinessProbe

参见 k8s.io.api.core.v1.ReadinessProbe。

字段类型描述必需
execExecAction
httpGetHTTPGetAction
tcpSocketTCPSocketAction
initialDelaySecondsint32
timeoutSecondsint32
periodSecondsint32
successThresholdint32
failureThresholdint32

ResourceFieldSelector

参见 k8s.io.api.core.v1..

字段类型描述必需
containerNamestring
resourcestring
divisorIntOrString

ResourceMetricSource

参见 k8s.io.autoscaling.v2beta2.ResourceMetricSource。

字段类型描述必需
namestring
targetMetricTarget
targetAverageUtilizationint32
targetAverageValueIntOrString

ResourceMetricStatus

参见 k8s.io.autoscaling.v2beta2.ResourceMetricStatus。

字段类型描述必需
namestring
currentMetricValueStatus

Resources

参见 k8s.io.api.core.v1.ResourceRequirements。

字段类型描述必需
limitsmap<string, string>
requestsmap<string, string>

RollingUpdateDeployment

参见 k8s.io.api.apps.v1.RollingUpdateDeployment。

字段类型描述必需
maxUnavailableIntOrString
maxSurgeIntOrString

SecretKeySelector

参见 k8s.io.api.core.v1.SecretKeySelector。

字段类型描述必需
localObjectReferenceLocalObjectReference
keystring
optionalbool

ServiceSpec

参见 k8s.io.api.core.v1.ServiceSpec。

字段类型描述必需
portsServicePort[]
selectormap<string, string>
clusterIPstring
typestring
externalIPsstring[]
sessionAffinitystring
loadBalancerIPstring
loadBalancerSourceRangesstring[]
externalNamestring
externalTrafficPolicystring
healthCheckNodePortint32
publishNotReadyAddressesbool
sessionAffinityConfigSessionAffinityConfig
loadBalancerClassstring

ServicePort

参见 k8s.io.api.core.v1..

字段类型描述必需
namestring
协议string
portint32
目标端口IntOrString
节点端口int32
应用程序协议string

SessionAffinityConfig

参见 k8s.io.api.core.v1.SessionAffinityConfig。

字段类型描述必需
客户端 IPClientIPConfig

TCPSocketAction

参见 k8s.io.api.core.v1.TCPSocketAction。

字段类型描述必需
portIntOrString
hoststring

Toleration

参见 k8s.io.api.core.v1.Toleration。

字段类型描述必需
keystring
operatorstring
valuestring
效果string
容忍秒数int64

WeightedPodAffinityTerm

参见 k8s.io.api.core.v1.WeightedPodAffinityTerm。

字段类型描述必需
weightint32
Pod 亲和性术语PodAffinityTerm

PodSecurityContext

参见 k8s.io.api.core.v1.PodSecurityContext。

字段类型描述必需
SELinux 选项SELinuxOptions
以用户身份运行int64
以非 root 身份运行bool
补充组int64[]
文件系统组int64
以组身份运行int64
系统控制Sysctl[]
Windows 选项WindowsSecurityContextOptions
文件系统组更改策略string
Seccomp 配置文件SeccompProfile

SELinuxOptions

参见 k8s.io.api.core.v1.SELinuxOptions。

字段类型描述必需
用户string
角色string
typestring
级别string

Sysctl

参见 k8s.io.api.core.v1.Sysctl。

字段类型描述必需
namestring
valuestring

WindowsSecurityContextOptions

参见 k8s.io.api.core.v1.WindowsSecurityContextOptions。

字段类型描述必需
GMSA 凭证规范名称string
GMSA 凭证规范string
以用户名身份运行string

SeccompProfile

参见 k8s.io.api.core.v1.SeccompProfile。

字段类型描述必需
typestring
本地主机配置文件string

IntOrString

IntOrString 是一种可以保存 int32 或字符串的类型。在 JSON 或 YAML 序列化和反序列化中使用时,它会生成或使用内部类型。这使您可以拥有例如一个 JSON 字段,该字段可以接受名称或数字。

字段类型描述必需
typeint64
整数值Int32Value
字符串值StringValue

K8sObjectOverlay.PathValue

字段类型描述必需
pathstring

形式为 a.[key1:value1].b.[:value2] 的路径,其中 [key1:value1] 是用于标识列表元素的键值对选择器,而 [:value] 是用于标识叶列表中的列表元素的值选择器。所有路径中间节点必须存在。

value

要添加、删除或替换的值。对于添加,路径应为新的叶子节点。对于删除,值应为未设置。对于替换,路径应引用现有节点。所有值都是字符串,但根据模式转换为适当的类型。

google.protobuf.Value

Value 代表一个动态类型的 value,可以是 null、数字、字符串、布尔值、递归结构化 value 或 value 列表。value 的生产者应设置其中一个变体,如果缺少任何变体则表示错误。

Value 的 JSON 表示形式为 JSON value。

字段类型描述必需
nullValueNullValue (oneof)

表示 null 值。

numberValuedouble (oneof)

表示 double 值。

stringValuestring (oneof)

表示字符串值。

boolValuebool (oneof)

表示布尔值。

structValueStruct (oneof)

表示结构化值。

listValueListValue (oneof)

表示重复的 Value

k8s.io.api.core.v1.Volume

Volume 代表 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。

字段类型描述必需
namestring

卷的名称。必须是 DNS_LABEL 并且在 Pod 中是唯一的。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names

volumeSourceVolumeSource

volumeSource 表示挂载卷的位置和类型。如果未指定,则卷被隐式视为 EmptyDir。此隐式行为已弃用,将在未来的版本中删除。

k8s.io.api.core.v1.VolumeMount

VolumeMount 描述了容器中卷的挂载。

字段类型描述必需
namestring

这必须与卷的名称匹配。

readOnlybool

如果为 true,则以只读方式挂载,否则为读写方式(false 或未指定)。默认值为 false。

mountPathstring

容器中应该挂载卷的路径。不得包含“:”。

subPathstring

卷中容器卷应该挂载的路径。默认值为 ""(卷的根目录)。

mountPropagationstring

mountPropagation 决定了如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为测试版。

subPathExprstring

卷中容器卷应该挂载的扩展路径。行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行扩展。默认值为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。

k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector

标签选择器是针对一组资源的标签查询。matchLabels 和 matchExpressions 的结果是 ANDed。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

字段类型描述必需
matchLabelsmap<string, string>

matchLabels 是一个 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed。

matchExpressionsLabelSelectorRequirement[]

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed。

这些信息是否有用?
您是否有任何改进建议?

感谢您的反馈!