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

11 篇文章 2 订阅
10 篇文章 0 订阅

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防火墙

systemctl stop firewalld
systemctl disable firewalld

2.2 关闭SELinux并重启主机

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

3 安装所需的基础软件包

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
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最新版本号

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

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

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

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

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

4.4 OC命令补全

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

4.5 下载并安装openshift-install

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

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

4.6 下载butane命令

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

4.7 下载RHCOS ISO

4.7.1 获取RHCOS版本号

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)
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镜像

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
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文件:

export LOCAL_SECRET_JSON=${OCP_PATH}/secret/pull-secret.json
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码,并注意符号的完整及正确性。

{
  "auths": {
    "map.corp.tanzu": {
      "auth": "YWRtaW46Vk13YXJlMSE=",
      "email": ""
    },
    "registry.redhat.io": {
      "auth": "fHVo........==",
      "email": "youmail@163.com"
    }
  }
}

 

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

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

 

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

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

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

5.5 声明临时环境变量

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

export OCP_RELEASE=4.8.36
export LOCAL_REGISTRY='map.corp.tanzu'
export LOCAL_REPOSITORY='openshift/ocp4.8.36'
export PRODUCT_REPO='openshift-release-dev'
export RELEASE_NAME='ocp-release'
export ARCHITECTURE='x86_64'
export OCP_PATH=/data/OCP-${OCP_RELEASE}/ocp
export LOCAL_SECRET_JSON=${OCP_PATH}/secret/pull-secret.json
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}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值