| --- |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: ${deployment_name} |
| namespace: ${namespace_name} |
| labels: |
| app: ${deployment_name} |
| deployment_id: ${deployment_id} |
| owner: xds-k8s-interop-test |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| app: ${deployment_name} |
| deployment_id: ${deployment_id} |
| template: |
| metadata: |
| labels: |
| app: ${deployment_name} |
| deployment_id: ${deployment_id} |
| owner: xds-k8s-interop-test |
| spec: |
| % if service_account_name: |
| serviceAccountName: ${service_account_name} |
| % endif |
| containers: |
| - name: ${deployment_name} |
| image: ${image_name} |
| imagePullPolicy: Always |
| startupProbe: |
| tcpSocket: |
| port: ${stats_port} |
| periodSeconds: 3 |
| ## Extend the number of probes well beyond the duration of the test |
| ## driver waiting for the container to start. |
| failureThreshold: 1000 |
| args: |
| - "--server=${server_target}" |
| - "--stats_port=${stats_port}" |
| - "--qps=${qps}" |
| - "--rpc=${rpc}" |
| - "--metadata=${metadata}" |
| - "--print_response=${print_response}" |
| ports: |
| - containerPort: ${stats_port} |
| env: |
| - name: GRPC_XDS_BOOTSTRAP |
| value: "/tmp/grpc-xds/td-grpc-bootstrap.json" |
| - name: GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH |
| value: "true" |
| - name: GRPC_XDS_EXPERIMENTAL_ENABLE_RETRY |
| value: "true" |
| - name: GRPC_EXPERIMENTAL_XDS_CUSTOM_LB_CONFIG |
| value: "true" |
| - name: GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION |
| value: "true" |
| volumeMounts: |
| - mountPath: /tmp/grpc-xds/ |
| name: grpc-td-conf |
| readOnly: true |
| resources: |
| limits: |
| cpu: 800m |
| memory: 512Mi |
| requests: |
| cpu: 100m |
| memory: 512Mi |
| initContainers: |
| - name: grpc-td-init |
| image: ${td_bootstrap_image} |
| imagePullPolicy: Always |
| args: |
| - "--output=/tmp/bootstrap/td-grpc-bootstrap.json" |
| - "--vpc-network-name=${network}" |
| % if xds_server_uri: |
| - "--xds-server-uri=${xds_server_uri}" |
| % endif |
| % if config_mesh: |
| - "--config-mesh-experimental=${config_mesh}" |
| % endif |
| resources: |
| limits: |
| cpu: 100m |
| memory: 100Mi |
| requests: |
| cpu: 10m |
| memory: 100Mi |
| volumeMounts: |
| - mountPath: /tmp/bootstrap/ |
| name: grpc-td-conf |
| volumes: |
| - name: grpc-td-conf |
| emptyDir: |
| medium: Memory |
| ... |