1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
|
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: infrastructures.config.openshift.io
spec:
group: config.openshift.io
names:
kind: Infrastructure
listKind: InfrastructureList
plural: infrastructures
singular: infrastructure
scope: Cluster
preserveUnknownFields: false
versions:
- name: v1
served: true
storage: true
"validation":
"openAPIV3Schema":
description: Infrastructure holds cluster-wide information about Infrastructure. The
canonical name is `cluster`
type: object
required:
- spec
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: spec holds user settable values for configuration
type: object
properties:
cloudConfig:
description: cloudConfig is a reference to a ConfigMap containing the
cloud provider configuration file. This configuration file is used
to configure the Kubernetes cloud provider integration when using
the built-in cloud provider integration or the external cloud controller
manager. The namespace for this config map is openshift-config.
type: object
properties:
key:
description: Key allows pointing to a specific key/value inside
of the configmap. This is useful for logical file references.
type: string
name:
type: string
status:
description: status holds observed values from the cluster. They may not
be overridden.
type: object
properties:
apiServerInternalURI:
description: apiServerInternalURL is a valid URI with scheme(http/https),
address and port. apiServerInternalURL can be used by components
like kubelets, to contact the Kubernetes API server using the infrastructure
provider rather than Kubernetes networking.
type: string
apiServerURL:
description: apiServerURL is a valid URI with scheme(http/https), address
and port. apiServerURL can be used by components like the web console
to tell users where to find the Kubernetes API.
type: string
etcdDiscoveryDomain:
description: 'etcdDiscoveryDomain is the domain used to fetch the SRV
records for discovering etcd servers and clients. For more info: https://github.com/etcd-io/etcd/blob/329be66e8b3f9e2e6af83c123ff89297e49ebd15/Documentation/op-guide/clustering.md#dns-discovery'
type: string
infrastructureName:
description: infrastructureName uniquely identifies a cluster with a
human friendly name. Once set it should not be changed. Must be of
max length 27 and must have only alphanumeric or hyphen characters.
type: string
platform:
description: "platform is the underlying infrastructure provider for
the cluster. \n Deprecated: Use platformStatus.type instead."
type: string
platformStatus:
description: platformStatus holds status information specific to the
underlying infrastructure provider.
type: object
properties:
aws:
description: AWS contains settings specific to the Amazon Web Services
infrastructure provider.
type: object
properties:
region:
description: region holds the default AWS region for new AWS
resources created by the cluster.
type: string
azure:
description: Azure contains settings specific to the Azure infrastructure
provider.
type: object
properties:
networkResourceGroupName:
description: networkResourceGroupName is the Resource Group
for network resources like the Virtual Network and Subnets
used by the cluster. If empty, the value is same as ResourceGroupName.
type: string
resourceGroupName:
description: resourceGroupName is the Resource Group for new
Azure resources created for the cluster.
type: string
baremetal:
description: BareMetal contains settings specific to the BareMetal
platform.
type: object
properties:
apiServerInternalIP:
description: apiServerInternalIP is an IP address to contact
the Kubernetes API server that can be used by components inside
the cluster, like kubelets using the infrastructure rather
than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI
points to. It is the IP for a self-hosted load balancer in
front of the API servers.
type: string
ingressIP:
description: ingressIP is an external IP which routes to the
default ingress controller. The IP is a suitable target of
a wildcard DNS record used to resolve default route host names.
type: string
nodeDNSIP:
description: nodeDNSIP is the IP address for the internal DNS
used by the nodes. Unlike the one managed by the DNS operator,
`NodeDNSIP` provides name resolution for the nodes themselves.
There is no DNS-as-a-service for BareMetal deployments. In
order to minimize necessary changes to the datacenter DNS,
a DNS service is hosted as a static pod to serve those hostnames
to the nodes in the cluster.
type: string
gcp:
description: GCP contains settings specific to the Google Cloud
Platform infrastructure provider.
type: object
properties:
projectID:
description: resourceGroupName is the Project ID for new GCP
resources created for the cluster.
type: string
region:
description: region holds the region for new GCP resources created
for the cluster.
type: string
openstack:
description: OpenStack contains settings specific to the OpenStack
infrastructure provider.
type: object
properties:
apiServerInternalIP:
description: apiServerInternalIP is an IP address to contact
the Kubernetes API server that can be used by components inside
the cluster, like kubelets using the infrastructure rather
than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI
points to. It is the IP for a self-hosted load balancer in
front of the API servers.
type: string
cloudName:
description: cloudName is the name of the desired OpenStack
cloud in the client configuration file (`clouds.yaml`).
type: string
ingressIP:
description: ingressIP is an external IP which routes to the
default ingress controller. The IP is a suitable target of
a wildcard DNS record used to resolve default route host names.
type: string
nodeDNSIP:
description: nodeDNSIP is the IP address for the internal DNS
used by the nodes. Unlike the one managed by the DNS operator,
`NodeDNSIP` provides name resolution for the nodes themselves.
There is no DNS-as-a-service for OpenStack deployments. In
order to minimize necessary changes to the datacenter DNS,
a DNS service is hosted as a static pod to serve those hostnames
to the nodes in the cluster.
type: string
ovirt:
description: Ovirt contains settings specific to the oVirt infrastructure
provider.
type: object
properties:
apiServerInternalIP:
description: apiServerInternalIP is an IP address to contact
the Kubernetes API server that can be used by components inside
the cluster, like kubelets using the infrastructure rather
than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI
points to. It is the IP for a self-hosted load balancer in
front of the API servers.
type: string
ingressIP:
description: ingressIP is an external IP which routes to the
default ingress controller. The IP is a suitable target of
a wildcard DNS record used to resolve default route host names.
type: string
nodeDNSIP:
description: nodeDNSIP is the IP address for the internal DNS
used by the nodes. Unlike the one managed by the DNS operator,
`NodeDNSIP` provides name resolution for the nodes themselves.
There is no DNS-as-a-service for oVirt deployments. In order
to minimize necessary changes to the datacenter DNS, a DNS
service is hosted as a static pod to serve those hostnames
to the nodes in the cluster.
type: string
type:
description: type is the underlying infrastructure provider for
the cluster. This value controls whether infrastructure automation
such as service load balancers, dynamic volume provisioning, machine
creation and deletion, and other integrations are enabled. If
None, no infrastructure automation is enabled. Allowed values
are "AWS", "Azure", "BareMetal", "GCP", "Libvirt", "OpenStack",
"VSphere", "oVirt", and "None". Individual components may not
support all platforms, and must handle unrecognized platforms
as None if they do not support that platform.
type: string
|