• Kubernetes
    • OutputTemplate
    • 模板

    Kubernetes

    kubernetes 模板控制 Kubernetes 特有的属性生成过程。

    配置样例:

    1. apiVersion: "config.istio.io/v1alpha2"
    2. kind: kubernetes
    3. metadata:
    4. name: attributes
    5. namespace: istio-system
    6. spec:
    7. # 向适配器传递必要的属性数据
    8. source_uid: source.uid | ""
    9. source_ip: source.ip | ip("0.0.0.0") # 缺省为不确定的 IP 地址
    10. destination_uid: destination.uid | ""
    11. destination_ip: destination.ip | ip("0.0.0.0") # 缺省为不确定的 IP 地址
    12. attribute_bindings:
    13. # 用适配器生成的输出数据填充新属性。
    14. # $out 指代 OutputTemplate 消息中的实例。
    15. source.ip: $out.source_pod_ip
    16. source.labels: $out.source_labels
    17. source.namespace: $out.source_namespace
    18. source.service: $out.source_service
    19. source.serviceAccount: $out.source_service_account_name
    20. destination.ip: $out.destination_pod_ip
    21. destination.labels: $out.destination_labels
    22. destination.namespace: $out.destination_mamespace
    23. destination.service: $out.destination_service
    24. destination.serviceAccount: $out.destination_service_account_name

    OutputTemplate

    OutputTemplate 代表从适配器中生成的输出,它在 attribute_binding 字段中使用,使用格式为 $out.<field name of the OutputTemplate>,用来给属性填充数据。

    字段类型说明
    sourcePodUidstringPod 的 source.uid。TCP 用例中没有这一属性。在 attribute_binding 用表达式 $out.source_pod_uid 来使用该字段
    sourcePodIpistio.policy.v1beta1.IPAddress源 Pod 的 IP 地址。在 attribute_binding 用表达式 $out.source_pod_ip 来使用该字段
    sourcePodNamestring源 Pod 的名称。在 attribute_binding 用表达式 $out.source_pod_name 来使用该字段
    sourceLabelsmap<string, string>源 Pod 的标签。在 attribute_binding 用表达式 $out.source_labels 来使用该字段
    sourceNamespacestring源 Pod 所属的命名空间。在 attribute_binding 用表达式 $out.source_namespace 来使用该字段
    sourceServiceAccountNamestring源 Pod 的 ServiceAccount 名称。在 attribute_binding 用表达式 $out.source_service_account_name 来使用该字段
    sourceHostIpistio.policy.v1beta1.IPAddress源 Pod 所在主机的 IP 地址。在 attribute_binding 用表达式 $out.source_host_ip 来使用该字段
    sourceWorkloadUidstring源 Pod 所在的 Istio 工作负载标识符。在 attribute_binding 用表达式 $out.source_workload_uid 来使用该字段
    sourceWorkloadNamestring源 Pod 所在的 Istio 工作负载的名称。在 attribute_binding 用表达式 $out.source_workload_name 来使用该字段
    sourceWorkloadNamespacestring源 Pod 所在的 Istio 工作负载的命名空间。在 attribute_binding 用表达式 $out.source_workload_namespace 来使用该字段
    sourceOwnerstring源 Pod 的属主(控制器)。在 attribute_binding 用表达式 $out.source_owner 来使用该字段
    destinationPodUidstringPod 的 destination.uid。TCP 用例中没有这一属性。在 attribute_binding 用表达式 $out.destination_pod_uid 来使用该字段
    destinationPodIpistio.policy.v1beta1.IPAddress目的 Pod 的 IP 地址。在 attribute_binding 用表达式 $out.destination_pod_ip 来使用该字段
    destinationPodNamestring目的 Pod 的名称。在 attribute_binding 用表达式 $out.destination_pod_name 来使用该字段
    destinationContainerNamestring目的 Pod 的容器名称。在 attribute_binding 用表达式 $out.destination_container_name 来使用该字段
    destinationLabelsstring目的 Pod 的标签。在 attribute_binding 用表达式 $out.destination_labels 来使用该字段
    destinationNamespacestring目的 Pod 所属的命名空间。在 attribute_binding 用表达式 $out.destination_namespace 来使用该字段
    destinationServiceAccountNamestring目的 Pod 的 ServiceAccount 名称。在 attribute_binding 用表达式 $out.destination_service_account_name 来使用该字段
    destinationHostIpistio.policy.v1beta1.IPAddress目的 Pod 所在主机的 IP 地址。在 attribute_binding 用表达式 $out.destination_host_ip 来使用该字段
    destinationOwnerstring目标 Pod 的属主(控制器)。在 attribute_binding 用表达式 $out.destination_owner 来使用该字段
    destinationWorkloadUidstring目的 Pod 所在的 Istio 工作负载标识符。在 attribute_binding 用表达式 $out.destination_workload_uid 来使用该字段
    destinationWorkloadNamestring目的 Pod 所在的 Istio 工作负载的名称。在 attribute_binding 用表达式 $out.destination_workload_name 来使用该字段
    destinationWorkloadNamespacestring目的 Pod 所在的 Istio 工作负载的命名空间。在 attribute_binding 用表达式 $out.destination_workload_namespace 来使用该字段

    模板

    kubernetes 模板中呈现了用于生成 Kubernetes 特定属性的数据。

    字段类型描述
    sourceUidstring源 Pod 的 uid,格式为 kubernetes://pod.namespace
    sourceIpistio.policy.v1beta1.IPAddress源 Pod 的 IP 地址
    destinationUidstring目标 Pod 的 uid,格式为 kubernetes://pod.namespace
    destinationIpistio.policy.v1beta1.IPAddress目标 Pod 的 IP 地址
    destinationPortint64目标容器的端口号