1---
2apiVersion: apps/v1
3kind: Deployment
4metadata:
5  name: ${deployment_name}
6  namespace: ${namespace_name}
7  labels:
8    app: ${deployment_name}
9    deployment_id: ${deployment_id}
10    owner: xds-k8s-interop-test
11spec:
12  replicas: 1
13  selector:
14    matchLabels:
15      app: ${deployment_name}
16      deployment_id: ${deployment_id}
17  template:
18    metadata:
19      labels:
20        app: ${deployment_name}
21        deployment_id: ${deployment_id}
22        owner: xds-k8s-interop-test
23      annotations:
24        security.cloud.google.com/use-workload-certificates: ""
25    spec:
26      serviceAccountName: ${service_account_name}
27      containers:
28      - name: ${deployment_name}
29        image: ${image_name}
30        imagePullPolicy: Always
31        startupProbe:
32          tcpSocket:
33            port: ${stats_port}
34          periodSeconds: 3
35          ## Extend the number of probes well beyond the duration of the test
36          ## driver waiting for the container to start.
37          failureThreshold: 1000
38        args:
39          - "--server=${server_target}"
40          - "--stats_port=${stats_port}"
41          - "--secure_mode=${secure_mode}"
42          - "--qps=${qps}"
43          - "--rpc=${rpc}"
44          - "--print_response=${print_response}"
45        ports:
46          - containerPort: ${stats_port}
47        env:
48          - name: GRPC_XDS_BOOTSTRAP
49            value: "/tmp/grpc-xds/td-grpc-bootstrap.json"
50          - name: GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT
51            value: "true"
52          - name: GRPC_XDS_EXPERIMENTAL_V3_SUPPORT
53            value: "true"
54        volumeMounts:
55          - mountPath: /tmp/grpc-xds/
56            name: grpc-td-conf
57            readOnly: true
58        resources:
59          limits:
60            cpu: 800m
61            memory: 512Mi
62          requests:
63            cpu: 100m
64            memory: 512Mi
65      initContainers:
66        - name: grpc-td-init
67          image: ${td_bootstrap_image}
68          imagePullPolicy: Always
69          args:
70            - "--output=/tmp/bootstrap/td-grpc-bootstrap.json"
71            - "--vpc-network-name=${network}"
72            % if xds_server_uri:
73            - "--xds-server-uri=${xds_server_uri}"
74            % endif
75            % if config_mesh:
76            - "--config-mesh-experimental=${config_mesh}"
77            % endif
78          resources:
79            limits:
80              cpu: 100m
81              memory: 100Mi
82            requests:
83              cpu: 10m
84              memory: 100Mi
85          volumeMounts:
86            - mountPath: /tmp/bootstrap/
87              name: grpc-td-conf
88      volumes:
89        - name: grpc-td-conf
90          emptyDir:
91            medium: Memory
92...
93