Istio Gateway and Traffic Routing does not work (deployed via Jenkins X/jx)

2/27/2019

So we have a environment staging" repo which was created by jenkins x. In it we commit the following ymls to theenv/templates` folder. The kubernetes cluster is in AWS EKS.

apiVersion: v1
kind: Namespace
metadata:
  name: global-gateway
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: app-gateway
  namespace: global-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: app-hosts
  namespace: jx-staging
spec:
  hosts:
  - "*"
  gateways:
  - app-gateway.global-gateway.svc.cluster.local
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: test-app
        port:
          number: 80

The above YMLs work perfectly, and I can access the service when applied via kubectl apply -f .

However instead of creating them manually we commit and push it to the repo which triggers a JX job which runs successfully. Afterwards we can see that all of the Gateway and VirtualService has been deployed correctly. i.e. if we run kubectl get Gateway we can see our gateway.

However the URL does not work and does not redirect to the microservice after been applied from jenkins.

The command that jenkins seems to run is

helm upgrade --namespace jx-staging --install --wait --force --timeout 600 --values values.yaml jx-staging .

To try and diagnose the problem I deployed using kubectl and jenkins and diffed the output of kubectl describe Gateway/VirtualService <name>

The jenkins/heml deployment showed Annotations: <none> while when deployed with kubectl it showed showed

Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"networking.istio.

The Resource Version numbers were also different but I assume that is correct and alright?

EDIT: The helm chart is as follows as well

description: GitOps Environment for this Environment
icon: https://www.cloudbees.com/sites/default/files/Jenkins_8.png
maintainers:
- name: Team
name: env
version: "39"

Please advice on how to get the istio gateway running with jx/helm.

-- MilindaD
istio
jenkins--x
kubernetes
kubernetes-helm

0 Answers