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