-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add configurable replicas and antiaffinity to gateway deployment for HA #553
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @NohaIhab, just a tiny comment on the tests, other than that lgtm and in accordance with the spec. I'm missing the testing, once I complete it, I'll come back with the results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @NohaIhab, just a tiny comment.
I tested this PR by deploying the charms from the branch and configuring the replicas to 2 so I saw the two ingress Pods being scheduled and the ingress functionality being split between the two.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @NohaIhab !
…t for HA (#553) * add configurable replicas to gateway deployment * add integration test for replicas * add unit tests
closes #496
Testing
1
and will contain the juju controller, the second VM will be act as Node2
.1.1 Launch first VM
1.2 Launch second VM
2
to Node1
3.1 In the first VM, run:
you will get an output similar to:
3.2 Copy the join command from the first VM, and run it with
sudo
in the second VM. For example:note the hostpath storage warning does not affect our test, this does not simulate a production deployment.
3.3 Make sure you can see both nodes with microk8s. You might need to wait a few minutes after the join command finished to see both nodes.
Example output:
kubeflow-volumes
charm to test the web-app is reachable through the ingresswait until all charms are active
kubeflow-volumes
web-app is reachable before scaling IstioExpected output:
istio-ingressgateway
deploymentistio-ingressgateway
Pods running, each on a separate Node:istio-ingressgateway-workload
pods. You should be able to see the requests being distributed across both Pods.9.1 Run this repeatedly multiple times, for example 10 times
9.2 Check the logs of each Pod, example logs:
Pod 1 logs
Pod 2 logs