Skip to content

Commit d54365f

Browse files
committed
Promote AWSClusterHostedDNSInstall to Default
This promotes AWS Cluster Hosted DNS feature from techpreview to available by default.
1 parent 42e8320 commit d54365f

File tree

9 files changed

+459
-19
lines changed

9 files changed

+459
-19
lines changed

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,110 @@ spec:
11711171
description: aws contains settings specific to the Amazon Web
11721172
Services infrastructure provider.
11731173
properties:
1174+
cloudLoadBalancerConfig:
1175+
default:
1176+
dnsType: PlatformDefault
1177+
description: |-
1178+
cloudLoadBalancerConfig holds configuration related to DNS and cloud
1179+
load balancers. It allows configuration of in-cluster DNS as an alternative
1180+
to the platform default DNS implementation.
1181+
When using the ClusterHosted DNS type, Load Balancer IP addresses
1182+
must be provided for the API and internal API load balancers as well as the
1183+
ingress load balancer.
1184+
nullable: true
1185+
properties:
1186+
clusterHosted:
1187+
description: |-
1188+
clusterHosted holds the IP addresses of API, API-Int and Ingress Load
1189+
Balancers on Cloud Platforms. The DNS solution hosted within the cluster
1190+
use these IP addresses to provide resolution for API, API-Int and Ingress
1191+
services.
1192+
properties:
1193+
apiIntLoadBalancerIPs:
1194+
description: |-
1195+
apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service.
1196+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1197+
Entries in the apiIntLoadBalancerIPs must be unique.
1198+
A maximum of 16 IP addresses are permitted.
1199+
format: ip
1200+
items:
1201+
description: IP is an IP address (for example, "10.0.0.0"
1202+
or "fd00::").
1203+
maxLength: 39
1204+
minLength: 1
1205+
type: string
1206+
x-kubernetes-validations:
1207+
- message: value must be a valid IP address
1208+
rule: isIP(self)
1209+
maxItems: 16
1210+
type: array
1211+
x-kubernetes-list-type: set
1212+
apiLoadBalancerIPs:
1213+
description: |-
1214+
apiLoadBalancerIPs holds Load Balancer IPs for the API service.
1215+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1216+
Could be empty for private clusters.
1217+
Entries in the apiLoadBalancerIPs must be unique.
1218+
A maximum of 16 IP addresses are permitted.
1219+
format: ip
1220+
items:
1221+
description: IP is an IP address (for example, "10.0.0.0"
1222+
or "fd00::").
1223+
maxLength: 39
1224+
minLength: 1
1225+
type: string
1226+
x-kubernetes-validations:
1227+
- message: value must be a valid IP address
1228+
rule: isIP(self)
1229+
maxItems: 16
1230+
type: array
1231+
x-kubernetes-list-type: set
1232+
ingressLoadBalancerIPs:
1233+
description: |-
1234+
ingressLoadBalancerIPs holds IPs for Ingress Load Balancers.
1235+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1236+
Entries in the ingressLoadBalancerIPs must be unique.
1237+
A maximum of 16 IP addresses are permitted.
1238+
format: ip
1239+
items:
1240+
description: IP is an IP address (for example, "10.0.0.0"
1241+
or "fd00::").
1242+
maxLength: 39
1243+
minLength: 1
1244+
type: string
1245+
x-kubernetes-validations:
1246+
- message: value must be a valid IP address
1247+
rule: isIP(self)
1248+
maxItems: 16
1249+
type: array
1250+
x-kubernetes-list-type: set
1251+
type: object
1252+
dnsType:
1253+
default: PlatformDefault
1254+
description: |-
1255+
dnsType indicates the type of DNS solution in use within the cluster. Its default value of
1256+
`PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform.
1257+
It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode,
1258+
the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed.
1259+
The cluster's use of the cloud's Load Balancers is unaffected by this setting.
1260+
The value is immutable after it has been set at install time.
1261+
Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS.
1262+
Enabling this functionality allows the user to start their own DNS solution outside the cluster after
1263+
installation is complete. The customer would be responsible for configuring this custom DNS solution,
1264+
and it can be run in addition to the in-cluster DNS solution.
1265+
enum:
1266+
- ClusterHosted
1267+
- PlatformDefault
1268+
type: string
1269+
x-kubernetes-validations:
1270+
- message: dnsType is immutable
1271+
rule: oldSelf == '' || self == oldSelf
1272+
type: object
1273+
x-kubernetes-validations:
1274+
- message: clusterHosted is permitted only when dnsType is
1275+
ClusterHosted
1276+
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
1277+
? !has(self.clusterHosted) : true'
11741278
region:
11751279
description: region holds the default AWS region for new AWS
11761280
resources created by the cluster.

features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
| NewOLM| | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> |
1818
| NewOLMWebhookProviderOpenshiftServiceCA| | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> |
1919
| AWSClusterHostedDNS| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
20-
| AWSClusterHostedDNSInstall| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
2120
| AWSDedicatedHosts| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
2221
| AWSDualStackInstall| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
2322
| AWSServiceLBNetworkSecurityGroup| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
@@ -73,6 +72,7 @@
7372
| VSphereHostVMGroupZonal| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7473
| VSphereMixedNodeEnv| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7574
| VolumeGroupSnapshot| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
75+
| AWSClusterHostedDNSInstall| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7676
| AdditionalRoutingCapabilities| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7777
| AdminNetworkPolicy| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7878
| AlibabaPlatform| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |

features/features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,7 @@ var (
828828
contactPerson("barbacbd").
829829
productScope(ocpSpecific).
830830
enhancementPR("https://github.com/openshift/enhancements/pull/1468").
831-
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
831+
enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
832832
mustRegister()
833833

834834
FeatureGateGCPCustomAPIEndpointsInstall = newFeatureGate("GCPCustomAPIEndpointsInstall").

machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,6 +1453,110 @@ spec:
14531453
description: aws contains settings specific to the Amazon
14541454
Web Services infrastructure provider.
14551455
properties:
1456+
cloudLoadBalancerConfig:
1457+
default:
1458+
dnsType: PlatformDefault
1459+
description: |-
1460+
cloudLoadBalancerConfig holds configuration related to DNS and cloud
1461+
load balancers. It allows configuration of in-cluster DNS as an alternative
1462+
to the platform default DNS implementation.
1463+
When using the ClusterHosted DNS type, Load Balancer IP addresses
1464+
must be provided for the API and internal API load balancers as well as the
1465+
ingress load balancer.
1466+
nullable: true
1467+
properties:
1468+
clusterHosted:
1469+
description: |-
1470+
clusterHosted holds the IP addresses of API, API-Int and Ingress Load
1471+
Balancers on Cloud Platforms. The DNS solution hosted within the cluster
1472+
use these IP addresses to provide resolution for API, API-Int and Ingress
1473+
services.
1474+
properties:
1475+
apiIntLoadBalancerIPs:
1476+
description: |-
1477+
apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service.
1478+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1479+
Entries in the apiIntLoadBalancerIPs must be unique.
1480+
A maximum of 16 IP addresses are permitted.
1481+
format: ip
1482+
items:
1483+
description: IP is an IP address (for example,
1484+
"10.0.0.0" or "fd00::").
1485+
maxLength: 39
1486+
minLength: 1
1487+
type: string
1488+
x-kubernetes-validations:
1489+
- message: value must be a valid IP address
1490+
rule: isIP(self)
1491+
maxItems: 16
1492+
type: array
1493+
x-kubernetes-list-type: set
1494+
apiLoadBalancerIPs:
1495+
description: |-
1496+
apiLoadBalancerIPs holds Load Balancer IPs for the API service.
1497+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1498+
Could be empty for private clusters.
1499+
Entries in the apiLoadBalancerIPs must be unique.
1500+
A maximum of 16 IP addresses are permitted.
1501+
format: ip
1502+
items:
1503+
description: IP is an IP address (for example,
1504+
"10.0.0.0" or "fd00::").
1505+
maxLength: 39
1506+
minLength: 1
1507+
type: string
1508+
x-kubernetes-validations:
1509+
- message: value must be a valid IP address
1510+
rule: isIP(self)
1511+
maxItems: 16
1512+
type: array
1513+
x-kubernetes-list-type: set
1514+
ingressLoadBalancerIPs:
1515+
description: |-
1516+
ingressLoadBalancerIPs holds IPs for Ingress Load Balancers.
1517+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1518+
Entries in the ingressLoadBalancerIPs must be unique.
1519+
A maximum of 16 IP addresses are permitted.
1520+
format: ip
1521+
items:
1522+
description: IP is an IP address (for example,
1523+
"10.0.0.0" or "fd00::").
1524+
maxLength: 39
1525+
minLength: 1
1526+
type: string
1527+
x-kubernetes-validations:
1528+
- message: value must be a valid IP address
1529+
rule: isIP(self)
1530+
maxItems: 16
1531+
type: array
1532+
x-kubernetes-list-type: set
1533+
type: object
1534+
dnsType:
1535+
default: PlatformDefault
1536+
description: |-
1537+
dnsType indicates the type of DNS solution in use within the cluster. Its default value of
1538+
`PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform.
1539+
It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode,
1540+
the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed.
1541+
The cluster's use of the cloud's Load Balancers is unaffected by this setting.
1542+
The value is immutable after it has been set at install time.
1543+
Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS.
1544+
Enabling this functionality allows the user to start their own DNS solution outside the cluster after
1545+
installation is complete. The customer would be responsible for configuring this custom DNS solution,
1546+
and it can be run in addition to the in-cluster DNS solution.
1547+
enum:
1548+
- ClusterHosted
1549+
- PlatformDefault
1550+
type: string
1551+
x-kubernetes-validations:
1552+
- message: dnsType is immutable
1553+
rule: oldSelf == '' || self == oldSelf
1554+
type: object
1555+
x-kubernetes-validations:
1556+
- message: clusterHosted is permitted only when dnsType
1557+
is ClusterHosted
1558+
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
1559+
? !has(self.clusterHosted) : true'
14561560
region:
14571561
description: region holds the default AWS region for
14581562
new AWS resources created by the cluster.

0 commit comments

Comments
 (0)