apiVersion: apps/v1 kind: Deployment metadata: name: testapp-srv labels: app: testapp-srv version: v1 spec: replicas: 3 selector: matchLabels: app: testapp-srv version: v1 template: metadata: labels: app: testapp-srv version: v1 spec: containers: - name: testapp-srv image: 127.0.0.1:5000/testapp/srv:v1 imagePullPolicy: Always ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: testapp-srv spec: type: ClusterIP ports: - name: http port: 8080 selector: app: testapp-srv --- apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: testapp-srv spec: selector: istio: ingressgateway servers: - port: number: 80 name: http protocol: HTTP hosts: - "k8s-testapp.example.com" --- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: testapp-srv spec: gateways: - testapp-srv hosts: - "k8s-testapp.example.com" http: - route: - destination: port: number: 8080 host: testapp-srv.default.svc.cluster.local