Skip to content

Commit 5d9b047

Browse files
committed
cluster up support for N-1 clusters
1 parent 4617345 commit 5d9b047

File tree

10 files changed

+561
-101
lines changed

10 files changed

+561
-101
lines changed

install/templateservicebroker/apiserver-template.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ objects:
4747
- "--audit-log-path=-"
4848
- "--tls-cert-file=/var/serving-cert/tls.crt"
4949
- "--tls-private-key-file=/var/serving-cert/tls.key"
50-
- "--loglevel=${LOGLEVEL}"
50+
- "-v=${LOGLEVEL}"
5151
- "--config=/var/apiserver-config/apiserver-config.yaml"
5252
ports:
5353
- containerPort: 8443
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
apiVersion: template.openshift.io/v1
2+
kind: Template
3+
metadata:
4+
name: template-service-broker-apiserver
5+
parameters:
6+
- name: IMAGE
7+
value: openshift/origin:latest
8+
- name: NAMESPACE
9+
value: openshift-template-service-broker
10+
- name: LOGLEVEL
11+
value: "0"
12+
- name: API_SERVER_CONFIG
13+
value: |
14+
kind: TemplateServiceBrokerConfig
15+
apiVersion: config.templateservicebroker.openshift.io/v1
16+
templateNamespaces:
17+
- openshift
18+
- name: NODE_SELECTOR
19+
value: "{}"
20+
objects:
21+
22+
# to create the tsb server
23+
- apiVersion: extensions/v1beta1
24+
kind: DaemonSet
25+
metadata:
26+
namespace: ${NAMESPACE}
27+
name: apiserver
28+
labels:
29+
apiserver: "true"
30+
spec:
31+
template:
32+
metadata:
33+
name: apiserver
34+
labels:
35+
apiserver: "true"
36+
spec:
37+
serviceAccountName: apiserver
38+
containers:
39+
- name: c
40+
image: ${IMAGE}
41+
imagePullPolicy: IfNotPresent
42+
command:
43+
- "/usr/bin/openshift"
44+
- "start"
45+
- "template-service-broker"
46+
- "--secure-port=8443"
47+
- "--audit-log-path=-"
48+
- "--tls-cert-file=/var/serving-cert/tls.crt"
49+
- "--tls-private-key-file=/var/serving-cert/tls.key"
50+
- "--loglevel=${LOGLEVEL}"
51+
- "--config=/var/apiserver-config/apiserver-config.yaml"
52+
ports:
53+
- containerPort: 8443
54+
volumeMounts:
55+
- mountPath: /var/serving-cert
56+
name: serving-cert
57+
- mountPath: /var/apiserver-config
58+
name: apiserver-config
59+
readinessProbe:
60+
httpGet:
61+
path: /healthz
62+
port: 8443
63+
scheme: HTTPS
64+
nodeSelector: "${{NODE_SELECTOR}}"
65+
volumes:
66+
- name: serving-cert
67+
secret:
68+
defaultMode: 420
69+
secretName: apiserver-serving-cert
70+
- name: apiserver-config
71+
configMap:
72+
defaultMode: 420
73+
name: apiserver-config
74+
75+
# to create the config for the TSB
76+
- apiVersion: v1
77+
kind: ConfigMap
78+
metadata:
79+
namespace: ${NAMESPACE}
80+
name: apiserver-config
81+
data:
82+
apiserver-config.yaml: ${API_SERVER_CONFIG}
83+
84+
# to be able to assign powers to the process
85+
- apiVersion: v1
86+
kind: ServiceAccount
87+
metadata:
88+
namespace: ${NAMESPACE}
89+
name: apiserver
90+
91+
# to be able to expose TSB inside the cluster
92+
- apiVersion: v1
93+
kind: Service
94+
metadata:
95+
namespace: ${NAMESPACE}
96+
name: apiserver
97+
annotations:
98+
service.alpha.openshift.io/serving-cert-secret-name: apiserver-serving-cert
99+
spec:
100+
selector:
101+
apiserver: "true"
102+
ports:
103+
- name: https
104+
port: 443
105+
targetPort: 8443
106+
107+
# This service account will be granted permission to call the TSB.
108+
# The token for this SA will be provided to the service catalog for
109+
# use when calling the TSB.
110+
- apiVersion: v1
111+
kind: ServiceAccount
112+
metadata:
113+
namespace: ${NAMESPACE}
114+
name: templateservicebroker-client
115+
116+
# This secret will be populated with a copy of the templateservicebroker-client SA's
117+
# auth token. Since this secret has a static name, it can be referenced more
118+
# easily than the auto-generated secret for the service account.
119+
- apiVersion: v1
120+
kind: Secret
121+
metadata:
122+
namespace: ${NAMESPACE}
123+
name: templateservicebroker-client
124+
annotations:
125+
kubernetes.io/service-account.name: templateservicebroker-client
126+
type: kubernetes.io/service-account-token

pkg/oc/bootstrap/bindata.go

+149-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/oc/bootstrap/docker/openshift/logging.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func (h *Helper) InstallLogging(f *clientcmd.Factory, publicHostname, loggerHost
9292
}
9393

9494
// Instantiate logging deployer account template
95-
err = instantiateTemplate(templateClient.Template(), clientcmd.ResourceMapper(f), nil, OpenshiftInfraNamespace, loggingDeployerAccountTemplate, loggingNamespace, nil, false)
95+
err = instantiateTemplate(templateClient.Template(), f, OpenshiftInfraNamespace, loggingDeployerAccountTemplate, loggingNamespace, nil, false)
9696
if err != nil {
9797
return errors.NewError("cannot instantiate logger accounts").WithCause(err)
9898
}
@@ -144,7 +144,7 @@ func (h *Helper) InstallLogging(f *clientcmd.Factory, publicHostname, loggerHost
144144
"IMAGE_PREFIX": fmt.Sprintf("%s-", imagePrefix),
145145
"MODE": "install",
146146
}
147-
err = instantiateTemplate(templateClient.Template(), clientcmd.ResourceMapper(f), nil, OpenshiftInfraNamespace, loggingDeployerTemplate, loggingNamespace, deployerParams, false)
147+
err = instantiateTemplate(templateClient.Template(), f, OpenshiftInfraNamespace, loggingDeployerTemplate, loggingNamespace, deployerParams, false)
148148
if err != nil {
149149
return errors.NewError("cannot instantiate logging deployer").WithCause(err)
150150
}

pkg/oc/bootstrap/docker/openshift/servicecatalog.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (h *Helper) InstallServiceCatalog(f *clientcmd.Factory, configDir, publicMa
7070
glog.V(2).Infof("instantiating service catalog template with parameters %v", params)
7171

7272
// Stands up the service catalog apiserver, etcd, and controller manager
73-
err = instantiateTemplate(templateClient.Template(), clientcmd.ResourceMapper(f), nil, OpenshiftInfraNamespace, catalogTemplate, catalogNamespace, params, true)
73+
err = instantiateTemplate(templateClient.Template(), f, OpenshiftInfraNamespace, catalogTemplate, catalogNamespace, params, true)
7474
if err != nil {
7575
return errors.NewError("cannot instantiate service catalog template").WithCause(err)
7676
}

pkg/oc/bootstrap/docker/openshift/templateservicebroker.go

+3-12
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1414
"k8s.io/apimachinery/pkg/util/wait"
1515
kapi "k8s.io/kubernetes/pkg/api"
16-
"k8s.io/kubernetes/pkg/kubectl/resource"
1716

1817
"github.com/openshift/origin/pkg/cmd/util/variable"
1918
"github.com/openshift/origin/pkg/oc/bootstrap/docker/errors"
@@ -43,7 +42,7 @@ func (h *Helper) InstallTemplateServiceBroker(f *clientcmd.Factory, imageFormat
4342
return errors.NewError("cannot create template service broker project").WithCause(err)
4443
}
4544

46-
if err = instantiateTemplate(templateClient.Template(), clientcmd.ResourceMapper(f), nil, OpenshiftInfraNamespace, tsbRBACTemplateName, tsbNamespace, map[string]string{}, true); err != nil {
45+
if err = instantiateTemplate(templateClient.Template(), f, OpenshiftInfraNamespace, tsbRBACTemplateName, tsbNamespace, map[string]string{}, true); err != nil {
4746
return errors.NewError("cannot instantiate template service broker permissions").WithCause(err)
4847
}
4948

@@ -59,7 +58,7 @@ func (h *Helper) InstallTemplateServiceBroker(f *clientcmd.Factory, imageFormat
5958
}
6059
glog.V(2).Infof("instantiating template service broker template with parameters %v", params)
6160

62-
if err = instantiateTemplate(templateClient.Template(), clientcmd.ResourceMapper(f), nil, OpenshiftInfraNamespace, tsbAPIServerTemplateName, tsbNamespace, params, true); err != nil {
61+
if err = instantiateTemplate(templateClient.Template(), f, OpenshiftInfraNamespace, tsbAPIServerTemplateName, tsbNamespace, params, true); err != nil {
6362
return errors.NewError("cannot instantiate template service broker resources").WithCause(err)
6463
}
6564

@@ -92,20 +91,12 @@ func (h *Helper) RegisterTemplateServiceBroker(f *clientcmd.Factory, configDir s
9291
// Register the template broker with the service catalog
9392
glog.V(2).Infof("registering the template broker with the service catalog")
9493

95-
// dynamic mapper is needed to support the broker resource which isn't part of the api.
96-
dynamicMapper, dynamicTyper, err := f.UnstructuredObject()
97-
dmapper := &resource.Mapper{
98-
RESTMapper: dynamicMapper,
99-
ObjectTyper: dynamicTyper,
100-
ClientMapper: resource.ClientMapperFunc(f.UnstructuredClientForMapping),
101-
}
102-
10394
serviceCABytes, err := ioutil.ReadFile(filepath.Join(configDir, "master", "service-signer.crt"))
10495
serviceCAString := base64.StdEncoding.EncodeToString(serviceCABytes)
10596
if err != nil {
10697
return errors.NewError("unable to read service signer cert").WithCause(err)
10798
}
108-
if err = instantiateTemplate(templateClient.Template(), clientcmd.ResourceMapper(f), dmapper, OpenshiftInfraNamespace, tsbRegistrationTemplateName, tsbNamespace, map[string]string{
99+
if err = instantiateTemplate(templateClient.Template(), f, OpenshiftInfraNamespace, tsbRegistrationTemplateName, tsbNamespace, map[string]string{
109100
"TSB_NAMESPACE": tsbNamespace,
110101
"CA_BUNDLE": serviceCAString,
111102
}, true); err != nil {

0 commit comments

Comments
 (0)