• 安装配置操作节点(Operator),并获取OCP离线安装文件


    NSX ALB + Harbor + OpenShift 4.8 UPI安装配置实验笔记系列目录

    目录

    1 Operator节点安装CentOS7

    2 关闭CentOS防火墙和SELinux

    2.1 关闭OS防火墙

    2.2 关闭SELinux并重启主机

    3 安装所需的基础软件包

    4 下载OCP所需软件

    4.1 查看OCP 4.8最新版本号

    4.2 创建离线包对应存放目录

    4.3 下载OCP对应版本的客户端并安装

    4.4 OC命令补全

    4.5 下载并安装openshift-install

    4.6 下载butane命令

    4.7 下载RHCOS ISO

    4.7.1 获取RHCOS版本号

    4.7.2 查看不同平台的RHCOS文件列表

    4.7.3 下载RHCOS镜像

    5 下载OCP核心Image并上传至本地Registry

    5.1 获取下载Images的密钥

    5.2 将本地Registry的登录信息加入pull-secret.json

    5.3 在本地Harbor中创建项目“openshift”

    5.4 将本地Registry的自签证书配置为信任

    5.5 声明临时环境变量

    5.6 同步OCP核心Images至本地Registry

    5.6.1 如果本地Registry能上外网

    5.6.2 本地Registry不能上外网(或国内下载很慢)


    1 Operator节点安装CentOS7

    使用CentOS7 ISO安装Operator虚机。(略)

    2 关闭CentOS防火墙和SELinux

    2.1 关闭OS防火墙

    1. systemctl stop firewalld
    2. systemctl disable firewalld

    2.2 关闭SELinux并重启主机

    1. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    2. reboot

    3 安装所需的基础软件包

    1. yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    2. yum -y install wget git net-tools bridge-utils bash-completion kexec-tools tmux screen jq tree httpd-tools ca-certificates httpd unzip

    4 下载OCP所需软件

            OCP 文档和软件下载在 openshift.com 和 redhat.com 各有一套,但是红帽网站的下载速度、内容更新、文档格式(支持 PDF)均优于 openshift.com,因此建议主要使用前者,不过有些内容需要红帽账号。

    本文为了操作方便,直接使用了mirror.openshift.com为软件源。

    4.1 查看OCP 4.8最新版本号

    1. export OCP_RELEASE=$(curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.8/release.txt | grep 'Name:' | awk '{print $NF}')
    2. echo ${OCP_RELEASE}

    4.2 创建离线包对应存放目录

    1. export OCP_PATH=/data/OCP-${OCP_RELEASE}/ocp
    2. mkdir -p ${OCP_PATH}/{ocp-client,ocp-image,ocp-installer,rhcos,secret}

    4.3 下载OCP对应版本的客户端并安装

    1. wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/${OCP_RELEASE}/openshift-client-linux-${OCP_RELEASE}.tar.gz -P ${OCP_PATH}/ocp-client
    2. tar -xzf ${OCP_PATH}/ocp-client/openshift-client-linux-${OCP_RELEASE}.tar.gz -C /usr/local/sbin/

    4.4 OC命令补全

    1. yum install bash-completion
    2. oc completion bash > ~/.kube/completion.bash.inc
    3. source '/root/.kube/completion.bash.inc'
    4. echo "source '/root/.kube/completion.bash.inc'" >> /root/.bash_profile

    4.5 下载并安装openshift-install

    1. wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/${OCP_RELEASE}/openshift-install-linux-${OCP_RELEASE}.tar.gz -P ${OCP_PATH}/ocp-installer
    2. ll -h ${OCP_PATH}/ocp-installer

    注:openshift-install命令也可以后面下载了ocp Images后通过本地Image解压,后面会同样提到。

    4.6 下载butane命令

    1. curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
    2. chmod a+x butane && mv butane /usr/sbin

    4.7 下载RHCOS ISO

    4.7.1 获取RHCOS版本号

    1. RHCOS_RELEASE=$(curl -s https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.8/latest/sha256sum.txt | grep rhcos | awk -F - '{print $2}' | head -1)
    2. echo ${RHCOS_RELEASE}

    4.7.2 查看不同平台的RHCOS文件列表

    curl -s https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.8/latest/sha256sum.txt | awk '{print $2}' | grep rhcos

    4.7.3 下载RHCOS镜像

    1). 下载RHCOS镜像

    1. wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.8/${RHCOS_RELEASE}/rhcos-${RHCOS_RELEASE}-x86_64-live.x86_64.iso -P ${OCP_PATH}/rhcos
    2. wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.8/${RHCOS_RELEASE}/rhcos-${RHCOS_RELEASE}-x86_64-metal.x86_64.raw.gz -P ${OCP_PATH}/rhcos

    注:OCP 4.6及之前的版本Bare Metal方式安装时似乎需要使用metal.raw.gz包,经验证OCP4.8可以直接通过ISO安装。

    2). 将下载下来的RHCOS ISO文件上传至vCenter内的Storage(略)

    5 下载OCP核心Image并上传至本地Registry

    5.1 获取下载Images的密钥

    Pull Secret下载地址:console.redhat.com

    打开以上网页,登录自己注册的帐号,然后下载或是点击“Copy pull secret”。

    返回Operator SSH界面,将copy下来的密钥存入一个文本文件,然后由此文件转换成一个密钥json文件:

    1. export LOCAL_SECRET_JSON=${OCP_PATH}/secret/pull-secret.json
    2. cat /root/pull-secret.txt | jq . > ${LOCAL_SECRET_JSON}

     

    5.2 将本地Registry的登录信息加入pull-secret.json

    用echo命令将本地Registry的帐号和密码生成Base64码:

    echo -n 'admin:VMware1!'  | base64 -w0

    将以上命令输出的结果按右侧红字的样式加入pull-secret.json:

    vi ${LOCAL_SECRET_JSON}

    按下图方式加入本地Registry的域名及生成的Base 64码,并注意符号的完整及正确性。

    1. {
    2. "auths": {
    3. "map.corp.tanzu": {
    4. "auth": "YWRtaW46Vk13YXJlMSE=",
    5. "email": ""
    6. },
    7. "registry.redhat.io": {
    8. "auth": "fHVo........==",
    9. "email": "youmail@163.com"
    10. }
    11. }
    12. }

     

    5.3 在本地Harbor中创建项目“openshift”

    登录Harbor,创建公开项目“openshift”:

     

    5.4 将本地Registry的自签证书配置为信任

    将本地Harbor 的自签名的CA证书Copy至/etc/pki/ca-trust/source/anchors目录,并更新系统受信任的CA列表。

    1. cp /etc/docker/certs.d/map.corp.tanzu/ca.crt /etc/pki/ca-trust/source/anchors/map-harbor.crt
    2. updata-ca-trust

    5.5 声明临时环境变量

    因OpenShift会有版本更新情况,当非连续性操作时,可在此使用实际我们上面Download下来的RELEASE版本号更从新声明变量:

    1. export OCP_RELEASE=4.8.36
    2. export LOCAL_REGISTRY='map.corp.tanzu'
    3. export LOCAL_REPOSITORY='openshift/ocp4.8.36'
    4. export PRODUCT_REPO='openshift-release-dev'
    5. export RELEASE_NAME='ocp-release'
    6. export ARCHITECTURE='x86_64'
    7. export OCP_PATH=/data/OCP-${OCP_RELEASE}/ocp
    8. export LOCAL_SECRET_JSON=${OCP_PATH}/secret/pull-secret.json
    9. export REMOVABLE_MEDIA_PATH=${OCP_PATH}/ocp-image

    5.6 同步OCP核心Images至本地Registry

    验证镜像信息:

    oc adm release info "quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-x86_64"

    会获得如下图信息:

    5.6.1 如果本地Registry能上外网

    直接在Operator主机上使用以下命令将对应版本的核心Images同步至本地Registry:

    oc adm release mirror -a ${LOCAL_SECRET_JSON}   --from=quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} --to=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}   --to-release-image=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE}

    出现下图,则为同步成功。

    5.6.2 本地Registry不能上外网(或国内下载很慢)

    5.6.2.1 先将对应版本核心Images同步到本地磁盘

    oc adm release mirror -a ${LOCAL_SECRET_JSON} --from=quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-x86_64 --to-dir=${OCP_PATH}/ocp-image/mirror_${OCP_RELEASE}

    5.6.2.2 检查下载下来的Images的有效性,并打包留存

    1). 检查镜像有效性:

    oc adm release info --dir=${OCP_PATH}/ocp-image/mirror_${OCP_RELEASE} file://openshift/release:${OCP_RELEASE}

    2). 打包镜像,以便后用

    tar -zcvf ${OCP_PATH}/ocp-image/ocp-image-${OCP_RELEASE}.tar -C ${OCP_PATH}/ocp-image ./mirror_${OCP_RELEASE}

    3). 删除镜像包

    rm -rf ${OCP_PATH}/ocp-image/mirror_${OCP_RELEASE}

    5.6.2.3 解压核心Images包,并同步至本地Registry

    1). 解压Images压缩包

    tar -xvf ${OCP_PATH}/ocp-image/ocp-image-${OCP_RELEASE}.tar -C ${OCP_PATH}/ocp-image/

    2). 删除Images压缩包

    rm -f ${OCP_PATH}/ocp-image/ocp-image-${OCP_RELEASE}.tar

    3). 同步至本地Registry

    oc image mirror -a ${LOCAL_SECRET_JSON} --from-dir=${OCP_PATH}/ocp-image/mirror_${OCP_RELEASE} "file://openshift/release:${OCP_RELEASE}*" ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}

  • 相关阅读:
    1403744-37-5 DSPE-PEG-COOH DSPE-PEG-Acid 磷脂-聚乙二醇-羧基科研试剂
    Flutter Event 派发
    微服务从代码到k8s部署应有尽有系列(十二、链路追踪)
    Nmap 常用命令汇总
    使用spring-data-redis实现incr自增
    Vue+SpringBoot前后端分离项目部署Nginx/Tomcat
    有赞前端SP毁约后的日子
    【Python】如果修改了第三方库(包)的源代码,该怎么做才能还原呢
    初识 kubernetes
    halcon的算子加速
  • 原文地址:https://blog.csdn.net/frank0521/article/details/125474448