-
Notifications
You must be signed in to change notification settings - Fork 8
docs: add design proposal for kubernetes installer enhancement #17
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
Conversation
noProxy: localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,.example.com | ||
sshKey: | ||
kubernetes: | ||
kind: "KThreesControlPlaneTemplate" |
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.
I assume the CAPI CRD will just be a reference for the fields this should have and it won't need to stick to it strictly with unused fields (i.e kind: KThreesControlPlaneTemplate
, apiVersion: v1
)
|
||
#### Cluster Bootstrapper | ||
|
||
A new Go-based tool, `cluster-bootstrapper`, will be introduced to generate the cloud-init configuration from the Kubernetes Configuration section of the `config-file`. This tool will leverage the [CAPI K3s bootstrap provider codebase](https://github.com/k3s-io/cluster-api-k3s/tree/main/pkg/cloudinit). The `cluster-bootstrapper` binary will be released as a Docker image and included in the `volume` section in `hook-os.yaml` for use by the `os-installer` service. |
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.
Transitioning to a go based installer whilst also implementing k3s might be quite difficult if there are any issues with cluster setup that take time to resolve. There appears to be a lot of overlap between k3s and rke2 in terms of configuration (e.g addon configuration seems identical) so I think it would make sense to first refactor the current installation scripts to:
- bootstrap k3s cluster
- accept new config fields based on KThreesControlPlaneTemplate
- get all extensions installed and stable
Then once everything is implemented we can start on the go installer and yaml config file as a port rather than a full reimplementation
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.
Feel free to suggest implementation plan in another patch to this PR and if you think the amount of work needed spans multiple releases, we can. Also see other ADR about addons - the plan is to drop majority of previous default addons and reuse K3s built-in.
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.
Added a suggested edit. Feel free to commit if it looks ok. The plan would be to use the current installation method for 3.1, starting development if there's time and aiming to fully implement and switch to it for 3.2
lgtm. Few minor comments/questions. |
) * standalone cloud-init changes to install cluster and proxy settings * Update Jenkinsfile * Update Jenkinsfile --------- Co-authored-by: sybacharan <[email protected]>
chmod +x /mnt/etc/cloud/cloud.cfg.d/kubernetes.cfg | ||
} | ||
``` | ||
|
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.
In 3.1 the current installation method will be used to install k3s and minimal extensions. | |
Outlining and development for this installer along with the yaml config file will begin in 3.1 with the goal of releasing for 3.2 |
This pull request is stale because it has been open 30 days with no activity. Make a comment or update the PR to avoid closing PR after 15 days. |
1 similar comment
This pull request is stale because it has been open 30 days with no activity. Make a comment or update the PR to avoid closing PR after 15 days. |
PULL DESCRIPTION
Impact Analysis
CODE MAINTAINABILITY
Code must act as a teacher for future developers