Este contenido no está disponible en el idioma seleccionado.
Chapter 3. Installing Fuse on Openshift in a restricted environment
			To install Fuse on OpenShift in a non-restricted environment, you pull imagestreams and templates from registry.redhat.io. In a production environment which has no or limited internet access, that is not possible. This section explains how to install Fuse on OpenShift in a restricted environment.
		
Installing in a restricted environment is currently not supported on IBM Power Systems, IBM Z, and LinuxONE.
Prerequisites
- You have installed and configured OpenShift server so that it can run in a restricted environment.
3.1. Setting up internal Docker registry
This section explains how to set up internal docker registry which can be used to push or pull images. You must configure an internal docker registry where you can pull or push images.
Procedure
- Install internal ROOT CA. - cd /etc/pki/ca-trust/source/anchors sudo curl -O https://password.corp.redhat.com/RH-IT-Root-CA.crt sudo update-ca-trust extract sudo update-ca-trust update - cd /etc/pki/ca-trust/source/anchors sudo curl -O https://password.corp.redhat.com/RH-IT-Root-CA.crt sudo update-ca-trust extract sudo update-ca-trust update- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - This certificate allows the system to authenticate itself to the registry. 
- Login to - registry.redhat.io.- docker login -u USERNAME -p PASSWORD registry.redhat.io - docker login -u USERNAME -p PASSWORD registry.redhat.io- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Pull the Fuse on OpenShift images from - registry.redhat.io.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Tag the pulled imagestreams. - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Push the tagged imagestreams to the internal docker registry. - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
3.2. Configuring internal registry secrets
After setting up the restricted docker registry and pushing all the images, it is necessary to configure the restricted OpenShift server so that it can communicate with the internal registry.
Procedure
- Log into your OpenShift cluster as administrator: - oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443 - oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Open the project in which you want to deploy Fuse: - oc project myproject - oc project myproject- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Create a - docker-registrysecret using your Red Hat Customer Portal account, replacing- PULL_SECRET_NAMEwith- psi-internal-registryto create:- oc create secret docker-registry psi-internal-registry \ --docker-server=docker-registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS - oc create secret docker-registry psi-internal-registry \ --docker-server=docker-registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - You should see the following output: - secret/psi-internal-registry created - secret/psi-internal-registry created- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Important- You must create this - docker-registrysecret in every OpenShift project namespace that will authenticate to- registry.redhat.io.
- Link the secret to your service account to use the secret for pulling images. The following example uses the - defaultservice account,- builderservice account, and- deployerservice account:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - The service account name must match the name that the OpenShift pod uses. Note- If you do not want to use your Red Hat username and password to create the pull secret, you can create an authentication token using a registry service account. 
3.3. Installing Fuse on OpenShift images in a restricted environment
				The fis-image-streams.json file contains the imageStream definitions for Red Hat Fuse on OpenShift. But, all the imagestreams refer to registry.redhat.io. You must change all the registry.redhat.io references to the psi-internal-registry URL.
			
Procedure
- Download Red Hat Fuse on OpenShift imagestream json file. - curl -o fis-image-streams.json {BASEURL}- curl -o fis-image-streams.json {BASEURL}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Open the - fis-image-streams.jsonfile and locate all the references to- `registry.redhat.io. For example:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Replace all the - registry.redhat.ioreferences in the file with- psi-internal-registryname. For example:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- After all the references are replaced, run the following command to install Fuse on OpenShift imagestreams: - oc create -f fis-image-streams.json -n {namespace}- oc create -f fis-image-streams.json -n {namespace}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
3.4. Using an internal Maven repository
				In a restricted environment, you need to use a different Maven Repository. You can specify it using a template parameter named MAVEN_MIRROR_URL. You can use this MAVEN_MIRROR_URL parameter to create a new application from command line.
			
3.4.1. Running a Spring Boot application with MAVEN_MIRROR_URL
This example explains how to deploy and run a Spring Boot Application using MAVEN_MIRROR_URL.
Procedure
- Download the Spring Boot Camel XML quickstart. - oc create -f ./spring-boot-2-camel-xml-template.json -n openshift - oc create -f ./spring-boot-2-camel-xml-template.json -n openshift- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to create the resources required for running the Spring Boot quickstart template using the - MAVEN_MIRROR_URLparameter.- In a restricted environment, you also need to specify the - GIT_REPOand- GIT_REFparameters for your local repository.- oc new-app s2i-fuse713-spring-boot-2-camel-xml -n {namespace} -p IMAGE_STREAM_NAMESPACE={namespace} -p MAVEN_MIRROR_URL={Maven mirror URL} -p GIT_REPO={Git Repo URL} -p GIT_REF={Git branch/tag name}- oc new-app s2i-fuse713-spring-boot-2-camel-xml -n {namespace} -p IMAGE_STREAM_NAMESPACE={namespace} -p MAVEN_MIRROR_URL={Maven mirror URL} -p GIT_REPO={Git Repo URL} -p GIT_REF={Git branch/tag name}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - This will create a deployment config and build config for the quickstart. The information about the default parameters of the quickstart and the resources created is displayed on the terminal. 
3.4.2. Running a Spring Boot application with OpenShift Maven plugin
This example explains how to deploy and run a Spring Boot application with OpenShift Maven plugin using internal Maven repository.
Procedure
- To run the quickstart with OpenShift Maven plugin, download the Spring Boot 2 camel archetype from local repository and then deploy the quickstart. Replace - {Maven Mirror URL}with the Maven mirror repository URL.- mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog={Maven Mirror URL}/archetypes/archetypes-catalog/2.2.0.fuse-7_13_0-00014-redhat-00001/archetypes-catalog-2.2.0.fuse-7_13_0-00014-redhat-00001-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype -DarchetypeVersion=2.2.0.fuse-7_13_0-00014-redhat-00001- mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog={Maven Mirror URL}/archetypes/archetypes-catalog/2.2.0.fuse-7_13_0-00014-redhat-00001/archetypes-catalog-2.2.0.fuse-7_13_0-00014-redhat-00001-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype -DarchetypeVersion=2.2.0.fuse-7_13_0-00014-redhat-00001- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- The archetype plug-in switches to interactive mode to prompt you for the remaining fields. - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
							If the above command exited with the BUILD SUCCESS status, you should now have a new Fuse on OpenShift project under the fuse713-spring-boot2subdirectory.
- You are now ready to build and deploy the - fuse713-spring-boot2project. Assuming you are still logged into OpenShift, change to the directory of the- fuse713-spring-boot2project, and then build and deploy the project, as follows.- cd fuse713-spring-boot2 mvn oc:deploy -Popenshift - cd fuse713-spring-boot2 mvn oc:deploy -Popenshift- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow