Kubernetes

The kubernetes template holds data that controls the production of Kubernetes-specificattributes.

Example config:

  1. apiVersion: "config.istio.io/v1alpha2"
  2. kind: kubernetes
  3. metadata:
  4. name: attributes
  5. namespace: istio-system
  6. spec:
  7. # Pass the required attribute data to the adapter
  8. source_uid: source.uid | ""
  9. source_ip: source.ip | ip("0.0.0.0") # default to unspecified ip addr
  10. destination_uid: destination.uid | ""
  11. destination_ip: destination.ip | ip("0.0.0.0") # default to unspecified ip addr
  12. attribute_bindings:
  13. # Fill the new attributes from the adapter produced output.
  14. # $out refers to an instance of OutputTemplate message
  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 refers to the output from the adapter. It is used inside the attribute_binding section of the configto assign values to the generated attributes using the $out.<field name of the OutputTemplate> syntax.Next ID: 33

FieldTypeDescriptionRequired
sourcePodUidstring
Refers to the source.uid for a pod. This is for TCP use cases where the attribute is not present.attribute_bindings can refer to this field using $out.source_pod_uid
No
sourcePodIpIPAddress
Refers to source pod ip address. attribute_bindings can refer to this field using $out.source_pod_ip
No
sourcePodNamestring
Refers to source pod name. attribute_bindings can refer to this field using $out.source_pod_name
No
sourceLabelsmap<string, string>
Refers to source pod labels. attribute_bindings can refer to this field using $out.source_labels
No
sourceNamespacestring
Refers to source pod namespace. attribute_bindings can refer to this field using $out.source_namespace
No
sourceServiceAccountNamestring
Refers to source pod service account name. attribute_bindings can refer to this field using $out.source_service_account_name
No
sourceHostIpIPAddress
Refers to source pod host ip address. attribute_bindings can refer to this field using $out.source_host_ip
No
sourceWorkloadUidstring
Refers to the Istio workload identifier for the source pod. Attribute_bindings can refer to this field using $out.source_workload_uid
No
sourceWorkloadNamestring
Refers to the Istio workload name for the source pod. Attribute_bindings can refer to this field using $out.source_workload_name
No
sourceWorkloadNamespacestring
Refers to the Istio workload namespace for the source pod. Attribute_bindings can refer to this field using $out.source_workload_namespace
No
sourceOwnerstring
Refers to the (controlling) owner of the source pod. Attribute_bindings can refer to this field using $out.source_owner
No
destinationPodUidstring
Refers to the destination.uid for a pod. This is for TCP use cases where the attribute is not present.attribute_bindings can refer to this field using $out.destination_pod_uid
No
destinationPodIpIPAddress
Refers to destination pod ip address. attribute_bindings can refer to this field using $out.destination_pod_ip
No
destinationPodNamestring
Refers to destination pod name. attribute_bindings can refer to this field using $out.destination_pod_name
No
destinationContainerNamestring
Refers to destination container name. attribute_bindings can refer to this field using $out.destination_container_name
No
destinationLabelsmap<string, string>
Refers to destination pod labels. attribute_bindings can refer to this field using $out.destination_labels
No
destinationNamespacestring
Refers to destination pod namespace. attribute_bindings can refer to this field using $out.destination_namespace
No
destinationServiceAccountNamestring
Refers to destination pod service account name. attribute_bindings can refer to this field using $out.destination_service_account_name
No
destinationHostIpIPAddress
Refers to destination pod host ip address. attribute_bindings can refer to this field using $out.destination_host_ip
No
destinationOwnerstring
Refers to the (controlling) owner of the destination pod. Attribute_bindings can refer to this field using $out.destination_owner
No
destinationWorkloadUidstring
Refers to the Istio workload identifier for the destination pod. Attribute_bindings can refer to this field using $out.destination_workload_uid
No
destinationWorkloadNamestring
Refers to the Istio workload name for the destination pod. Attribute_bindings can refer to this field using $out.destination_workload_name
No
destinationWorkloadNamespacestring
Refers to the Istio workload name for the destination pod. Attribute_bindings can refer to this field using $out.destination_workload_namespace
No

Template

The kubernetes template represents data used to generate kubernetes-derived attributes.

The values provided controls the manner in which the kubernetesenv adapter discovers andgenerates values related to pod information.Next ID: 8

FieldTypeDescriptionRequired
sourceUidstring
Source pod’s uid. Must be of the form: “kubernetes://pod.namespace”
No
sourceIpIPAddress
Source pod’s ip.
No
destinationUidstring
Destination pod’s uid. Must be of the form: “kubernetes://pod.namespace”
No
destinationIpIPAddress
Destination pod’s ip.
No
destinationPortint64
Destination container’s port number.
No