本文记录在OperatorHub中存在界面但缺少镜像的环境下如何安装部署。感谢王征提供的大力支持和指导。

现在一个在线环境找到etcd所需要的镜像

quay.io/coreos/etcd-operator@sha256:66a37fd61a06a43969854ee6d3e21087a98b93838e284a6086b13917f96b0d9b

quay.io/coreos/etcd:v3.2.13
docker.io/library/busybox:1.28.-glibc

找一个能上网的机器,建立registry.redhat.ren的docker-distribution,通过oc  image mirror命令把镜像的相关信息复制到本地

oc image mirror quay.io/coreos/etcd-operator@sha256:66a37fd61a06a43969854ee6d3e21087a98b93838e284a6086b13917f96b0d9b registry.redhat.ren/quay.io/coreos/etcd-operator

将本地的registry打包成tgz文件,

tar zcvf registry-etcd.tgz registry

然后上传到自己离线的registry,然后解压。

修改helper机器上的image.registries.conf,添加如下记录

[[registry]]
location = "quay.io/coreos/etcd-operator"
insecure = false
blocked = false
mirror-by-digest-only = false
prefix = "" [[registry.mirror]]
location = "registry.redhat.ren/quay.io/coreos/etcd-operator"
insecure = true [[registry]]
location = "docker.io/library/busybox"
insecure = false
blocked = false
mirror-by-digest-only = false
prefix = "" [[registry.mirror]]
location = "registry.redhat.ren/docker.io/library/busybox"
insecure = true [[registry]]
location = "quay.io/coreos/etcd"
insecure = false
blocked = false
mirror-by-digest-only = false
prefix = "" [[registry.mirror]]
location = "registry.redhat.ren/quay.io/coreos/etcd"
insecure = true

然后运行

config_source=$(cat ./image.registries.conf | python3 -c "import sys, urllib.parse; print(urllib.parse.quote(''.join(sys.stdin.readlines())))"  )

cat <<EOF > -worker-container-registries.yaml
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker
name: -worker-container-registries
spec:
config:
ignition:
version: 2.2.
storage:
files:
- contents:
source: data:text/plain,${config_source}
verification: {}
filesystem: root
mode:
path: /etc/containers/registries.conf
EOF cat <<EOF > -master-container-registries.yaml
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: master
name: -master-container-registries
spec:
config:
ignition:
version: 2.2.
storage:
files:
- contents:
source: data:text/plain,${config_source}
verification: {}
filesystem: root
mode:
path: /etc/containers/registries.conf
EOF
oc apply -f ./-worker-container-registries.yaml -n openshift-config
oc apply -f ./-master-container-registries.yaml -n openshift-config

通过podman push把另外两个镜像推入到正确的位置,然后安装etcd Operator, 再建立etcd cluster.

[root@helper ocp4]# oc get pods
NAME READY STATUS RESTARTS AGE
etcd-operator-7f95f8497c-cczf9 / Running 3h46m
example-f6jg6px9q4 / Running 3h44m
example-mvlbn7v2tl / Running 3h43m
example-wkgcgjgpw4 / Running 3h43m

OpenShift 4.2 etcd operatorhub离线环境部署的更多相关文章

  1. k8s集群部署之环境介绍与etcd数据库集群部署

    角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...

  2. Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务

    如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务.本次我们以Docker服务和Ansible服务为例. 获取指定服务的所有rpm包 保证要获取rpm包的机器能够上网. 本 ...

  3. 离线版centos8环境部署迁移监控操作笔记

    嗨咯,前两天总结记录了离线版centos8下docker的部署笔记,今天正好是2021年的最后一天,今天正好坐在本次出差回家的列车上,车上没有上面事做,索性不如把本次离线版centos8环境安装的其他 ...

  4. Openshift 4.4 静态 IP 离线安装系列:准备离线资源

    本系列文章描述了离线环境下以 UPI (User Provisioned Infrastructure) 模式安装 Openshift Container Platform (OCP) 4.4.5 的 ...

  5. Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...

  6. [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...

  7. 使用Rainbond实现离线环境软件交付

    一.离线交付的痛点 在传统行业,如政府.能源.军工.公安.工业.交通等行业,为了防止数据泄露和运行安全考虑,一般情况下网络会采取内外网隔离的策略,以防范不必要的风险,毕竟在安全防护方面,网络物理隔离是 ...

  8. 在离线环境中发布.NET Core至Windows Server 2008

    在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...

  9. 在离线环境中使用.NET Core

    在离线环境中使用.NET Core 0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网 ...

随机推荐

  1. 云打印 对 追光的人 的Beta产品测试报告

    云打印 对追光的人的Beta产品测试报告 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:作业集合 团队队员 队员学号 队员姓名 个人博 ...

  2. Beta 冲刺随笔汇总

    作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Beta冲刺(团队) 团队名称 基于云的胜利冲锋队 作业目标 汇总随笔 团队信息 团队名称:基于云的胜利冲锋队 ...

  3. Discuz通过修改文章标题更好的实现SEO的方法

    找到: /source/module/forum/forum_viewthread.php 代码如下: $navtitle = get_title_page($_G['forum_thread'][' ...

  4. wordpress去掉category的另一个方法

    今天ytkah的客户问wordpress网站一直去不掉分类url中的/category/,他说已经按ytkah之前的方法设置了还是不起作用,进入网站后台发现,他们的网站有安装yoast,然后就大概知道 ...

  5. 阿里巴巴Java开发手册(格式规约篇)——查自己的漏-补自己的缺

    (三) 格式规约 1. [强制]大括号的使用约定.如果是大括号内为空,则简洁地写成{}即可,不需要换行:如果是非空代码块则: 1) 左大括号前不换行.行. 2) 左大括号后换行. 3) 右大括号前换行 ...

  6. JSP学习之路

    1.JSP默认Encoding编码格式设置:UTF-8

  7. win10怎么查看当前用户账号

    https://jingyan.baidu.com/article/9225544679ab37851648f489.html

  8. 17-Flutter移动电商实战-首页_楼层区域的编写

    1.楼层标题组件 该组件非常简单,只接收一个图片地址,然后显示即可: class FloorTitle extends StatelessWidget {  final String picture_ ...

  9. MVC框架模式和Javaweb经典三层架构

    一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(Vie ...

  10. MySQL 是如何利用索引的

    阅读本文大概需要 4 分钟. 一.前言 在 MySQL 中进行 SQL 优化的时候,经常会在一些情况下,对 MySQL 能否利用索引有一些迷惑.例如: MySQL 在遇到范围查询条件的时候就停止匹配了 ...