3.3. 在受限环境中的 OpenShift 镜像上安装 Fuse

fis-image-streams.json 文件包含 OpenShift 上 Red Hat Fuse 的 imageStream 定义。但是,所有镜像流都引用 registry.redhat.io。您必须更改所有 registry.redhat.iopsi-internal-registry URL 的引用。

流程

  1. 在 OpenShift 镜像流 json 文件中下载 Red Hat Fuse。

    curl -o fis-image-streams.json https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fis-image-streams.json
  2. 打开 fis-image-streams.json 文件,找到 registry.redhat.io 的所有引用。例如:

    {
    "name": "1.9",
    "annotations": {
    "description": "Red Hat Fuse 7.11 Karaf S2I images.",
    "openshift.io/display-name": "Red Hat Fuse 7.11 Karaf",
    "iconClass": "icon-rh-integration",
    "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
    "supports":"jboss-fuse:7.11.0,java:8,xpaas:1.2",
    "version": "1.9"
    },
    "referencePolicy": {
    "type": "Local"
    },
    "from": {
    "kind": "DockerImage",
    "name": "registry.redhat.io/fuse7/fuse-karaf-openshift-rhel8:1.11"
    }
    },
  3. 将文件中的所有 registry.redhat.io 引用替换为 psi-internal-registry 名称。例如:

    {
    "name": "1.9",
    "annotations": {
    "description": "Red Hat Fuse 7.11 Karaf S2I images.",
    "openshift.io/display-name": "Red Hat Fuse 7.11 Karaf",
    "iconClass": "icon-rh-integration",
    "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
    "supports":"jboss-fuse:7.11.0,java:8,xpaas:1.2",
    "version": "1.9"
    },
    "referencePolicy": {
    "type": "Local"
    },
    "from": {
    "kind": "DockerImage",
    "name": "docker-registry.upshift.redhat.com/fuse7/fuse-karaf-openshift-rhel8:1.11"
    }
    },
  4. 替换了所有引用后,运行以下命令在 OpenShift 镜像流上安装 Fuse:

    oc create -f fis-image-streams.json -n {namespace}