-
Notifications
You must be signed in to change notification settings - Fork 233
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
Add support for Cilium CNI #1560
Conversation
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.
Overall looks great to me, but I have a couple of comments.
examples/terraform/gce/variables.tf
Outdated
@@ -90,7 +90,7 @@ variable "control_plane_volume_size" { | |||
} | |||
|
|||
variable "control_plane_image_family" { | |||
default = "ubuntu-1804-lts" | |||
default = "ubuntu-2004-lts" |
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.
This is a breaking change because it might cause all instances to be recreated for those who don't bind the image in terraform.tfvars
. If this is required, I suggest putting a warning in the release note.
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.
Okay i put this into another PR than.
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.
It's okay to leave the change in this PR, just make sure the release note reflects the change.
/retitle Add support for Cilium CNI |
/test pull-kubeone-test |
1 similar comment
/test pull-kubeone-test |
# # kubeProxyReplacement defines weather cilium relies on underlying Kernel support to replace kube-proxy functionality by eBPF (strict), | ||
# # or disables a subset of those features so cilium does not bail out if the kernel support is missing (disabled). | ||
# kubeProxyReplacement: "disabled" |
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 prefer splitting long comments to 80 or 120 characters.
# # kubeProxyReplacement defines weather cilium relies on underlying Kernel support to replace kube-proxy functionality by eBPF (strict), | |
# # or disables a subset of those features so cilium does not bail out if the kernel support is missing (disabled). | |
# kubeProxyReplacement: "disabled" | |
# # kubeProxyReplacement defines weather cilium relies on underlying Kernel support | |
# # to replace kube-proxy functionality by eBPF (strict), or disables a subset of those | |
# # features so cilium does not bail out if the kernel support is missing (disabled). | |
# kubeProxyReplacement: "disabled" |
// validated cilium kube-proxy replacement | ||
if c.CNI.Cilium != nil && c.CNI.Cilium.KubeProxyReplacement != kubeone.KubeProxyReplacementDisabled && (c.KubeProxy == nil || !c.KubeProxy.SkipInstallation) { | ||
allErrs = append(allErrs, field.Invalid(fldPath.Child("cni"), c.CNI.Cilium.KubeProxyReplacement, ".cilium.kubeProxyReplacement cannot be set with kube-proxy enabled")) | ||
} | ||
} | ||
if c.KubeProxy != nil { |
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.
Does it make sense to add a rule that if kube-proxy installation is skipped, you can't have .kubeProxy.iptables
or .kubeProxy.ipvs
defined because those settings are no-op in that case?
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 think its okay not to validate it, maybe a warning would be 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.
Let's leave it as it is right now and eventually revisit it later.
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.
Great job, @weirdmachine! 🎉 💯
/lgtm
/approve
LGTM label has been added. Git tree hash: ee94d1c29a3d7c61bdf492ba4910b68f0fd86c79
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: WeirdMachine, xmudrii 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 |
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #462
Special notes for your reviewer:
Support for hubble and kube-proxy free deployments
Does this PR introduce a user-facing change?: