Deckhouse improvements
Description
Hi. I'm a maintainer of Deckhouse Kubernets Platform As part of the platform, we have implemented support for vCloud Director. But we had to make a few changes. Due to the fact that the first releases of support for the first providers (e.g. AWS)were based on Machine Controller Mananger, we implemented control-plane deployment with our scripts, so for backwards compatibility we don't use all features of the Cluster API, but use ClusterAPI providers to deploy worker-machines in the cloud.
Hence we needed to:
- use a different port for webhook (the
webhook-portoption was added as part of this pull request); - refuse to order LoadBalancer for the control plane and use the KUBERNETES_SERVICE_HOST environment variable for the control-plane IP (the
use-kubernetes-host-env-as-control-plane-hostoption was added as part of this pull request, if the option was not passed, the old logic is used); - pass hostname through guestinfo (option
pass-hostname-by-guest-info) - refuse additional checks for successful cloud-init start (option
skip-post-bootstrap-phases-checking). All of the above changes are easy to implement and are covered by the corresponding options in single code sections and are easy to test. The biggest change is support getting IP address via DHCP. This is quite a big change and affects the basic business logic of creating a machine. To enable it, thedefault-network-mode-for-new-vmoption is used When using the DHCP value, bootstrap the machine as follows: - ordering the machine in the cloud;
- resizing the root disc, this allows the OS to run faster on the machine and obtain an address via DHCP;
- starting the virtual machine and waiting for an IP address. When making changes, we tried to make our changes under the flag and keep the logic we have now.
Checklist
- [x] tested locally
- [x] updated any relevant dependencies
- [x] updated any relevant documentation or examples
API Changes
Are there API changes?
- [ ] Yes
- [x] No
If yes, please fill in the below
- Updated conversions?
- [ ] Yes
- [ ] No
- [ ] N/A
- Updated CRDs?
- [ ] Yes
- [ ] No
- [ ] N/A
- Updated infrastructure-components.yaml?
- [ ] Yes
- [ ] No
- [ ] N/A
- Updated
./examples/capi-quickstart.yaml?- [ ] Yes
- [ ] No
- [ ] N/A
- Updated necessary files under
./infrastructure-vcd/v1.0.0/?- [ ] Yes
- [ ] No
- [ ] N/A
Issue
If applicable, please reference the relevant issue
Fixes #
@name212, you must sign our contributor license agreement before your changes are merged. Click here to sign the agreement. If you are a VMware employee, read this for further instruction.
hi @name212 could you please add a description of the changes that you have in the PR
EDIT: sorry, I see that it is a WIP. So I will wait for the actual PR.
@name212, we have received your signed contributor license agreement. The review is usually completed within a week, but may take longer under certain circumstances. Another comment will be added to the pull request to notify you when the merge can proceed.
@name212, VMware has rejected your signed contributor license agreement. The merge can not proceed until the agreement has been resigned. Click here to resign the agreement. Reject reason:
Need an valid address