-
Notifications
You must be signed in to change notification settings - Fork 81
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 rke2 network configuration to installer #886
Conversation
Signed-off-by: Ivan Sim <[email protected]>
Signed-off-by: Ivan Sim <[email protected]>
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.
lgtm. thanks for the PR.
I was able to test by creating clusters with and without custom pod/service cidr ranges.
These overridden CIDR settings will be injected into the promote.sh data in the harvester-helper config map. Signed-off-by: Ivan Sim <[email protected]>
…otion config During installation, these custom values would have been added to the Harvester's ManagedChart config at /etc/rancher/rancherd/config.yaml.d/10-harvester.yaml. See harvester/harvester-installer#886. Signed-off-by: Ivan Sim <[email protected]>
During installation, these custom values would have come from the Harvester's ManagedChart config at /etc/rancher/rancherd/config.yaml.d/10-harvester.yaml. See harvester/harvester-installer#886. Signed-off-by: Ivan Sim <[email protected]>
During installation, these custom values would have come from the Harvester's ManagedChart config at /etc/rancher/rancherd/config.yaml.d/10-harvester.yaml. See harvester/harvester-installer#886. Signed-off-by: Ivan Sim <[email protected]>
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.
two questions, thanks.
@@ -202,6 +202,10 @@ resources: | |||
enabled: true | |||
kube-vip-cloud-provider: | |||
enabled: true | |||
promote: |
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.
Is RKE2
better than promote
?
we also have another requirement: customize the RKE2 CNI, some one prefers Calico
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.
My initial thought is to communicate that, within the ManagedChart
, these settings are only used by the promotion controller, instead of a general mechanism to override RKE2, per harvester/harvester#7156. My current preference leans towards keeping it as promote
. LMKWYT.
Re: CNI, can we work on it as a separate issue?
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.
Sure, customized CNI will be in another issue & PR, which needs some investigation.
promotion
is also good.
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.
Custom CNI enhancement request added at harvester/harvester#7197.
@@ -202,6 +202,10 @@ resources: | |||
enabled: true | |||
kube-vip-cloud-provider: | |||
enabled: true | |||
promote: | |||
clusterPodCIDR: {{ or .ClusterPodCIDR "10.52.0.0/16" }} | |||
clusterServiceCIDR: {{ or .ClusterServiceCIDR "10.53.0.0/16" }} |
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.
When users customize/default those 3 fields, the value will be writen to harvester managedchart
, could you check if we can add webhook to deny any later change on the managedchart related fields? thanks.
If a user tries to change the managedchart on the fly, the result will be unexpected.
btw, do you have a document PR to for those installation configuration options.
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.
Good point on validation webhook. I don't see why not. I'll create a new issue for it. The document PR is still WIP.
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.
Created harvester/harvester#7196 to track validating webhook implementation.
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.
LGTM, thanks.
* Add rke2 network configuration to installer * Declutter input panel labels * Add CIDR settings to promote controller chart config These overridden CIDR settings will be injected into the promote.sh data in the harvester-helper config map. Signed-off-by: Ivan Sim <[email protected]> --------- Signed-off-by: Ivan Sim <[email protected]>
* Add rke2 network configuration to installer * Declutter input panel labels * Add CIDR settings to promote controller chart config These overridden CIDR settings will be injected into the promote.sh data in the harvester-helper config map. Signed-off-by: Ivan Sim <[email protected]> --------- Signed-off-by: Ivan Sim <[email protected]>
Problem:
The RKE2 pod, service and DNS IP settings are hard-coded in the rke2-90-harvester-server.yaml file, making it difficult for users to resolve any CIDR conflicts in their environment.
Solution:
Update the installer to include a screen to configure the RKE2 pod, service and DNS IP settings. This customization is only possible during the initial installation. Modification of these settings post-installation isn't supported.
See RKE2 doc for the description of these parameters:
cluster-cidr
,service-cidr
andcluster-dns
.Related Issue:
Fix harvester/harvester#4254.
Test plan:
Test Case 1 - Override cluster network configuration
kubectl get po -A -owide
kubectl get svc -A -owide
Test Case 2 - Use default cluster network configuration
Additional Validation