为了安全起见,在很多企业,网络环境是不能连接外网的,而需要使用OpenShift的话,就需要离线部署。离线部署与在线部署最大区别,就是我们得自己准备介质源:YUM源与镜像仓库。只要你拥有红帽订阅,下载最新的介质,其实很简单。
一、同步YUM源 RHEL主机注册到红帽订阅,并关联到相应的YUM仓库
1 2 3 4 5 6 7 8 9 10 $ subscription-manager register $ subscription-manager refresh $ subscription-manager list --available --matches '*OpenShift*' $ subscription-manager attach --pool=<pool_id> $ subscription-manager repos --disable="*" $ subscription-manager repos \ --enable="rhel-7-server-rpms" \ --enable="rhel-7-server-extras-rpms" \ --enable="rhel-7-fast-datapath-rpms" \ --enable="rhel-7-server-ose-3.7-rpms"
同步yum源,reposync命令添加-n标记,表示只下载最新的
1 2 3 4 5 6 7 8 9 10 11 $ yum -y install yum-utils createrepo docker git $ mkdir -p /opt/repos/ $ for repo in \ rhel-7-server-rpms \ rhel-7-server-extras-rpms \ rhel-7-fast-datapath-rpms \ rhel-7-server-ose-3.7-rpms do reposync --gpgcheck -lm --repoid=${repo} --download_path=/opt/repos/ -n createrepo -v /opt/repos/${repo} -o /opt/repos/${repo} done
将YUM源文件打包
1 2 3 4 5 $ cd /opt/repos/ $ tar zcvf rhel-7-server-rpms.tar.gz rhel-7-server-rpms $ tar zcvf rhel-7-server-extras-rpms.tar.gz rhel-7-server-extras-rpms $ tar zcvf rhel-7-fast-datapath-rpms.tar.gz rhel-7-fast-datapath-rpms $ tar zcvf rhel-7-server-ose-3.7-rpms.tar.gz rhel-7-server-ose-3.7-rpms
二、同步镜像 登录红帽镜像仓库
1 $ docker login registry.redhat.io
下载镜像,例如=v3.11.219
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 $ docker pull registry.redhat.io/openshift3/apb-base:<tag> $ docker pull registry.redhat.io/openshift3/apb-tools:<tag> $ docker pull registry.redhat.io/openshift3/automation-broker-apb:<tag> $ docker pull registry.redhat.io/openshift3/csi-attacher:<tag> $ docker pull registry.redhat.io/openshift3/csi-driver-registrar:<tag> $ docker pull registry.redhat.io/openshift3/csi-livenessprobe:<tag> $ docker pull registry.redhat.io/openshift3/csi-provisioner:<tag> $ docker pull registry.redhat.io/openshift3/grafana:<tag> $ docker pull registry.redhat.io/openshift3/local-storage-provisioner:<tag> $ docker pull registry.redhat.io/openshift3/manila-provisioner:<tag> $ docker pull registry.redhat.io/openshift3/mariadb-apb:<tag> $ docker pull registry.redhat.io/openshift3/mediawiki:<tag> $ docker pull registry.redhat.io/openshift3/mediawiki-apb:<tag> $ docker pull registry.redhat.io/openshift3/mysql-apb:<tag> $ docker pull registry.redhat.io/openshift3/ose-ansible-service-broker:<tag> $ docker pull registry.redhat.io/openshift3/ose-cli:<tag> $ docker pull registry.redhat.io/openshift3/ose-cluster-autoscaler:<tag> $ docker pull registry.redhat.io/openshift3/ose-cluster-capacity:<tag> $ docker pull registry.redhat.io/openshift3/ose-cluster-monitoring-operator:<tag> $ docker pull registry.redhat.io/openshift3/ose-console:<tag> $ docker pull registry.redhat.io/openshift3/ose-configmap-reloader:<tag> $ docker pull registry.redhat.io/openshift3/ose-control-plane:<tag> $ docker pull registry.redhat.io/openshift3/ose-deployer:<tag> $ docker pull registry.redhat.io/openshift3/ose-descheduler:<tag> $ docker pull registry.redhat.io/openshift3/ose-docker-builder:<tag> $ docker pull registry.redhat.io/openshift3/ose-docker-registry:<tag> $ docker pull registry.redhat.io/openshift3/ose-efs-provisioner:<tag> $ docker pull registry.redhat.io/openshift3/ose-egress-dns-proxy:<tag> $ docker pull registry.redhat.io/openshift3/ose-egress-http-proxy:<tag> $ docker pull registry.redhat.io/openshift3/ose-egress-router:<tag> $ docker pull registry.redhat.io/openshift3/ose-haproxy-router:<tag> $ docker pull registry.redhat.io/openshift3/ose-hyperkube:<tag> $ docker pull registry.redhat.io/openshift3/ose-hypershift:<tag> $ docker pull registry.redhat.io/openshift3/ose-keepalived-ipfailover:<tag> $ docker pull registry.redhat.io/openshift3/ose-kube-rbac-proxy:<tag> $ docker pull registry.redhat.io/openshift3/ose-kube-state-metrics:<tag> $ docker pull registry.redhat.io/openshift3/ose-metrics-server:<tag> $ docker pull registry.redhat.io/openshift3/ose-node:<tag> $ docker pull registry.redhat.io/openshift3/ose-node-problem-detector:<tag> $ docker pull registry.redhat.io/openshift3/ose-operator-lifecycle-manager:<tag> $ docker pull registry.redhat.io/openshift3/ose-ovn-kubernetes:<tag> $ docker pull registry.redhat.io/openshift3/ose-pod:<tag> $ docker pull registry.redhat.io/openshift3/ose-prometheus-config-reloader:<tag> $ docker pull registry.redhat.io/openshift3/ose-prometheus-operator:<tag> $ docker pull registry.redhat.io/openshift3/ose-recycler:<tag> $ docker pull registry.redhat.io/openshift3/ose-service-catalog:<tag> $ docker pull registry.redhat.io/openshift3/ose-template-service-broker:<tag> $ docker pull registry.redhat.io/openshift3/ose-tests:<tag> $ docker pull registry.redhat.io/openshift3/ose-web-console:<tag> $ docker pull registry.redhat.io/openshift3/postgresql-apb:<tag> $ docker pull registry.redhat.io/openshift3/registry-console:<tag> $ docker pull registry.redhat.io/openshift3/snapshot-controller:<tag> $ docker pull registry.redhat.io/openshift3/snapshot-provisioner:<tag> $ docker pull registry.redhat.io/rhel7/etcd:3.2.26 $ docker pull registry.redhat.io/rhel7/etcd:3.2.22 $ docker pull registry.redhat.io/openshift3/ose-efs-provisioner:<tag> $ docker pull registry.redhat.io/openshift3/metrics-cassandra:<tag> $ docker pull registry.redhat.io/openshift3/metrics-hawkular-metrics:<tag> $ docker pull registry.redhat.io/openshift3/metrics-hawkular-openshift-agent:<tag> $ docker pull registry.redhat.io/openshift3/metrics-heapster:<tag> $ docker pull registry.redhat.io/openshift3/metrics-schema-installer:<tag> $ docker pull registry.redhat.io/openshift3/oauth-proxy:<tag> $ docker pull registry.redhat.io/openshift3/ose-logging-curator5:<tag> $ docker pull registry.redhat.io/openshift3/ose-logging-elasticsearch5:<tag> $ docker pull registry.redhat.io/openshift3/ose-logging-eventrouter:<tag> $ docker pull registry.redhat.io/openshift3/ose-logging-fluentd:<tag> $ docker pull registry.redhat.io/openshift3/ose-logging-kibana5:<tag> $ docker pull registry.redhat.io/openshift3/prometheus:<tag> $ docker pull registry.redhat.io/openshift3/prometheus-alertmanager:<tag> $ docker pull registry.redhat.io/openshift3/prometheus-node-exporter:<tag> $ docker pull registry.redhat.io/cloudforms46/cfme-openshift-postgresql $ docker pull registry.redhat.io/cloudforms46/cfme-openshift-memcached $ docker pull registry.redhat.io/cloudforms46/cfme-openshift-app-ui $ docker pull registry.redhat.io/cloudforms46/cfme-openshift-app $ docker pull registry.redhat.io/cloudforms46/cfme-openshift-embedded-ansible $ docker pull registry.redhat.io/cloudforms46/cfme-openshift-httpd $ docker pull registry.redhat.io/cloudforms46/cfme-httpd-configmap-generator $ docker pull registry.redhat.io/rhgs3/rhgs-server-rhel7 $ docker pull registry.redhat.io/rhgs3/rhgs-volmanager-rhel7 $ docker pull registry.redhat.io/rhgs3/rhgs-gluster-block-prov-rhel7 $ docker pull registry.redhat.io/rhgs3/rhgs-s3-server-rhel7
将镜像打包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 $ docker save -o ose3-images.tar \ registry.redhat.io/openshift3/apb-base \ registry.redhat.io/openshift3/apb-tools \ registry.redhat.io/openshift3/automation-broker-apb \ registry.redhat.io/openshift3/csi-attacher \ registry.redhat.io/openshift3/csi-driver-registrar \ registry.redhat.io/openshift3/csi-livenessprobe \ registry.redhat.io/openshift3/csi-provisioner \ registry.redhat.io/openshift3/grafana \ registry.redhat.io/openshift3/local-storage-provisioner \ registry.redhat.io/openshift3/manila-provisioner \ registry.redhat.io/openshift3/mariadb-apb \ registry.redhat.io/openshift3/mediawiki \ registry.redhat.io/openshift3/mediawiki-apb \ registry.redhat.io/openshift3/mysql-apb \ registry.redhat.io/openshift3/ose-ansible-service-broker \ registry.redhat.io/openshift3/ose-cli \ registry.redhat.io/openshift3/ose-cluster-autoscaler \ registry.redhat.io/openshift3/ose-cluster-capacity \ registry.redhat.io/openshift3/ose-cluster-monitoring-operator \ registry.redhat.io/openshift3/ose-console \ registry.redhat.io/openshift3/ose-configmap-reloader \ registry.redhat.io/openshift3/ose-control-plane \ registry.redhat.io/openshift3/ose-deployer \ registry.redhat.io/openshift3/ose-descheduler \ registry.redhat.io/openshift3/ose-docker-builder \ registry.redhat.io/openshift3/ose-docker-registry \ registry.redhat.io/openshift3/ose-efs-provisioner \ registry.redhat.io/openshift3/ose-egress-dns-proxy \ registry.redhat.io/openshift3/ose-egress-http-proxy \ registry.redhat.io/openshift3/ose-egress-router \ registry.redhat.io/openshift3/ose-haproxy-router \ registry.redhat.io/openshift3/ose-hyperkube \ registry.redhat.io/openshift3/ose-hypershift \ registry.redhat.io/openshift3/ose-keepalived-ipfailover \ registry.redhat.io/openshift3/ose-kube-rbac-proxy \ registry.redhat.io/openshift3/ose-kube-state-metrics \ registry.redhat.io/openshift3/ose-metrics-server \ registry.redhat.io/openshift3/ose-node \ registry.redhat.io/openshift3/ose-node-problem-detector \ registry.redhat.io/openshift3/ose-operator-lifecycle-manager \ registry.redhat.io/openshift3/ose-ovn-kubernetes \ registry.redhat.io/openshift3/ose-pod \ registry.redhat.io/openshift3/ose-prometheus-config-reloader \ registry.redhat.io/openshift3/ose-prometheus-operator \ registry.redhat.io/openshift3/ose-recycler \ registry.redhat.io/openshift3/ose-service-catalog \ registry.redhat.io/openshift3/ose-template-service-broker \ registry.redhat.io/openshift3/ose-tests \ registry.redhat.io/openshift3/ose-web-console \ registry.redhat.io/openshift3/postgresql-apb \ registry.redhat.io/openshift3/registry-console \ registry.redhat.io/openshift3/snapshot-controller \ registry.redhat.io/openshift3/snapshot-provisioner \ registry.redhat.io/rhel7/etcd:3.2.22 \ registry.redhat.io/rhel7/etcd:3.2.26 $ docker save -o ose3-optional-imags.tar \ registry.redhat.io/openshift3/metrics-cassandra \ registry.redhat.io/openshift3/metrics-hawkular-metrics \ registry.redhat.io/openshift3/metrics-hawkular-openshift-agent \ registry.redhat.io/openshift3/metrics-heapster \ registry.redhat.io/openshift3/metrics-schema-installer \ registry.redhat.io/openshift3/oauth-proxy \ registry.redhat.io/openshift3/ose-logging-curator5 \ registry.redhat.io/openshift3/ose-logging-elasticsearch5 \ registry.redhat.io/openshift3/ose-logging-eventrouter \ registry.redhat.io/openshift3/ose-logging-fluentd \ registry.redhat.io/openshift3/ose-logging-kibana5 \ registry.redhat.io/openshift3/prometheus \ registry.redhat.io/openshift3/prometheus-alertmanager \ registry.redhat.io/openshift3/prometheus-node-exporter \ registry.redhat.io/cloudforms46/cfme-openshift-postgresql \ registry.redhat.io/cloudforms46/cfme-openshift-memcached \ registry.redhat.io/cloudforms46/cfme-openshift-app-ui \ registry.redhat.io/cloudforms46/cfme-openshift-app \ registry.redhat.io/cloudforms46/cfme-openshift-embedded-ansible \ registry.redhat.io/cloudforms46/cfme-openshift-httpd \ registry.redhat.io/cloudforms46/cfme-httpd-configmap-generator \ registry.redhat.io/rhgs3/rhgs-server-rhel7 \ registry.redhat.io/rhgs3/rhgs-volmanager-rhel7 \ registry.redhat.io/rhgs3/rhgs-gluster-block-prov-rhel7 \ registry.redhat.io/rhgs3/rhgs-s3-server-rhel7
小坑留意
OpenShift官方文档中在同步YUM源时采用全量同步,这会导致光rhel-7-server-rpms
这个源下载文件就有40G,下载时间长。其实只需要在同步YUM源时添加参数-n
,只会下载最新的包,同样是rhel-7-server-rpms
源,文件总共 是5G左右。
大家都知道的原因,国内网络下载很慢,所以可以购买一台(香港/日本)云主机进行下载,再把介质压缩后,拷贝到本地。所有介绍压缩后,大概为11G。
参考文章 OpenShift官方文档:Disconnected installation