• 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.0-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 > 99-worker-container-registries.yaml
    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 99-worker-container-registries
    spec:
      config:
        ignition:
          version: 2.2.0
        storage:
          files:
          - contents:
              source: data:text/plain,${config_source}
              verification: {}
            filesystem: root
            mode: 420
            path: /etc/containers/registries.conf
    EOF
    
    cat <<EOF > 99-master-container-registries.yaml
    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: master
      name: 99-master-container-registries
    spec:
      config:
        ignition:
          version: 2.2.0
        storage:
          files:
          - contents:
              source: data:text/plain,${config_source}
              verification: {}
            filesystem: root
            mode: 420
            path: /etc/containers/registries.conf
    EOF
    oc apply -f ./99-worker-container-registries.yaml -n openshift-config
    oc apply -f ./99-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   3/3     Running   0          3h46m
    example-f6jg6px9q4               1/1     Running   0          3h44m
    example-mvlbn7v2tl               1/1     Running   0          3h43m
    example-wkgcgjgpw4               1/1     Running   0          3h43m
  • 相关阅读:
    linux如何查看端口或服务被占用情况
    linux网络查看及配置相关命令
    linux查看程序运行相关命令
    shell脚本编写一个用真实用户去访问的vsftpd服务器
    shell脚本监控CPU和内存利用率
    小白的个人技能树(基于自动化软件测试开发实习和软件开发实习)
    MySQL 8.0.12 基于Windows 安装教程(超级详细)
    C语言 0x7fffffff是多少(也就是INT_MAX,首位是 0,其余都是1,f代表1111)
    数通知识点
    数据结构之算法基础
  • 原文地址:https://www.cnblogs.com/ericnie/p/11977063.html
Copyright © 2020-2023  润新知