Just some quick notes on how to setup an Openshift cluster in Cloudforms.
Versions
[root@openshift-master ~]# oadm version oadm v3.1.0.4-16-g112fcc4 kubernetes v1.1.0-origin-1107-g4c8e6f4
CF version : Nightly aug 2016
Openshift API
26JULY 2016 : It seems that most of the setup is already done in the OS Enterprise installation.
Project
Check if the project “management-infra” already exists with “oc get projects” command:
[root@openshift-master ~]# oc get projects NAME DISPLAY NAME STATUS default Active management-infra Active openshift Active openshift-infra Active
if not, create it with (not tested):
oadm new-project management-infra --description="Management Infrastructure"
Service account
Check if the service account “management-admin” already exists with “oc get serviceaccounts” command :
[root@openshift-master ~]# oc get serviceaccounts NAME SECRETS AGE builder 3 1d default 2 1d deployer 2 1d inspector-admin 3 1d management-admin 2 1d
if not, create it with (not tested):
$ cat ServiceAccountIntegrationCloudFroms.json { "apiVersion": "v1", "kind": "ServiceAccount", "metadata": { "name": "management-admin" } }
$ oc create -f ServiceAccountIntegrationCloudFroms.json serviceaccounts/robot
Cluster Role
check if the cluster role “management-infra-admin” already exists with “oc get ClusterRole” command:
[root@openshift-master ~]# oc get ClusterRole | grep management management-infra-admin
if not, create it with (not tested):
$ cat ClusterRoleIntegrationCloudFroms.json { "kind": "ClusterRole", "apiVersion": "v1", "metadata": { "name": "management-infra-admin", "creationTimestamp": null }, "rules": [ { "verbs": [ "*" ], "attributeRestrictions": null, "apiGroups": null, "resources": [ "pods/proxy" ] } ] }
$ oc create -f ClusterRoleIntegrationCloudFroms.json
Policies
Create the following polocies to gice enough permission to your service account:
oadm policy add-role-to-user -n management-infra admin -z management-admin oadm policy add-role-to-user -n management-infra managementinfra-admin -z management-admin oadm policy add-cluster-role-to-user cluster-reader system:serviceaccount:management-infra:management-admin
Token name:
[root@openshift-master ~]# oc get -n management-infra sa/management-admin --template='{{range .secrets}}{{printf "%s\n" .name}}{{end}}' management-admin-token-wbj84 management-admin-dockercfg-0sgjy
Token
[root@openshift-master ~]# oc get -n management-infra secrets management-admin-token-wbj84 --template='{{.data.token}}' | base64 -d eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZX..............ZQBxIaWooQ_kwDsmJNcZJx7DkraoOdbgcmc5W2JYXW-IySxAr5wyVZv5dVP406w
Then use this token in the CF UI in the default endpoint of the container setup.