OpenShift 4.2 etcd operatorhub离线环境部署
本文记录在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离线环境部署的更多相关文章
- k8s集群部署之环境介绍与etcd数据库集群部署
角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...
- Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务
如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务.本次我们以Docker服务和Ansible服务为例. 获取指定服务的所有rpm包 保证要获取rpm包的机器能够上网. 本 ...
- 离线版centos8环境部署迁移监控操作笔记
嗨咯,前两天总结记录了离线版centos8下docker的部署笔记,今天正好是2021年的最后一天,今天正好坐在本次出差回家的列车上,车上没有上面事做,索性不如把本次离线版centos8环境安装的其他 ...
- Openshift 4.4 静态 IP 离线安装系列:准备离线资源
本系列文章描述了离线环境下以 UPI (User Provisioned Infrastructure) 模式安装 Openshift Container Platform (OCP) 4.4.5 的 ...
- Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...
- [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...
- 使用Rainbond实现离线环境软件交付
一.离线交付的痛点 在传统行业,如政府.能源.军工.公安.工业.交通等行业,为了防止数据泄露和运行安全考虑,一般情况下网络会采取内外网隔离的策略,以防范不必要的风险,毕竟在安全防护方面,网络物理隔离是 ...
- 在离线环境中发布.NET Core至Windows Server 2008
在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...
- 在离线环境中使用.NET Core
在离线环境中使用.NET Core 0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网 ...
随机推荐
- 《快活帮》第九次团队作业:【Beta】Scrum meeting 2
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十三 团队作业9:BETA冲刺与团队项目验收 团队名称 快活帮 作业学习目标 (1)掌 ...
- 闲谈关于discuz内核缓存机制
Discuz! 缓存 Discuz! X2.5 的 config_global.php 中有这样一行代码 $_config['cache']['type'] = 'sql'; 这就是 Discuz! ...
- egg 连接 mysql 的 docker 容器,报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client
egg 连接 mysql 的 docker 容器,报错:Client does not support authentication protocol requested by server; con ...
- test20191205 WC模拟赛
又是先开T3的做题顺序,搞我心态.以后我必须先看看题了. 整数拆分 定义 \(f_m(n)\) 表示将 \(n\) 表示为若干 \(m\) 的非负整数次幂的和的方案数.例如,当 \(m = 2\) 的 ...
- Mysql复制一条或多条记录并插入表|mysql从某表复制一条记录到另一张表
Mysql复制一条或多条记录并插入表|mysql从某表复制一条记录到另一张表 一.复制表里面的一条记录并插入表里面 ① insert into article(title,keywords,de ...
- JSP中EL表达式的比较符号、字符串比较
在EL表达式中我们可以使用运算符以达到我们想要的结果,运算符按作用分为以下几种: 1.算术运算符 + 例如:${6+6} .注意:在EL表达式中的‘+’只有数学运算的功能,没有连接符的功能,它会试着 ...
- list数组排序 Collections 按Date时间降序排列
@ResponseBody @RequestMapping(value = {"K12", "12"}) public String refurbishLigh ...
- Educational Codeforces Round 47 (Rated for Div. 2) G. Allowed Letters
把原字符看成 $X$,每个位置看成 $Y$,每种字符向每个能去的位置连边,就成了一个二分图完美匹配的问题.现要得到字典序最小,那么就枚举每一位要放什么,然后看放完这种字符,剩下的字符的个数和后面能不能 ...
- 基于Docker搭建GitLab代码管理
关于Git.SVN的优缺点就不再重复了,本篇主要以实际搭建为主. 1.下载镜像文件 在命令行窗口执行如下指令,预计下载完成4分钟. docker pull beginor/gitlab-ce:11.0 ...
- (尚028)Vue_案例_交互删除
删除一条;1.鼠标移入移除这一条时颜色有变化 2.删除当前的todo ================================================================= ...