You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Enable public IPv6 backend addresses for NodeBalancer services.
112
+
# VPC IPv6 backend addresses are not currently supported.
112
113
# When enabled globally, both newly created and existing eligible services may be reconciled to use IPv6 backends.
113
114
# Per-service behavior can be overridden with the "service.beta.kubernetes.io/linode-loadbalancer-enable-ipv6-backends" annotation; set it to "false" to keep a service on IPv4 backends only.
114
-
#All selected backend nodes must have the required IPv6 address (public or VPC, depending on the NodeBalancer configuration).
115
+
#If your cluster uses VPC-backed NodeBalancers, the nodes must still expose public IPv6 endpoints so CCM can read the node.k8s.linode.com/public-ipv6 annotation and program IPv6 backends.
115
116
# enableIPv6ForNodeBalancerBackends: false
116
117
117
118
# disableNodeBalancerVPCBackends is used to disable the use of VPC backends for NodeBalancers.
Copy file name to clipboardExpand all lines: docs/configuration/annotations.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ The keys and the values in [annotations must be strings](https://kubernetes.io/d
40
40
|`firewall-acl`| string || The Firewall rules to be applied to the NodeBalancer. See [Firewall Configuration](#firewall-configuration)|
41
41
|`nodebalancer-type`| string || The type of NodeBalancer to create (options: common, premium, premium_40gb). See [NodeBalancer Types](#nodebalancer-type). Note: NodeBalancer types should always be specified in lowercase. |
42
42
|`enable-ipv6-ingress`| bool |`false`| When `true`, both IPv4 and IPv6 addresses will be included in the LoadBalancerStatus ingress |
43
-
|`enable-ipv6-backends`| bool |`false`| When `true`, NodeBalancer services use IPv6 backend nodes. If VPC-backed NodeBalancers are enabled, CCM preserves the NodeBalancer VPC configuration. This requires a dual-stack cluster and a dual-stack Service configuration. Reconciliation fails if a selected backend node does not have the required IPv6 address. |
43
+
|`enable-ipv6-backends`| bool |`false`| When `true`, NodeBalancer services use node public IPv6 addresses as backend targets. VPC IPv6 backend addresses are not supported. |
44
44
|`backend-ipv4-range`| string || The IPv4 range from VPC subnet to be applied to the NodeBalancer backend. See [Nodebalancer VPC Configuration](#nodebalancer-vpc-configuration)|
45
45
|`backend-vpc-name`| string || VPC which is connected to the NodeBalancer backend. See [Nodebalancer VPC Configuration](#nodebalancer-vpc-configuration)|
46
46
|`backend-subnet-name`| string || Subnet within VPC which is connected to the NodeBalancer backend. See [Nodebalancer VPC Configuration](#nodebalancer-vpc-configuration)|
Copy file name to clipboardExpand all lines: docs/configuration/environment.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ The CCM supports the following flags:
53
53
|`--nodebalancer-backend-ipv4-subnet-name`| String |`""`| ipv4 subnet name to use for NodeBalancer backends |
54
54
|`--disable-nodebalancer-vpc-backends`| Boolean |`false`| don't use VPC specific ip-addresses for nodebalancer backend ips when running in VPC (set to `true` for backward compatibility if needed) |
55
55
|`--enable-ipv6-for-loadbalancers`| Boolean |`false`| Set both IPv4 and IPv6 addresses for all LoadBalancer services (when disabled, only IPv4 is used). This can also be configured per-service using the `service.beta.kubernetes.io/linode-loadbalancer-enable-ipv6-ingress` annotation. |
56
-
|`--enable-ipv6-for-nodebalancer-backends`| Boolean |`false`| Use IPv6 addresses for NodeBalancer service backends. If VPC-backed NodeBalancers are enabled, CCM preserves the NodeBalancer VPC configuration. Enabling this flag can migrate existing eligible NodeBalancer services from IPv4 to IPv6 backends during reconcile. This requires a dual-stack cluster and dual-stack Service configuration. If enabled, every selected backend node must have the required IPv6 address or reconciliation will fail. This can also be configured per-service using the `service.beta.kubernetes.io/linode-loadbalancer-enable-ipv6-backends` annotation. |
56
+
|`--enable-ipv6-for-nodebalancer-backends`| Boolean |`false`| Use node public IPv6 addresses for NodeBalancer service backends. VPCIPv6 backend addresses are not supported. Can also be configured per-service using the `service.beta.kubernetes.io/linode-loadbalancer-enable-ipv6-backends` annotation. |
57
57
|`--node-cidr-mask-size-ipv4`| Int |`24`| ipv4 cidr mask size for pod cidrs allocated to nodes |
58
58
|`--node-cidr-mask-size-ipv6`| Int |`64`| ipv6 cidr mask size for pod cidrs allocated to nodes |
59
59
|`--nodebalancer-prefix`| String |`ccm`| Name prefix for NoadBalancers. |
Copy file name to clipboardExpand all lines: docs/configuration/loadbalancer.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,13 +71,16 @@ metadata:
71
71
```
72
72
73
73
When IPv6 backends are enabled:
74
+
- NodeBalancer backend targets use the node public IPv6 annotation `node.k8s.linode.com/public-ipv6`
75
+
- IPv6 NodeBalancer backends are currently supported only through node public IPv6 addresses, not VPC IPv6 backend addresses
74
76
- both VPC-backed and non-VPC-backed NodeBalancer services are affected
75
77
- when VPC-backed NodeBalancers are enabled, CCM preserves the NodeBalancer VPC configuration instead of dropping it
76
78
- enabling the global `--enable-ipv6-for-nodebalancer-backends` flag can migrate existing eligible NodeBalancer services from IPv4 to IPv6 backends during reconcile
77
79
- to keep an existing Service on IPv4 while the global flag is enabled, set `service.beta.kubernetes.io/linode-loadbalancer-enable-ipv6-backends: "false"` on that Service
78
-
- every selected backend node must have an IPv6 address in the currently selected backend path
80
+
- every selected backend node must have a public IPv6 address available
81
+
- if your cluster uses VPC backends, the nodes still need public IPv6 endpoints so CCM can program IPv6 NodeBalancer backends
79
82
- the workload cluster and Service must be configured for dual-stack networking
80
-
- reconciliation fails and CCM logs an error if a selected backend node does not have the required IPv6 address
83
+
- reconciliation fails and CCM logs an error if a selected backend node does not have the required public IPv6 address
81
84
82
85
Recommended Service configuration for IPv6 backends:
83
86
@@ -101,7 +104,7 @@ spec:
101
104
app: my-app
102
105
```
103
106
104
-
If your cluster does not provide IPv6-capable NodePort routing, the NodeBalancer may still be created with IPv6 backend addresses, but the backends will not become healthy.
107
+
If your cluster does not provide IPv6-capable NodePort routing, the NodeBalancer may still be created with IPv6 backend addresses, but the backends will not become healthy. Likewise, if your cluster is using VPC backends but the nodes do not also have public IPv6 endpoints, IPv6 backend reconciliation will fail because CCM does not currently program VPC IPv6 backend addresses.
0 commit comments