-
Notifications
You must be signed in to change notification settings - Fork 284
Pr v1alpha2 kubeadm bootstrapper #452
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
Pr v1alpha2 kubeadm bootstrapper #452
Conversation
|
@sbueringer I will try this but not sure how long will it take due to some other works in my daily job :) @hidekazuna if you have time , can you help test as well ? :) |
fe70579 to
0cb0f81
Compare
|
All rebased. I'll do some work later today and compare the examples with my own test files |
Done. I diffed it against my own test yamls at it's very similar. I think the biggest problem will be that you're maybe not using a OS image which already contains kubelet/kubeadm/docker (or containerd) I think there are two options:
I also changed the examples to deploy a cloud-config into the cluster namespace (which has the same name as the cluster). So we're now flexible to deploy multiple clusters. The controller doesn't have a mounted cloud-config anymore. P.S. if there are some problems with ca cert or authentication to OpenStack, take a look at the changes in provider.go (should still work, but I couldn't test it for all scenarios) |
d2e921c to
28b1439
Compare
28b1439 to
cbdc96c
Compare
|
I updated the doc for the usage of clusterctl. I'm not aware if there are released images for the cluster-api-controller & cluster-api-bootstrap-provider-kubeadm, so the doc doesn't work out of the box. If somebody wants to find out if these images are already their, please do :) For now I will continue using Tilt for development. At the latest when the other providers are starting to use released images for those two controller we can also start using them Edit: More info about the current status here: https://kubernetes.slack.com/archives/C8TSNPY4T/p1566928917004400 |
|
as we are moving forward on this, let's quick merge and make changes later.. /lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jichenjc, sbueringer The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Thx. I'll update the v1alpha2 issue later. I would also go over our existing issues & PRs and check if they are still valid. I also have a few suggestions for followup work |
* migrate to kubeadm bootstrapper * update deps * migrated to kubeadm bootstrapper & rewrite examples * fix tests * fix generate tests * fix test output folder * fix tests * migrate to kustomize v3.1.0 * fix awsmachine * fix version * fix tests, reorder makefile * fix tests, update cluster-api dep * rework examples to be able to deploy multiple cluster * ignore controller tests for now * fix generate test * fix tests * bugfix to handle verify from cloud.yaml * remove fixed todo * update docs regarding clusterctl
Migrated to kubeadm bootstrapper as described here: #380 (comment)
Also rewrote the examples (which are probably still far from perfect) and moved them to the examples folder.
Only the operating systems supported by kubeadm bootstrapper are supported now (currently has a dependency to cloud-init >= 18.4 (see kubernetes-retired/cluster-api-bootstrap-provider-kubeadm#41). Ignition is not supported yet.
I tested it with the Ubuntu images from https://github.com/kubernetes-sigs/image-builder/tree/master/images/capi. I tested a 2 control plane node 1 worker node setup with LB and a 1 control plane node 1 worker node without LB scenario.
The user-data must be adjusted if kubelet/kubeadm is not already installed (can be added by further PRs, I justed tested it with an image with pre-installed kubelet/kubeadm)
Note: Examples generation might be a little bit slow because kustomize seems to download the whole cluster-api folder and the vendor folder there hasn't been removed yet.