Skip to content

Commit 5ef24a4

Browse files
committed
Promote ServiceExternalIP to beta
Fixes: #6743 Signed-off-by: Xu Liu <[email protected]>
1 parent 04b3cb6 commit 5ef24a4

File tree

11 files changed

+35
-37
lines changed

11 files changed

+35
-37
lines changed

build/charts/antrea/conf/antrea-agent.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ featureGates:
6666
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "SecondaryNetwork" "default" false) }}
6767

6868
# Enable managing external IPs of Services of LoadBalancer type.
69-
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "ServiceExternalIP" "default" false) }}
69+
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "ServiceExternalIP" "default" true) }}
7070

7171
# Enable mirroring or redirecting the traffic Pods send or receive.
7272
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "TrafficControl" "default" false) }}

build/charts/antrea/conf/antrea-controller.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ featureGates:
3232
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "AntreaIPAM" "default" false) }}
3333

3434
# Enable managing external IPs of Services of LoadBalancer type.
35-
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "ServiceExternalIP" "default" false) }}
35+
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "ServiceExternalIP" "default" true) }}
3636

3737
# Enable certificate-based authentication for IPSec tunnel.
3838
{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "IPsecCertAuth" "default" false) }}

build/yamls/antrea-aks.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,7 +4030,7 @@ data:
40304030
# SecondaryNetwork: false
40314031
40324032
# Enable managing external IPs of Services of LoadBalancer type.
4033-
# ServiceExternalIP: false
4033+
# ServiceExternalIP: true
40344034
40354035
# Enable mirroring or redirecting the traffic Pods send or receive.
40364036
# TrafficControl: false
@@ -4463,7 +4463,7 @@ data:
44634463
# AntreaIPAM: false
44644464
44654465
# Enable managing external IPs of Services of LoadBalancer type.
4466-
# ServiceExternalIP: false
4466+
# ServiceExternalIP: true
44674467
44684468
# Enable certificate-based authentication for IPSec tunnel.
44694469
# IPsecCertAuth: false
@@ -5426,7 +5426,7 @@ spec:
54265426
kubectl.kubernetes.io/default-container: antrea-agent
54275427
# Automatically restart Pods with a RollingUpdate if the ConfigMap changes
54285428
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5429-
checksum/config: e9ed628a60f731498979612c9d28080dc89b4f54b1dcbb5e86fce29df7c482f1
5429+
checksum/config: 370890f19fdae1e870e0cf1d5e4c5227fb343efb9538535a0c65f7b7f6a054f5
54305430
labels:
54315431
app: antrea
54325432
component: antrea-agent
@@ -5670,7 +5670,7 @@ spec:
56705670
annotations:
56715671
# Automatically restart Pod if the ConfigMap changes
56725672
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5673-
checksum/config: e9ed628a60f731498979612c9d28080dc89b4f54b1dcbb5e86fce29df7c482f1
5673+
checksum/config: 370890f19fdae1e870e0cf1d5e4c5227fb343efb9538535a0c65f7b7f6a054f5
56745674
labels:
56755675
app: antrea
56765676
component: antrea-controller

build/yamls/antrea-eks.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,7 +4030,7 @@ data:
40304030
# SecondaryNetwork: false
40314031
40324032
# Enable managing external IPs of Services of LoadBalancer type.
4033-
# ServiceExternalIP: false
4033+
# ServiceExternalIP: true
40344034
40354035
# Enable mirroring or redirecting the traffic Pods send or receive.
40364036
# TrafficControl: false
@@ -4463,7 +4463,7 @@ data:
44634463
# AntreaIPAM: false
44644464
44654465
# Enable managing external IPs of Services of LoadBalancer type.
4466-
# ServiceExternalIP: false
4466+
# ServiceExternalIP: true
44674467
44684468
# Enable certificate-based authentication for IPSec tunnel.
44694469
# IPsecCertAuth: false
@@ -5426,7 +5426,7 @@ spec:
54265426
kubectl.kubernetes.io/default-container: antrea-agent
54275427
# Automatically restart Pods with a RollingUpdate if the ConfigMap changes
54285428
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5429-
checksum/config: e9ed628a60f731498979612c9d28080dc89b4f54b1dcbb5e86fce29df7c482f1
5429+
checksum/config: 370890f19fdae1e870e0cf1d5e4c5227fb343efb9538535a0c65f7b7f6a054f5
54305430
labels:
54315431
app: antrea
54325432
component: antrea-agent
@@ -5671,7 +5671,7 @@ spec:
56715671
annotations:
56725672
# Automatically restart Pod if the ConfigMap changes
56735673
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5674-
checksum/config: e9ed628a60f731498979612c9d28080dc89b4f54b1dcbb5e86fce29df7c482f1
5674+
checksum/config: 370890f19fdae1e870e0cf1d5e4c5227fb343efb9538535a0c65f7b7f6a054f5
56755675
labels:
56765676
app: antrea
56775677
component: antrea-controller

build/yamls/antrea-gke.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,7 +4030,7 @@ data:
40304030
# SecondaryNetwork: false
40314031
40324032
# Enable managing external IPs of Services of LoadBalancer type.
4033-
# ServiceExternalIP: false
4033+
# ServiceExternalIP: true
40344034
40354035
# Enable mirroring or redirecting the traffic Pods send or receive.
40364036
# TrafficControl: false
@@ -4463,7 +4463,7 @@ data:
44634463
# AntreaIPAM: false
44644464
44654465
# Enable managing external IPs of Services of LoadBalancer type.
4466-
# ServiceExternalIP: false
4466+
# ServiceExternalIP: true
44674467
44684468
# Enable certificate-based authentication for IPSec tunnel.
44694469
# IPsecCertAuth: false
@@ -5426,7 +5426,7 @@ spec:
54265426
kubectl.kubernetes.io/default-container: antrea-agent
54275427
# Automatically restart Pods with a RollingUpdate if the ConfigMap changes
54285428
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5429-
checksum/config: adf1e0f238974d7f83bd321a403f1613ae7e695f06b5366cee645a39141872db
5429+
checksum/config: 107cf72235dd1aabce91dd716bc3bd62a4b6500ef9d7ed309071a78e68b1ede1
54305430
labels:
54315431
app: antrea
54325432
component: antrea-agent
@@ -5668,7 +5668,7 @@ spec:
56685668
annotations:
56695669
# Automatically restart Pod if the ConfigMap changes
56705670
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5671-
checksum/config: adf1e0f238974d7f83bd321a403f1613ae7e695f06b5366cee645a39141872db
5671+
checksum/config: 107cf72235dd1aabce91dd716bc3bd62a4b6500ef9d7ed309071a78e68b1ede1
56725672
labels:
56735673
app: antrea
56745674
component: antrea-controller

build/yamls/antrea-ipsec.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4043,7 +4043,7 @@ data:
40434043
# SecondaryNetwork: false
40444044
40454045
# Enable managing external IPs of Services of LoadBalancer type.
4046-
# ServiceExternalIP: false
4046+
# ServiceExternalIP: true
40474047
40484048
# Enable mirroring or redirecting the traffic Pods send or receive.
40494049
# TrafficControl: false
@@ -4476,7 +4476,7 @@ data:
44764476
# AntreaIPAM: false
44774477
44784478
# Enable managing external IPs of Services of LoadBalancer type.
4479-
# ServiceExternalIP: false
4479+
# ServiceExternalIP: true
44804480
44814481
# Enable certificate-based authentication for IPSec tunnel.
44824482
# IPsecCertAuth: false
@@ -5439,7 +5439,7 @@ spec:
54395439
kubectl.kubernetes.io/default-container: antrea-agent
54405440
# Automatically restart Pods with a RollingUpdate if the ConfigMap changes
54415441
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5442-
checksum/config: 9b14e08a59181e975a2326f4ef4a7c55a1640027bda93ad0ee09fe2ef18b7491
5442+
checksum/config: e40f0f3f4e412b4463e40c1062c1e10e6c66f471d31748e253262499103cb39f
54435443
checksum/ipsec-secret: d0eb9c52d0cd4311b6d252a951126bf9bea27ec05590bed8a394f0f792dcb2a4
54445444
labels:
54455445
app: antrea
@@ -5727,7 +5727,7 @@ spec:
57275727
annotations:
57285728
# Automatically restart Pod if the ConfigMap changes
57295729
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5730-
checksum/config: 9b14e08a59181e975a2326f4ef4a7c55a1640027bda93ad0ee09fe2ef18b7491
5730+
checksum/config: e40f0f3f4e412b4463e40c1062c1e10e6c66f471d31748e253262499103cb39f
57315731
labels:
57325732
app: antrea
57335733
component: antrea-controller

build/yamls/antrea.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,7 +4030,7 @@ data:
40304030
# SecondaryNetwork: false
40314031
40324032
# Enable managing external IPs of Services of LoadBalancer type.
4033-
# ServiceExternalIP: false
4033+
# ServiceExternalIP: true
40344034
40354035
# Enable mirroring or redirecting the traffic Pods send or receive.
40364036
# TrafficControl: false
@@ -4463,7 +4463,7 @@ data:
44634463
# AntreaIPAM: false
44644464
44654465
# Enable managing external IPs of Services of LoadBalancer type.
4466-
# ServiceExternalIP: false
4466+
# ServiceExternalIP: true
44674467
44684468
# Enable certificate-based authentication for IPSec tunnel.
44694469
# IPsecCertAuth: false
@@ -5426,7 +5426,7 @@ spec:
54265426
kubectl.kubernetes.io/default-container: antrea-agent
54275427
# Automatically restart Pods with a RollingUpdate if the ConfigMap changes
54285428
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5429-
checksum/config: afc566f7a719f6dd3ff30e3b495df2e4f5991e5a8d0696f891dc9c77ce795e2f
5429+
checksum/config: 3e4001d4c859dc8db92b7889b13c97a682dd8771ef7cfdf3d04ab70f2cf18879
54305430
labels:
54315431
app: antrea
54325432
component: antrea-agent
@@ -5668,7 +5668,7 @@ spec:
56685668
annotations:
56695669
# Automatically restart Pod if the ConfigMap changes
56705670
# See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
5671-
checksum/config: afc566f7a719f6dd3ff30e3b495df2e4f5991e5a8d0696f891dc9c77ce795e2f
5671+
checksum/config: 3e4001d4c859dc8db92b7889b13c97a682dd8771ef7cfdf3d04ab70f2cf18879
56725672
labels:
56735673
app: antrea
56745674
component: antrea-controller

docs/feature-gates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ edit the Agent configuration in the
4848
| `AntreaIPAM` | Agent + Controller | `false` | Alpha | v1.4 | N/A | N/A | Yes | |
4949
| `Multicast` | Agent + Controller | `true` | Beta | v1.5 | v1.12 | N/A | Yes | |
5050
| `SecondaryNetwork` | Agent | `false` | Alpha | v1.5 | N/A | N/A | Yes | |
51-
| `ServiceExternalIP` | Agent + Controller | `false` | Alpha | v1.5 | N/A | N/A | Yes | |
51+
| `ServiceExternalIP` | Agent + Controller | `false` | Beta | v1.5 | v2.3 | N/A | Yes | |
5252
| `TrafficControl` | Agent | `false` | Alpha | v1.7 | N/A | N/A | No | |
5353
| `Multicluster` | Agent + Controller | `false` | Alpha | v1.7 | N/A | N/A | Yes | Controller side feature gate added in v1.10.0 |
5454
| `IPsecCertAuth` | Agent + Controller | `false` | Alpha | v1.7 | N/A | N/A | No | |

docs/service-loadbalancer.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ no extra configuration change is needed.
6363

6464
#### Enable Service external IP management feature
6565

66-
At this moment, external IP management for Services is an alpha feature of
67-
Antrea. The `ServiceExternalIP` feature gate of `antrea-agent` and
68-
`antrea-controller` must be enabled for the feature to work. You can enable
66+
The `ServiceExternalIP` feature is enabled by default since Antrea 2.3. If you are
67+
using previous versions, the `ServiceExternalIP` feature gate of `antrea-agent`
68+
and `antrea-controller` must be enabled for the feature to work. You can enable
6969
the `ServiceExternalIP` feature gate in the `antrea-config` ConfigMap in
7070
the Antrea deployment YAML:
7171

@@ -306,14 +306,8 @@ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.11/conf
306306
The commands will deploy MetalLB version 0.13.11 into Namespace
307307
`metallb-system`. You can also refer to this [MetalLB installation
308308
guide](https://metallb.universe.tf/installation) for other ways of installing
309-
MetalLB.
310-
311-
As MetalLB will allocate external IPs for all Services of type LoadBalancer,
312-
once it is running, the Service external IP management feature of Antrea should
313-
not be enabled to avoid conflicts with MetalLB. You can deploy Antrea with the
314-
default configuration (in which the `ServiceExternalIP` feature gate of
315-
`antrea-agent` is set to `false`). MetalLB can work with both Antrea Proxy and
316-
`kube-proxy` configurations of `antrea-agent`.
309+
MetalLB. MetalLB can work with both Antrea Proxy and `kube-proxy`
310+
configurations of `antrea-agent`.
317311

318312
### Configure MetalLB with layer 2 mode
319313

pkg/apiserver/handlers/featuregates/handler_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ var (
3636
egressStatus string
3737
multicastStatus string
3838
cleanupStaleUDPSvcConntrackStatus string
39+
serviceExternalIPStatus string
3940
)
4041

4142
func Test_getGatesResponse(t *testing.T) {
@@ -75,7 +76,7 @@ func Test_getGatesResponse(t *testing.T) {
7576
{Component: "agent", Name: "NodePortLocal", Status: "Enabled", Version: "GA"},
7677
{Component: "agent", Name: "PacketCapture", Status: "Disabled", Version: "ALPHA"},
7778
{Component: "agent", Name: "SecondaryNetwork", Status: "Disabled", Version: "ALPHA"},
78-
{Component: "agent", Name: "ServiceExternalIP", Status: "Disabled", Version: "ALPHA"},
79+
{Component: "agent", Name: "ServiceExternalIP", Status: serviceExternalIPStatus, Version: "BETA"},
7980
{Component: "agent", Name: "ServiceTrafficDistribution", Status: "Enabled", Version: "BETA"},
8081
{Component: "agent", Name: "SupportBundleCollection", Status: "Disabled", Version: "ALPHA"},
8182
{Component: "agent", Name: "TopologyAwareHints", Status: "Enabled", Version: "BETA"},
@@ -207,7 +208,7 @@ func Test_getControllerGatesResponse(t *testing.T) {
207208
{Component: "controller", Name: "Multicluster", Status: "Disabled", Version: "ALPHA"},
208209
{Component: "controller", Name: "NetworkPolicyStats", Status: "Enabled", Version: "BETA"},
209210
{Component: "controller", Name: "NodeIPAM", Status: "Enabled", Version: "BETA"},
210-
{Component: "controller", Name: "ServiceExternalIP", Status: "Disabled", Version: "ALPHA"},
211+
{Component: "controller", Name: "ServiceExternalIP", Status: serviceExternalIPStatus, Version: "BETA"},
211212
{Component: "controller", Name: "SupportBundleCollection", Status: "Disabled", Version: "ALPHA"},
212213
{Component: "controller", Name: "Traceflow", Status: "Enabled", Version: "BETA"},
213214
},
@@ -225,9 +226,11 @@ func init() {
225226
egressStatus = "Enabled"
226227
multicastStatus = "Enabled"
227228
cleanupStaleUDPSvcConntrackStatus = "Enabled"
229+
serviceExternalIPStatus = "Enabled"
228230
if runtime.IsWindowsPlatform() {
229231
egressStatus = "Disabled"
230232
multicastStatus = "Disabled"
231233
cleanupStaleUDPSvcConntrackStatus = "Disabled"
234+
serviceExternalIPStatus = "Disabled"
232235
}
233236
}

0 commit comments

Comments
 (0)