Skip to content

Commit 9116741

Browse files
Merge pull request #2300 from sadasu/gcp-custom-dns-ga
CORS-3993: Promote GCPClusterHostedDNS to Default
2 parents e515d9c + 677781c commit 9116741

8 files changed

+424
-8
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
@@ -1493,6 +1493,110 @@ spec:
14931493
description: gcp contains settings specific to the Google Cloud
14941494
Platform infrastructure provider.
14951495
properties:
1496+
cloudLoadBalancerConfig:
1497+
default:
1498+
dnsType: PlatformDefault
1499+
description: |-
1500+
cloudLoadBalancerConfig holds configuration related to DNS and cloud
1501+
load balancers. It allows configuration of in-cluster DNS as an alternative
1502+
to the platform default DNS implementation.
1503+
When using the ClusterHosted DNS type, Load Balancer IP addresses
1504+
must be provided for the API and internal API load balancers as well as the
1505+
ingress load balancer.
1506+
nullable: true
1507+
properties:
1508+
clusterHosted:
1509+
description: |-
1510+
clusterHosted holds the IP addresses of API, API-Int and Ingress Load
1511+
Balancers on Cloud Platforms. The DNS solution hosted within the cluster
1512+
use these IP addresses to provide resolution for API, API-Int and Ingress
1513+
services.
1514+
properties:
1515+
apiIntLoadBalancerIPs:
1516+
description: |-
1517+
apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service.
1518+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1519+
Entries in the apiIntLoadBalancerIPs must be unique.
1520+
A maximum of 16 IP addresses are permitted.
1521+
format: ip
1522+
items:
1523+
description: IP is an IP address (for example, "10.0.0.0"
1524+
or "fd00::").
1525+
maxLength: 39
1526+
minLength: 1
1527+
type: string
1528+
x-kubernetes-validations:
1529+
- message: value must be a valid IP address
1530+
rule: isIP(self)
1531+
maxItems: 16
1532+
type: array
1533+
x-kubernetes-list-type: set
1534+
apiLoadBalancerIPs:
1535+
description: |-
1536+
apiLoadBalancerIPs holds Load Balancer IPs for the API service.
1537+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1538+
Could be empty for private clusters.
1539+
Entries in the apiLoadBalancerIPs must be unique.
1540+
A maximum of 16 IP addresses are permitted.
1541+
format: ip
1542+
items:
1543+
description: IP is an IP address (for example, "10.0.0.0"
1544+
or "fd00::").
1545+
maxLength: 39
1546+
minLength: 1
1547+
type: string
1548+
x-kubernetes-validations:
1549+
- message: value must be a valid IP address
1550+
rule: isIP(self)
1551+
maxItems: 16
1552+
type: array
1553+
x-kubernetes-list-type: set
1554+
ingressLoadBalancerIPs:
1555+
description: |-
1556+
ingressLoadBalancerIPs holds IPs for Ingress Load Balancers.
1557+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1558+
Entries in the ingressLoadBalancerIPs must be unique.
1559+
A maximum of 16 IP addresses are permitted.
1560+
format: ip
1561+
items:
1562+
description: IP is an IP address (for example, "10.0.0.0"
1563+
or "fd00::").
1564+
maxLength: 39
1565+
minLength: 1
1566+
type: string
1567+
x-kubernetes-validations:
1568+
- message: value must be a valid IP address
1569+
rule: isIP(self)
1570+
maxItems: 16
1571+
type: array
1572+
x-kubernetes-list-type: set
1573+
type: object
1574+
dnsType:
1575+
default: PlatformDefault
1576+
description: |-
1577+
dnsType indicates the type of DNS solution in use within the cluster. Its default value of
1578+
`PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform.
1579+
It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode,
1580+
the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed.
1581+
The cluster's use of the cloud's Load Balancers is unaffected by this setting.
1582+
The value is immutable after it has been set at install time.
1583+
Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS.
1584+
Enabling this functionality allows the user to start their own DNS solution outside the cluster after
1585+
installation is complete. The customer would be responsible for configuring this custom DNS solution,
1586+
and it can be run in addition to the in-cluster DNS solution.
1587+
enum:
1588+
- ClusterHosted
1589+
- PlatformDefault
1590+
type: string
1591+
x-kubernetes-validations:
1592+
- message: dnsType is immutable
1593+
rule: oldSelf == '' || self == oldSelf
1594+
type: object
1595+
x-kubernetes-validations:
1596+
- message: clusterHosted is permitted only when dnsType is
1597+
ClusterHosted
1598+
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
1599+
? !has(self.clusterHosted) : true'
14961600
projectID:
14971601
description: resourceGroupName is the Project ID for new GCP
14981602
resources created for the cluster.

features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
| Example| | | <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> |
3838
| ExternalOIDCWithUIDAndExtraClaimMappings| | | <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> |
3939
| GCPClusterHostedDNS| | | <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> |
40-
| GCPClusterHostedDNSInstall| | | <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> |
4140
| GCPCustomAPIEndpoints| | | <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> |
4241
| GCPCustomAPIEndpointsInstall| | | <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> |
4342
| GCPDualStackInstall| | | <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> |
@@ -77,6 +76,7 @@
7776
| BuildCSIVolumes| <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> |
7877
| CPMSMachineNamePrefix| <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> |
7978
| ConsolePluginContentSecurityPolicy| <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> |
79+
| GCPClusterHostedDNSInstall| <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> |
8080
| GatewayAPI| <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> |
8181
| GatewayAPIController| <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> |
8282
| HighlyAvailableArbiter| <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
@@ -824,7 +824,7 @@ var (
824824
contactPerson("barbacbd").
825825
productScope(ocpSpecific).
826826
enhancementPR("https://github.com/openshift/enhancements/pull/1468").
827-
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
827+
enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
828828
mustRegister()
829829

830830
FeatureGateAWSClusterHostedDNSInstall = newFeatureGate("AWSClusterHostedDNSInstall").

0 commit comments

Comments
 (0)