apiVersion: v1 kind: Pod metadata: name: client namespace: istio-vt-t04 labels: app: client annotations: sidecar.istio.io/inject: "true" spec: containers: - name: curl image: curlimages/curl:8.14.1 command: ["sleep", "infinity"] --- apiVersion: apps/v1 kind: Deployment metadata: name: phantom-echo namespace: istio-vt-t04 labels: app: phantom-echo spec: replicas: 2 selector: matchLabels: app: phantom-echo template: metadata: labels: app: phantom-echo annotations: sidecar.istio.io/inject: "true" spec: containers: - name: echo image: hashicorp/http-echo:0.2.3 args: - "-text=phantom-echo-ok" - "-listen=:5678" ports: - containerPort: 5678 readinessProbe: httpGet: path: / port: 5678 periodSeconds: 1 failureThreshold: 1 --- apiVersion: v1 kind: Service metadata: name: phantom-echo namespace: istio-vt-t04 spec: selector: app: phantom-echo ports: - name: http port: 80 targetPort: 5678 --- apiVersion: apps/v1 kind: Deployment metadata: name: echo-graceful namespace: istio-vt-t04 labels: app: echo-graceful spec: replicas: 2 selector: matchLabels: app: echo-graceful template: metadata: labels: app: echo-graceful annotations: sidecar.istio.io/inject: "true" spec: terminationGracePeriodSeconds: 15 containers: - name: whoami image: traefik/whoami:v1.10 ports: - containerPort: 80 readinessProbe: httpGet: path: / port: 80 periodSeconds: 2 lifecycle: preStop: exec: command: ["sh", "-c", "sleep 8"] --- apiVersion: v1 kind: Service metadata: name: echo-graceful namespace: istio-vt-t04 spec: selector: app: echo-graceful ports: - name: http port: 80 targetPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: mitig-echo namespace: istio-vt-t04 labels: app: mitig-echo spec: replicas: 2 selector: matchLabels: app: mitig-echo template: metadata: labels: app: mitig-echo annotations: sidecar.istio.io/inject: "true" spec: containers: - name: echo image: hashicorp/http-echo:0.2.3 args: - "-text=mitig-echo-ok" - "-listen=:5678" ports: - containerPort: 5678 --- apiVersion: v1 kind: Service metadata: name: mitig-echo namespace: istio-vt-t04 spec: selector: app: mitig-echo ports: - name: http port: 80 targetPort: 5678 --- apiVersion: networking.istio.io/v1 kind: DestinationRule metadata: name: mitig-echo-outlier namespace: istio-vt-t04 spec: host: mitig-echo trafficPolicy: outlierDetection: consecutive5xxErrors: 1 consecutiveGatewayErrors: 1 interval: 5s baseEjectionTime: 30s maxEjectionPercent: 50 --- apiVersion: networking.istio.io/v1 kind: VirtualService metadata: name: mitig-echo-retry namespace: istio-vt-t04 spec: hosts: - mitig-echo http: - route: - destination: host: mitig-echo retries: attempts: 3 perTryTimeout: 1s retryOn: connect-failure,refused-stream,reset,gateway-error