mirror of https://github.com/k3s-io/k3s.git
Fix ipv6 sysctl required by non-ipv6 LoadBalancer service
This is a partial revert of 095ecdb034
,
with the workaround moved into klipper-lb.
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
pull/10571/head
parent
21611c5665
commit
d4c3422a85
|
@ -52,7 +52,7 @@ const (
|
|||
)
|
||||
|
||||
var (
|
||||
DefaultLBImage = "rancher/klipper-lb:v0.4.7"
|
||||
DefaultLBImage = "rancher/klipper-lb:v0.4.9"
|
||||
)
|
||||
|
||||
func (k *k3s) Register(ctx context.Context,
|
||||
|
@ -437,12 +437,19 @@ func (k *k3s) newDaemonSet(svc *core.Service) (*apps.DaemonSet, error) {
|
|||
return nil, err
|
||||
}
|
||||
sourceRanges := strings.Join(sourceRangesSet.StringSlice(), ",")
|
||||
securityContext := &core.PodSecurityContext{}
|
||||
|
||||
for _, ipFamily := range svc.Spec.IPFamilies {
|
||||
if ipFamily == core.IPv6Protocol && sourceRanges == "0.0.0.0/0" {
|
||||
// The upstream default load-balancer source range only includes IPv4, even if the service is IPv6-only or dual-stack.
|
||||
// If using the default range, and IPv6 is enabled, also allow IPv6.
|
||||
sourceRanges += ",::/0"
|
||||
switch ipFamily {
|
||||
case core.IPv4Protocol:
|
||||
securityContext.Sysctls = append(securityContext.Sysctls, core.Sysctl{Name: "net.ipv4.ip_forward", Value: "1"})
|
||||
case core.IPv6Protocol:
|
||||
securityContext.Sysctls = append(securityContext.Sysctls, core.Sysctl{Name: "net.ipv6.conf.all.forwarding", Value: "1"})
|
||||
if sourceRanges == "0.0.0.0/0" {
|
||||
// The upstream default load-balancer source range only includes IPv4, even if the service is IPv6-only or dual-stack.
|
||||
// If using the default range, and IPv6 is enabled, also allow IPv6.
|
||||
sourceRanges += ",::/0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -478,12 +485,7 @@ func (k *k3s) newDaemonSet(svc *core.Service) (*apps.DaemonSet, error) {
|
|||
PriorityClassName: priorityClassName,
|
||||
ServiceAccountName: "svclb",
|
||||
AutomountServiceAccountToken: utilsptr.To(false),
|
||||
SecurityContext: &core.PodSecurityContext{
|
||||
Sysctls: []core.Sysctl{
|
||||
{Name: "net.ipv4.ip_forward", Value: "1"},
|
||||
{Name: "net.ipv6.conf.all.forwarding", Value: "1"},
|
||||
},
|
||||
},
|
||||
SecurityContext: securityContext,
|
||||
Tolerations: []core.Toleration{
|
||||
{
|
||||
Key: util.MasterRoleLabelKey,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
docker.io/rancher/klipper-helm:v0.8.4-build20240523
|
||||
docker.io/rancher/klipper-lb:v0.4.7
|
||||
docker.io/rancher/klipper-lb:v0.4.9
|
||||
docker.io/rancher/local-path-provisioner:v0.0.28
|
||||
docker.io/rancher/mirrored-coredns-coredns:1.10.1
|
||||
docker.io/rancher/mirrored-library-busybox:1.36.1
|
||||
|
|
Loading…
Reference in New Issue