The 3.11 version of OKD/OpenShift is based on Kubernetes 1.11.
We assume you have an operational cluster that meets the
technical requirements and that you
have sufficient priveleges to perform the necessary oc adm
operations detailed below.
Create an openwhisk project (Kubernetes namespace) using the command
oc new-project openwhisk
Because OpenShift doesn’t allow arbitrary UIDs by default, execute the following commands:
oc adm policy add-scc-to-user anyuid -z default
oc adm policy add-scc-to-user privileged -z default
oc adm policy add-scc-to-user anyuid -z openwhisk-core
oc adm policy add-scc-to-user privileged -z openwhisk-core
You must use the KubernetesContainerFactory on OKD/OpenShift.
Here is a sample mycluster.yaml
, where <DOMAIN_USED_IN_ROUTES_FOR_THIS_CLUSTER>
should be replaced with the domain used for Routes in your cluster.
whisk:
ingress:
type: OpenShift
apiHostName: openwhisk.<DOMAIN_USED_IN_ROUTES_FOR_THIS_CLUSTER>
apiHostPort: 443
apiHostProto: https
domain: openwhisk.<DOMAIN_USED_IN_ROUTES_FOR_THIS_CLUSTER>
testing:
includeTests: false
invoker:
containerFactory:
impl: kubernetes
``
## Limitations
The nginx service is currently not deployed on OpenShift (problem
determining the appropriate value to use for `k8s.dns`, which is used to
set the resolver in `nginx-cm.yaml`). As a result, the namespace
prefixed 'vanity url' rewriting routes and the download of the cli/SDK
binaries is not currently supported when deploying on OpenShift.
Smoketesting a deployment via `helm test` is not supported because it
relies on `tiller` (the server side component of Helm) and OpenShift
forbids the use of the server-side components of Helm.