IMPORTANT: The functionality introduced by Knative on an OpenShift cluster is preview only. Red Hat support is not provided, and this release should not be used in a production environment.
NOTE: This release includes upstream Knative Serving
v0.5.1
, Knative Eventingv0.5.0
and Knative Buildv0.5.0
.
IMPORTANT: You will need cluster administrator privileges to install and use Knative on an OpenShift cluster.
NOTE: This Knative on OpenShift preview is only available by using the OpenShift 4.0 developer preview. You will require a Red Hat Developers login to try this. Visit try.openshift.com for getting started information.
IMPORTANT: Installation requires the OpenShift version
0.16.1
installer or later. Using the latest version installer is recommended.
Platform | Supported versions |
---|---|
OpenShift | 4.0 Developer Preview |
NOTE: Long-running clusters are not supported in this release.
-
Login to the cluster using your admin credentials.
oc login <admin-credentials>
-
Clone the
knative-operators
repository.
git clone https://github.com/openshift-cloud-functions/knative-operators
cd knative-operators/
git fetch --tags
git checkout openshift-v0.5.0
-
Navigate to the newly cloned repository and run the
install.sh
script../etc/scripts/install.sh
NOTE: The
install.sh
script can time-out waiting for the Istio operator to complete, and you may receive anERROR: Timed out
message. If theinstall.sh
script fails to install Istio, run the script again after it times out.
- Once the script starts, you will see the following warning and prompt.
WARNING: This script will attempt to install Istio, Knative, and OLM in your Kubernetes/OpenShift cluster.
If targeting OpenShift, a recent version of 'oc' should be available in your PATH. Otherwise, 'kubectl' will be used.
Pass -q to disable this prompt
Enter to continue or Ctrl-C to exit:
- Press Enter to continue.
NOTE: The install script sets privileges for a specific namespace. Results are different when using a namespace other than "myproject". If the user wants to use the install script in another namespace, it needs to be called out.
- Create a route by using the
oc expose
command.
oc expose svc istio-ingressgateway --hostname=<servicename>.<projectname>.<openshiftdomain> --name=<servicename> -n istio-system`
For example, if the following inputs are used:
- knative service name: helloworld
- project: my project
- cluster wildcard domain: apps.demo1.d103.sandbox718.opentlc.com
the oc command
would be:
oc expose svc istio-ingressgateway --hostname=helloworld.myproject.apps.demo1.d103.sandbox718.opentlc.com --name=helloworld -n istio-system