【原创】OCP&VMware网络与安全集成解决方案安装部署向导-02-OCP与Antrea集成

本文不涉及NSX-T安装以及初始化步骤,假设NSX-T 已具备如下预置条件:

1.完成ComputeManager的对接
A screenshot of a computer Description automatically generated with medium confidence
2.完成Host Transport Nodes和Edge Transport Nodes的部署
A screenshot of a computer Description automatically generated with medium confidence
A screenshot of a computer Description automatically generated with medium confidence
3.完成T1/ T0部署,并在T0上打通外部路由,确保Pod路由能通过外部网络可达,且Pod可以访问联网。
A screenshot of a computer screen Description automatically generated with medium confidence
A screenshot of a computer Description automatically generated with medium confidence

NSX-T 基础网络配置

# 配置DHCP Profiles,由T1提供OCP Cluster Node的动态IP地址分配。

A screenshot of a computer Description automatically generated with medium confidence

# 配置OCP Cluster Node所使用的Overlay Segment(LS_172.36.1.0_24)并关联DHCP Profiles

A screenshot of a computer Description automatically generated with medium confidence

A screenshot of a computer Description automatically generated

# 配置Avi SE所使用的Overlay Segment(LS_SEG01)

A screenshot of a computer Description automatically generated with medium confidence

DNS 记录添加

用户必须在托管 OpenShift Container Platform 集群的 vCenter 实例的相应 DNS 服务器中为两个静态 IP 地址创建 DNS 记录。 在每条记录中,<cluster_name> 是集群名称,<base_domain> 是用户在安装集群时指定的集群base domain。 完整的 DNS 记录采用以下形式:<component>.<cluster_name>.<base_domain>..本文以Windows DNSServer为例描述其配置步骤

组件 记录 描述
API VIP api.sddc3ocp.vmwlab.net. 此A记录必须指向control plane node的负载均衡器。 此记录可由集群外部的客户端和集群内的所有节点解析。
Ingress VIP *.apps.sddc3ocp.vmwlab.net. 此A记录指向以运行 Ingress router pod 的node为目标的负载均衡器,默认情况下,这些node是工作节点。 此记录可由集群外部的客户端和集群内的所有节点解析。

# 在base domain下添加DNS子域sddc3ocp(此名称需与最终ocp cluster名称一致)

Graphical user interface, table Description automatically generated

Graphical user interface, table Description automatically generated

# 新建A记录–API。

A picture containing graphical user interface Description automatically generated

# 在sddc3ocp子域下新建apps子域,并添加A记录 *

Graphical user interface Description automatically generated

应用VCSA的CA根证书

由于通过IPI方式安装OCP时需要调用VCSA API,所以需要在Operator VM上加载证书。

# 登陆vcsa页面https://vcsa7sddc31.vmwlab.net,下载root CA

Graphical user interface, text, application, email Description automatically generated

# 保存文件为vcsa7sddc31.zip并上传至Operator VM,解压后得到certs文件夹

A screenshot of a computer Description automatically generated with medium confidence

# 拷贝lin文件夹下的所需证书,并更新至系统(Operator VM为Centos8)

[root@Operator ~]# unzip vcsa7sddc31.zip[root@Operator ~]# cp certs/lin/* /etc/pki/ca-trust/source/anchors

[root@Operator ~]# update-ca-trust extract

CNI(Antrea) 准备

OCP的部署阶段需要同时安装CNI,无法分开进行部署,所以需要根据使用场景,预先修改antrea的 Manifests,本文为避免数据平面隧道的多层隧道叠加,使用noEncap模式来部署Antrea。

# 修改operator.yaml文件相关参数

[root@Operator ~]# tar xvf deploy.tar.gz[root@Operator ~]# cd deploy/openshift/

[root@Operator openshift]# vi operator.yaml

# 修改operator.antrea.vmware.com_v1_antreainstall_cr.yaml文件相关参数

[root@Operator openshift]# vi operator.antrea.vmware.com_v1_antreainstall_cr.yaml
antreaAgentConfig 部分
antreaControllerConfig 部分

OCP安装部署

# 生成OCP Cluster 节点登陆密钥,便于后期运维管理

[root@Operator ~]# ssh-keygen -t ed25519 -N ”[root@Operator ~]# cat /root/.ssh/id_ed25519.pub
Text Description automatically generated
[root@Operator ~]# ll /root/.ssh/
Text Description automatically generated

# 根据向导生成install-config.yaml(Ignition配置文件)

Diagram Description automatically generated

[root@Operator ~]# ./openshift-install create install-config –dir /root/ocp-install
A picture containing background pattern Description automatically generated
?Pull Secret [? for help] 步骤需要通过如下方式获取
[root@Operator ~]# jq -c . pull-secret.json

# 获取OCP安装时访问Harbor的CA证书内容

[root@Operator ~]# cat ca.crt

# 修改install-config.yaml关键参数

关于第4条中提到的ova文件链接,在有网络的情况下,可以注释掉这一行,第一次安装的时候,会自动从互联网下载,此时注意安装提示,会显示具体的文件下载地址,直接按提示链接下载即可。

在首次下载后,自动存至本地cache中,下次再安装时,会自动从cache拉取OVA。

注意 :具体参数请详情请查阅如下文档

Installing a cluster on vSphere with customizations https://docs.openshift.com/container-platform/4.11/installing/installing_vsphere/installing-vsphere-installer-provisioned-customizations.html

Installing a cluster on vSphere with network customizations

https://docs.openshift.com/container-platform/4.11/installing/installing_vsphere/installing-vsphere-installer-provisioned-network-customizations.html

# 创建OCP集群安装目录

[root@Operator ~]# mkdir ocp-install

# 生成OCP manifests

[root@Operator ~]# ./openshift-install create manifests –dir ocp-install

# 拷贝antrea operator manifests目录至OCP安装路径

[root@Operator ~]# cp deploy/openshift/* ocp-install/manifests

# 开始OCP&Antrea部署安装

[root@Operator ~]# ./openshift-install create cluster –dir ocp-install –log-level=info

# 部署过程中确认Node分配的CIDR,并及时在T1上添加静态路由

由于使用noEncap模式,Node节点上OCP本身的Pod资源无法在节点间互访,会导致部分Pod Crash,最终安装失败。Workround:在安装过程中持续关注Pod信息,及时在T1添加到各节点Pod CIDR的静态路由。

[root@Operator ~]# export KUBECONFIG=/root/ocp-install/auth/kubeconfig
[root@Operator ~]# kubectl –kubeconfig=kubeconfig get pods -A -o wide | grep 10.128.
A picture containing text Description automatically generated

从上图中结合VCSA上OCP Node VM的IP地址可以得到如下信息:

Node Name Node IP Pod CIDR
sddc3ocp-nw5qz-master-0 172.36.1.109 10.128.0.0/24
sddc3ocp-nw5qz-master-1 172.36.1.138 10.128.1.0/24
sddc3ocp-nw5qz-master-2 172.36.1.104 10.128.2.0/24
sddc3ocp-nw5qz-worker-fg59f 172.36.1.119 10.128.4.0/24
sddc3ocp-nw5qz-worker-p6jkt 172.36.1.139 10.128.3.0/24

# 在T1上添加静态路由

A screenshot of a computer Description automatically generated with medium confidence

# Next Hops部分请根据上表添加为节点IP地址

A screenshot of a computer Description automatically generated with medium confidence

# 安装完毕,记录登录用户名和密码以及URL

# OCP登录

https://console-openshift-console.apps.sddc3ocp.vmwlab.net

Graphical user interface, application Description automatically generated

注意:安装过程中可以使用如下命令来检查安装状态
# Debug
[root@Operator ~]# ./openshift-install wait-for install-complete –dir ocp-install –log-level=debug
# 使用kubectl 查看ocp集群资源状态
[root@Operator ~]# cd ocp-install/auth/
[root@Operator ~]# kubectl –kubeconfig=kubeconfig get node
[root@Operator ~]# kubectl –kubeconfig=kubeconfig get pods -A
# 使用oc命令查看集群状态
[root@Operator ~]# oc get co
# 安装过程遇到问题可以通过如下方式删除集群
[root@Operator ~]# ./openshift-install destroy cluster –dir ocp-install

Leave a Reply