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
[CI] Add install-k8s role #1665
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
just curious , I think k3s is a k8s compatible suite that we used for our test |
@jichenjc this is a copy-paste from what we had in OpenLab, where we used k3s for multi-node setup, and then regular k8s built from source and run with local-cluster-up.sh for the rest. |
The setup in this PR is known to work well, but I do agree that cleaner solution would be to do as you suggested. |
thanks for the info, maybe other guys have comments .. I personally think if we have one (k3s), unless really needed, I prefer to not introduce other test backend to make consistent and easy maintain |
my 0.02 cents: it feels like the install-k3s role seems to do a lot more heavy-lifting to get k3s working - i.e., creating master, worker VMs, setting up networking, FIPs etc. I see this as a simpler alternative for testing components like manila that can be made to work without compute/image/volume/networking dependencies. |
Maybe I have 2 questions about this PR:
|
@lingxiankong thanks for the input! If it's ok to run with stable k8s releases (I'm not sure why this wasn't the case already in OpenLab), there are easier ways to get a cluster going. Would kubeadm be acceptable? A role for this already exists in https://github.com/theopenlab/openlab-zuul-jobs/tree/master/roles/create-single-k8s-cluster-with-kubeadm , maybe we can borrow it and use it here too. As far as manila-csi-plugin goes, this is completely sufficient as it doesn't need any of the cloud provider stuff. |
Some historical reasons :-)
Yes, kubeadm could definitely do the job. However, compared with k3s or other lightweight alternatives, kubeadm is apparent not the best option :-) Because with the others, you can also choose to not create VMs inside devstack, but just run their binaries directly on the CI host. I believe the CI best practice is to get rid of as more things that are not relevant as possible. Again, it's totally your choice for manila-csi-plugin, above is just my 2 cents. Feel free to use any option you think is easy to implement and maintain. |
@gman0 I dont quite understand this PR. Are you planning to use local-up-cluster.sh for bring cluster up or any other? I don't see a reason to build the k8s binaries every time the job is run. If you want to use local-up-cluster.sh , that's not recommended way forward actually . That script changes a lot and not reliable. So we planned to move everything to kubeadm , now k3s is lightweight option, so using that. |
The goal is to have a simple single-node k8s cluster deployment. I don't particularly care about the way we achieve this, so the initial idea was to replicate the
@lingxiankong and I already agreed to get rid of building the binaries in comments above :)
Thanks for pointing that out. If it's considered volatile, I prefer to stay away from it. I'm trying out k3s right now and seeing how the existing |
Hi all, please take a look at #1669 . If you think the new one is a step in the right direction, I can close this PR. |
Closing. #1669 got merged instead. |
What this PR does / why we need it:
This PR adds
install-k8s
role for the CI Ansible playbooks.Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:
install-k3s
brings in many OpenStack dependencies. manila-csi e2e test (#1656) doesn't install these, so it fails to run.Release note: