@@ -1493,6 +1493,110 @@ spec:
1493
1493
description : gcp contains settings specific to the Google Cloud
1494
1494
Platform infrastructure provider.
1495
1495
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'
1496
1600
projectID :
1497
1601
description : resourceGroupName is the Project ID for new GCP
1498
1602
resources created for the cluster.
0 commit comments