工作负载组

WorkloadGroup 描述了一组工作负载实例。它提供了一个规范,工作负载实例可以使用该规范来引导其代理,包括元数据和身份。它仅用于虚拟机等非 k8s 工作负载,旨在模仿用于 Kubernetes 工作负载引导 Istio 代理的现有 Sidecar 注入和部署规范模型。

以下示例声明了一个工作负载组,它代表一组将在 bookinfo 命名空间中的 reviews 下注册的工作负载。该组标签将在引导过程中与每个工作负载实例关联,并且端口 3550 和 8080 将与工作负载组关联,并使用服务帐户 defaultapp.kubernetes.io/version 只是标签的一个任意示例。

apiVersion: networking.istio.io/v1
kind: WorkloadGroup
metadata:
  name: reviews
  namespace: bookinfo
spec:
  metadata:
    labels:
      app.kubernetes.io/name: reviews
      app.kubernetes.io/version: "1.3.4"
  template:
    ports:
      grpc: 3550
      http: 8080
    serviceAccount: default
  probe:
    initialDelaySeconds: 5
    timeoutSeconds: 3
    periodSeconds: 4
    successThreshold: 3
    failureThreshold: 3
    httpGet:
     path: /foo/bar
     host: 127.0.0.1
     port: 3100
     scheme: HTTPS
     httpHeaders:
     - name: Lit-Header
       value: Im-The-Best

WorkloadGroup

WorkloadGroup 允许为单个工作负载指定属性,并提供 WorkloadEntry 模板,类似于 Deployment 通过 Pod 模板指定工作负载属性的方式。一个 WorkloadGroup 可以包含多个 WorkloadEntryWorkloadGroup 与控制服务注册的资源(如 ServiceEntry)没有关系,因此不会为这些工作负载配置主机名。

字段类型描述必填
metadataObjectMeta

将用于所有相应 WorkloadEntries 的元数据。工作负载组的用户标签应设置在此处的 metadata 中,而不是 template 中。

templateWorkloadEntry

用于生成属于此 WorkloadGroupWorkloadEntry 资源的模板。请注意,addresslabels 字段不应在模板中设置,并且空 serviceAccount 应该默认设置为 default。工作负载身份(mTLS 证书)将使用指定的服务帐户的令牌进行引导。此组中的工作负载条目将与工作负载组在同一个命名空间中,并继承来自上述 metadata 字段的标签和注释。

probeReadinessProbe

ReadinessProbe 描述了用户必须为其工作负载上的健康检查提供的配置。此配置在语法和逻辑方面与 K8S 大致相同。

ReadinessProbe

字段类型描述必填
initialDelaySecondsint32

容器启动后,在启动就绪探测之前等待的秒数。

timeoutSecondsint32

探测超时前的秒数。默认为 1 秒。最小值为 1 秒。

periodSecondsint32

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1 秒。

successThresholdint32

探测被认为成功的连续成功次数的最小值,前提是探测之前曾失败。默认为 1 秒。

failureThresholdint32

探测被认为失败的连续失败次数的最小值,前提是探测之前曾成功。默认为 3 秒。

httpGetHTTPHealthCheckConfig (oneof)

httpGet 执行到给定的端点,并通过状态/连接能力来确定健康状况。

tcpSocketTCPHealthCheckConfig (oneof)

健康状况由代理是否能够连接来决定。

execExecHealthCheckConfig (oneof)

健康状况由执行的命令的退出方式决定。

HTTPHealthCheckConfig

字段类型描述必填
pathstring

HTTP 服务器上要访问的路径。

portuint32

端点所在的端口。

hoststring

要连接到的主机名,默认为 Pod IP。您可能想要在 httpHeaders 中设置“Host”。

schemestring

HTTP 或 HTTPS,默认为 HTTP

httpHeadersHTTPHeader[]

代理将传递的用于发出请求的标头。允许重复标头。

HTTPHeader

字段类型描述必填
namestring

标头字段名称

valuestring

标头字段值

TCPHealthCheckConfig

字段类型描述必填
hoststring

要连接到的主机,默认为 localhost

portuint32

主机的端口

ExecHealthCheckConfig

字段类型描述必填
commandstring[]

要运行的命令。退出状态为 0 被视为活动/健康,非零则为不健康。

WorkloadGroup.ObjectMeta

ObjectMeta 描述了将附加到 WorkloadEntry 的元数据。它是受支持的 Kubernetes 元数据的子集。

字段类型描述必填
labelsmap<string, string>

要附加的标签

annotationsmap<string, string>

要附加的注释

这些信息对您有帮助吗?
您对改进有什么建议吗?

感谢您的反馈!