[ICN-380] Install Istio for replicated control planes Created: 17/Jun/20  Updated: 17/Dec/20  Resolved: 02/Jul/20

Status: Done
Project: Integrated Cloud Native NFV
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Story Priority: Medium
Reporter: Igor Duarte Cardoso Assignee: Igor Duarte Cardoso
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to ICN-381 Test forwarding traffic to custom suffix Done
relates to ICN-376 DCM re-ramp on Itohan's docs Done
Epic Link: DCM dev works
Sprint: ICN Sprint 20, ICN Sprint 21
Story Points: 12

 Description   

Install Istio for replicated control planes according to Istio's and Itohan's instructions:

https://istio.io/latest/docs/setup/install/multicluster/gateways/

https://wiki.onap.org/display/DW/Istio+for+DCM

 

Will leverage Vagrant VMs and existing scripts from containerized KUD to significantly reduce time spent on this task and achieve ~2 story points.



 Comments   
Comment by Igor Duarte Cardoso [ 02/Jul/20 ]

The specific cause of the issue above has not been found but I now know how this issue can happen vs. how not to have this issue. The two final tests were not modifying the coredns configmap as agressively as outlined in https://istio.io/latest/docs/setup/install/multicluster/gateways/ and deploying k8s in a different way. 

I have been deploying KUD k8s on VMs using the KUD job, as follows:

kubectl create 
apiVersion: batch/v1
kind: Job
metadata:
  name: kud-$CLUSTER_NAME
spec:
  template:
    spec:
      hostNetwork: true
      containers:
        - name: kud
          image: github.com/onap/multicloud-k8s:latest
          imagePullPolicy: IfNotPresent
          volumeMounts:
          - name: multi-cluster
            mountPath: /opt/kud/multi-cluster
          - name: secret-volume
            mountPath: "/.ssh"
          command: ["/bin/sh","-c"]
          args: ["cp -r /.ssh /root/; chmod -R 600 /root/.ssh; ./installer --cluster $CLUSTER_NAME --plugins onap4k8s"]
          securityContext:
            privileged: true
      volumes:
      - name: multi-cluster
        hostPath:
          path: /opt/kud/multi-cluster
      - name: secret-volume
        secret:
          secretName: ssh-key-secret
      restartPolicy: Never
  backoffLimit: 0

If, instead, I use the same exact setup and VMs but go into the VMs and manually install KUD there using:

kud/hosting_providers/baremetal/aio.sh

Then Istio will install correctly and I am able to test network connectivity between the 2 clusters.
It is possible that some some KUD/ICN plugins are interfering with Istio because I have also disabled them when installing KUD manually via the aio.sh script. The reason I did it was the current failure of QAT plugin to install.
To confirm, I have reproduced failure on KUD job 2 extra times and success on KUD aio.sh 2 extra times.
The extra struggles around Istio certainly provided a better understanding of Istio than if no issues had been faced.
Closing the story now.

Comment by Igor Duarte Cardoso [ 01/Jul/20 ]

Still blocked.

Comment by Igor Duarte Cardoso [ 26/Jun/20 ]

Additionally, attempted to start with a fresh deployment and now am blocked by a totally new issue that wasn't an issue 1-2 weeks ago:

 

New pastebin of new issue: https://pastebin.com/JYwsCYjY

It seems like it's expecting a proxy but none are set (unless new code is setting them) and none are needed.

Comment by Igor Duarte Cardoso [ 26/Jun/20 ]

Blocked due to lacking connectivity between istio clusters:

 

https://istio.io/latest/docs/setup/install/multicluster/gateways/

 

Can’t get traffic to go from one cluster to the other:

$ kubectl exec --context=$CTX_CLUSTER1 $SLEEP_POD -n foo -c sleep – curl -I httpbin.bar.global:8000/headers

 

The command is from the link above. That curl fails with a connection refused.

 

The best I can find in the logs so far is this from the istio-proxy container of the $SLEEP_POD pod:

transport: Error while dialing dial tcp: lookup istiod.istio-system.svc on 10.244.0.3:53: no such host

 

A full log of that same istio-proxy container is here: https://pastebin.com/g1sDSxMG

Generated at Sat Feb 10 05:59:28 UTC 2024 using Jira 9.4.5#940005-sha1:e3094934eac4fd8653cf39da58f39364fb9cc7c1.