...
1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/managed-by-kcc: "true"
23 cnrm.cloud.google.com/stability-level: alpha
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: tpunodes.tpu.cnrm.cloud.google.com
27spec:
28 group: tpu.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: TPUNode
33 plural: tpunodes
34 shortNames:
35 - gcptpunode
36 - gcptpunodes
37 singular: tpunode
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1alpha1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 acceleratorType:
75 description: Immutable. The type of hardware accelerators associated
76 with this node.
77 type: string
78 cidrBlock:
79 description: |-
80 Immutable. The CIDR block that the TPU node will use when selecting an IP
81 address. This CIDR block must be a /29 block; the Compute Engine
82 networks API forbids a smaller block, and using a larger block would
83 be wasteful (a node can only consume one IP address).
84
85 Errors will occur if the CIDR block has already been used for a
86 currently existing TPU node, the CIDR block conflicts with any
87 subnetworks in the user's provided network, or the provided network
88 is peered with another network that is using that CIDR block.
89 type: string
90 description:
91 description: Immutable. The user-supplied description of the TPU.
92 Maximum of 512 characters.
93 type: string
94 network:
95 description: |-
96 Immutable. The name of a network to peer the TPU node to. It must be a
97 preexisting Compute Engine network inside of the project on which
98 this API has been activated. If none is provided, "default" will be
99 used.
100 type: string
101 projectRef:
102 description: The project that this resource belongs to.
103 oneOf:
104 - not:
105 required:
106 - external
107 required:
108 - name
109 - not:
110 anyOf:
111 - required:
112 - name
113 - required:
114 - namespace
115 required:
116 - external
117 properties:
118 external:
119 description: 'Allowed value: The `name` field of a `Project` resource.'
120 type: string
121 name:
122 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
123 type: string
124 namespace:
125 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
126 type: string
127 type: object
128 resourceID:
129 description: Immutable. Optional. The name of the resource. Used for
130 creation and acquisition. When unset, the value of `metadata.name`
131 is used as the default.
132 type: string
133 schedulingConfig:
134 description: Immutable. Sets the scheduling options for this TPU instance.
135 properties:
136 preemptible:
137 description: Immutable. Defines whether the TPU instance is preemptible.
138 type: boolean
139 required:
140 - preemptible
141 type: object
142 tensorflowVersion:
143 description: The version of Tensorflow running in the Node.
144 type: string
145 useServiceNetworking:
146 description: |-
147 Immutable. Whether the VPC peering for the node is set up through Service Networking API.
148 The VPC Peering should be set up before provisioning the node. If this field is set,
149 cidr_block field should not be specified. If the network that you want to peer the
150 TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
151 type: boolean
152 zone:
153 description: Immutable. The GCP location for the TPU. If it is not
154 provided, the provider zone is used.
155 type: string
156 required:
157 - acceleratorType
158 - projectRef
159 - tensorflowVersion
160 - zone
161 type: object
162 status:
163 properties:
164 conditions:
165 description: Conditions represent the latest available observation
166 of the resource's current state.
167 items:
168 properties:
169 lastTransitionTime:
170 description: Last time the condition transitioned from one status
171 to another.
172 type: string
173 message:
174 description: Human-readable message indicating details about
175 last transition.
176 type: string
177 reason:
178 description: Unique, one-word, CamelCase reason for the condition's
179 last transition.
180 type: string
181 status:
182 description: Status is the status of the condition. Can be True,
183 False, Unknown.
184 type: string
185 type:
186 description: Type is the type of the condition.
187 type: string
188 type: object
189 type: array
190 networkEndpoints:
191 description: |-
192 The network endpoints where TPU workers can be accessed and sent work.
193 It is recommended that Tensorflow clients of the node first reach out
194 to the first (index 0) entry.
195 items:
196 properties:
197 ipAddress:
198 description: The IP address of this network endpoint.
199 type: string
200 port:
201 description: The port of this network endpoint.
202 type: integer
203 type: object
204 type: array
205 observedGeneration:
206 description: ObservedGeneration is the generation of the resource
207 that was most recently observed by the Config Connector controller.
208 If this is equal to metadata.generation, then that means that the
209 current reported status reflects the most recent desired state of
210 the resource.
211 type: integer
212 serviceAccount:
213 description: |-
214 The service account used to run the tensor flow services within the
215 node. To share resources, including Google Cloud Storage data, with
216 the Tensorflow job running in the Node, this account must have
217 permissions to that data.
218 type: string
219 type: object
220 required:
221 - spec
222 type: object
223 served: true
224 storage: true
225 subresources:
226 status: {}
227status:
228 acceptedNames:
229 kind: ""
230 plural: ""
231 conditions: []
232 storedVersions: []
View as plain text