@@ -67,28 +67,34 @@ We should see something like:
67
67
apiVersion : servicecatalog.k8s.io/v1beta1
68
68
kind : ClusterServiceBroker
69
69
metadata :
70
- creationTimestamp : 2017-03-03T04 :11:17Z
70
+ creationTimestamp : 2017-11-01T14 :11:29Z
71
71
finalizers :
72
72
- kubernetes-incubator/service-catalog
73
+ generation : 1
73
74
name : ups-broker
74
75
resourceVersion : " 6"
75
76
selfLink : /apis/servicecatalog.k8s.io/v1beta1/clusterservicebrokers/ups-broker
76
- uid : 72fa629b-ffc7-11e6-b111-0242ac110005
77
+ uid : 8df4e501-bf0e-11e7-9e29-0242ac110004
77
78
spec :
79
+ relistBehavior : Duration
80
+ relistDuration : 15m0s
81
+ relistRequests : 0
78
82
url : http://ups-broker-ups-broker.ups-broker.svc.cluster.local
79
83
status :
80
84
conditions :
81
- - message : Successfully fetched catalog entries from broker.
85
+ - lastTransitionTime : 2017-11-01T14:12:30Z
86
+ message : Successfully fetched catalog entries from broker.
82
87
reason : FetchedCatalog
83
88
status : " True"
84
89
type : Ready
90
+ reconciledGeneration : 1
85
91
` ` `
86
92
87
93
Notice that the ` status` field has been set to reflect that the broker server's
88
94
catalog of service offerings has been successfully added to our cluster's
89
95
service catalog.
90
96
91
- # Step 3 - Viewing `ClusterServiceClass`es
97
+ # Step 3 - Viewing `ClusterServiceClass`es and `ClusterServicePlan`s
92
98
93
99
The controller created a `ClusterServiceClass` for each service that the UPS broker
94
100
provides. We can view the `ClusterServiceClass` resources available in the cluster by
@@ -106,7 +112,7 @@ NAME EXTERNAL NAME
106
112
` ` `
107
113
108
114
**NOTE:** The above command uses a custom set of columns. The `NAME` field is
109
- the Kubernetes name of the ClusterServiceClass and the `EXTERNAL NAME` field is the
115
+ the Kubernetes name of the ` ClusterServiceClass` and the `EXTERNAL NAME` field is the
110
116
human-readable name for the service that the broker returns.
111
117
112
118
The UPS broker provides a service with the external name
@@ -123,19 +129,69 @@ We should see something like:
123
129
apiVersion: servicecatalog.k8s.io/v1beta1
124
130
kind: ClusterServiceClass
125
131
metadata:
126
- creationTimestamp: 2017-03-03T04:11:17Z
127
- name: user-provided-service
128
- resourceVersion: "7"
129
- selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterserviceclasses/user-provided-service
130
- uid: 72fef5ce-ffc7-11e6-b111-0242ac110005
131
- brokerName: ups-broker
132
- externalID: 4F6E6CF6-FFDD-425F-A2C7-3C9258AD2468
133
- bindable: false
134
- planUpdatable: false
135
- plans:
136
- - name: default
137
- free: true
132
+ creationTimestamp: 2017-11-01T14:12:29Z
133
+ name: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
134
+ resourceVersion: "4"
135
+ selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterserviceclasses/4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
136
+ uid: b1e764ba-bf0e-11e7-9e29-0242ac110004
137
+ spec:
138
+ bindable: true
139
+ clusterServiceBrokerName: ups-broker
140
+ description: A user provided service
141
+ externalID: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
142
+ externalName: user-provided-service
143
+ planUpdatable: false
144
+ status:
145
+ removedFromBrokerCatalog: false
146
+ ` ` `
147
+
148
+ Additionally, the controller created a `ClusterServicePlan` for each of the
149
+ plans for the broker's services. We can view the `ClusterServicePlan`
150
+ resources available in the cluster by executing :
151
+
152
+ ` ` ` console
153
+ $ kubectl get clusterserviceplans -o=custom-columns=NAME:.metadata.name,EXTERNAL\ NAME:.spec.externalName
154
+ ` ` `
155
+
156
+ We should see something like :
157
+
158
+ ` ` ` console
159
+ NAME EXTERNAL NAME
160
+ 86064792-7ea2-467b-af93-ac9694d96d52 default
161
+ ` ` `
162
+
163
+ **NOTE:** Just like in the command above, we used a custom set of columns.
164
+ The `NAME` field is the Kubernetes name of the `ClusterServicePlan` and the
165
+ ` EXTERNAL NAME` field is the human-readable name for the service that the
166
+ broker returns.
167
+
168
+ You can view the details of this `ClusterServicePlan` with this command :
169
+
170
+ ` ` ` console
171
+ kubectl get clusterserviceplans 86064792-7ea2-467b-af93-ac9694d96d52 -o yaml
172
+ ` ` `
173
+
174
+ We should see something like :
175
+
176
+ ` ` ` yaml
177
+ apiVersion: servicecatalog.k8s.io/v1beta1
178
+ kind: ClusterServicePlan
179
+ metadata:
180
+ creationTimestamp: 2017-11-01T14:12:29Z
181
+ name: 86064792-7ea2-467b-af93-ac9694d96d52
182
+ resourceVersion: "5"
183
+ selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterserviceplans/86064792-7ea2-467b-af93-ac9694d96d52
184
+ uid: b1e7f049-bf0e-11e7-9e29-0242ac110004
185
+ spec:
186
+ clusterServiceBrokerName: ups-broker
187
+ clusterServiceClassRef:
188
+ name: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
189
+ description: Sample plan description
138
190
externalID: 86064792-7ea2-467b-af93-ac9694d96d52
191
+ externalName: default
192
+ free: true
193
+ status:
194
+ removedFromBrokerCatalog: false
139
195
` ` `
140
196
141
197
# Step 4 - Creating a New `ServiceInstance`
@@ -178,31 +234,37 @@ We should see something like:
178
234
apiVersion: servicecatalog.k8s.io/v1beta1
179
235
kind: ServiceInstance
180
236
metadata:
181
- creationTimestamp: 2017-10-02T14:50:28Z
237
+ creationTimestamp: 2017-11-01T14:21:46Z
182
238
finalizers:
183
239
- kubernetes-incubator/service-catalog
184
240
generation: 1
185
241
name: ups-instance
186
242
namespace: test-ns
187
243
resourceVersion: "12"
188
244
selfLink: /apis/servicecatalog.k8s.io/v1beta1/namespaces/test-ns/serviceinstances/ups-instance
189
- uid: 07ecf19d-a781 -11e7-8b18-0242ac110005
245
+ uid: fe143fee-bf0f -11e7-9e29-0242ac110004
190
246
spec:
191
- externalID: 7f2c176a-ae67-4b5e-a826-58591d85a1d7
192
247
clusterServiceClassExternalName: user-provided-service
248
+ clusterServiceClassRef:
249
+ name: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
193
250
clusterServicePlanExternalName: default
251
+ clusterServicePlanRef:
252
+ name: 86064792-7ea2-467b-af93-ac9694d96d52
253
+ externalID: 10ca3610-8200-4b5d-b788-897365f191fa
194
254
parameters:
195
255
credentials:
196
256
param-1: value-1
197
257
param-2: value-2
258
+ updateRequests: 0
198
259
status:
199
260
asyncOpInProgress: false
200
261
conditions:
201
- - lastTransitionTime: 2017-10-02T14:50:28Z
262
+ - lastTransitionTime: 2017-11-01T14:21:46Z
202
263
message: The instance was provisioned successfully
203
264
reason: ProvisionedSuccessfully
204
265
status: "True"
205
266
type: Ready
267
+ deprovisionStatus: Required
206
268
externalProperties:
207
269
clusterServicePlanExternalName: default
208
270
parameterChecksum: e65c764db8429f9afef45f1e8f71bcbf9fdbe9a13306b86fd5dcc3c5d11e5dd3
@@ -212,7 +274,6 @@ status:
212
274
param-2: value-2
213
275
orphanMitigationInProgress: false
214
276
reconciledGeneration: 1
215
-
216
277
` ` `
217
278
218
279
# Step 5 - Requesting a `ServiceBinding` to use the `ServiceInstance`
@@ -247,26 +308,30 @@ We should see something like:
247
308
apiVersion: servicecatalog.k8s.io/v1beta1
248
309
kind: ServiceBinding
249
310
metadata:
250
- creationTimestamp: 2017-03-07T01:44:36Z
311
+ creationTimestamp: 2017-11-01T14:26:29Z
251
312
finalizers:
252
313
- kubernetes-incubator/service-catalog
314
+ generation: 1
253
315
name: ups-binding
254
316
namespace: test-ns
255
- resourceVersion: "29 "
317
+ resourceVersion: "16 "
256
318
selfLink: /apis/servicecatalog.k8s.io/v1beta1/namespaces/test-ns/servicebindings/ups-binding
257
- uid: 9eb2cdce-02d7 -11e7-8edb-0242ac110005
319
+ uid: a6823f15-bf10 -11e7-9e29-0242ac110004
258
320
spec:
321
+ externalID: a8bb795a-711d-4854-adbb-5654428274f9
259
322
instanceRef:
260
323
name: ups-instance
261
- externalID: b041db94-a5a0-41a2-87ae-1025ba760918
262
324
secretName: ups-binding
263
325
status:
264
326
conditions:
265
- - lastTransitionTime: 2017-03-03T01:44:37Z
327
+ - lastTransitionTime: 2017-11-01T14:26:29Z
266
328
message: Injected bind result
267
329
reason: InjectedBindResult
268
330
status: "True"
269
331
type: Ready
332
+ externalProperties: {}
333
+ orphanMitigationInProgress: false
334
+ reconciledGeneration: 1
270
335
` ` `
271
336
272
337
Notice that the status has a `Ready` condition set. This means our binding is
0 commit comments