下面的技术文章通过合作伙伴渠道找到了我们的方式。下面的文档中详细介绍了Nutanix上Red Hat OpenShift的安装说明。享受,一如既往地随意为我们提供反馈。
Nutanix AHV上的用户提供的红色帽子OpenShift 4.3 5.15
本手册是在概念验证环境中使用Nutanix AHV 5.15(基于KVM的Nutanix管理程序)的概念证明,并与Nutanix CSI驱动程序结合使用OpenShift 4.3。Nutanix CSI驱动程序为使用Nutanix文件和Nutanix卷提供了可扩展的,持久的存储空间。
请注意:在写作时,Nutanix AHV与OpenShift结合使用了Nutanix,但未经红帽认证。如果需要认证,建议客户使用其他任何虚拟机构由Nutanix支持。
遵循的安装步骤记录在IBM云体系结构和解决方案工程存储库指南。
IBM云体系结构和解决方案工程提供的指南的POC环境配置为:
- Windows DHCP和DNS的使用。
- 用于安装RHCOS节点的自定义ISO。自定义ISO提供了CoreOS安装的输入
- 在安装节点HTTP服务器上可用的图像。(不使用PXE服务器)
- 一个用于控制平面和计算节点的负载平衡器。(指南使用两个单独的负载平衡器
- 控制平面和计算节点)
- Nutanix CSI驱动程序和存储课程的安装
- 控制平面和计算节点大小。
节点类型 | 中央处理器 | 记忆 | 目的 |
引导程序 | 4 | 16 GB | 引导节点 |
控制平面1 | 4 | 16 GB | 主节点 |
控制平面2 | 4 | 16 GB | 主节点 |
控制平面3 | 4 | 16 GB | 主节点 |
计算1 | 8 | 32 GB | 工人节点 |
compute2 | 8 | 32 GB | 工人节点 |
计算3 | 8 | 32 GB | 工人节点 |
安装Nutanix AHV的步骤
大多数步骤都遵循指导由IBM云体系结构和解决方案工程提供。POC环境需要其他说明。这些步骤被标记为粗体,并在下一章中更详细地描述。
- 使用嵌入式Web服务器创建一个安装节点
- 从红帽下载并部署.img和金属配置文件
- 下载并将OpenShift客户端和安装程序提取到您的安装服务器上
- 在安装服务器上创建install-config.yaml文件
- 为您的部署创建点火文件
- 创建群集VM(启动,控制平面, - 和计算节点)
- 配置DHCP服务器(群集VM的保留,包括负载平衡器)
- 配置DNS以支持群集
- 为控制平面创建并配置负载平衡器并计算节点
- 创建自定义安装程序OpenShift ISO(无PXE服务器)并将其附加到节点
- 完成引导程序
- 完成安装
- 登录到您的新集群并配置身份验证
- 安装Nutanix CSI
- 为您的图像注册表配置持久存储
其他说明 - 安装Nutanix AHV的步骤
说明步骤2.从红帽下载并部署.img和金属配置文件
下载用于OpenShift RHCOS的安装程序ISO和OpenShift RHCOS安装图像:
openshift rhcos的安装程序ISO
CD /OPT
wget https://mirror.openshift.com/pub/openshiftv4/deppencosies/rhcos/4.3/latest/rhcos-4.3.8-x86_64-installer.x86_64.iso
安装图像 - OpenShift RHCO更改<项目目录>以反映您的情况
CD /OPT /<项目目录>
wget https://mirror.openshift.com/pub/openshiftv4/deppedencies/rhcos/4.3/latest/rhcos-4.3.8-x86_64-metal.x86_64.raw.gz
说明步骤9.创建和配置控制平面并计算节点的负载平衡器
该指南基于两个单独的负载平衡器,一个用于控制平面,另一个用于计算节点。对于Nutanix AHV环境,一种负载平衡器用于控制和计算节点。
- 附加haproxy.cfg和更改
相应地
vi /etc/haproxy/haproxy.cfg
#----------------------------------------------------------------------------------------------------------
#OpenShift 4.3控制平面节点和计算节点的负载平衡
#----------------------------------------------------------------------------------------------------------
前端openshift-api-server
绑定 *:6443
default_backend openshift-api-server
模式TCP
选项tcplog
后端OpenShift-API服务器
余额来源
模式TCP
服务器控制平面0 :6443检查
服务器控制平面1 :6443检查
服务器Control-Plane2 :6443检查
前端机器 - 构架服务器
绑定 *:22623
Default_backend Machine-Config-Server
模式TCP
选项tcplog
后端机器 - 构架服务器
余额来源
模式TCP
服务器控制平面0 :22623检查
服务器控制平面1 :22623检查
服务器Control-Plane2 :22623检查
前端入口-HTTP
绑定 *:80
default_backend Ingress-HTTP
模式TCP
选项tcplog
后端入口-HTTP
余额来源
模式TCP
服务器Compute0 :80检查
服务器COMPUTE1 :80检查
服务器Compute2 :80检查
前端入口-HTTPS
绑定 *:443
default_backend indress-https
模式TCP
选项tcplog
后端入口-HTTPS
余额来源
模式TCP
服务器Compute0 :443检查
服务器COMPUTE1 :443检查
服务器Compute2 :443检查
收听Haproxy Honitoring
装订 *:1936年
模式http
统计启用
统计隐藏
统计领域haproxy \统计
统计URI /
Stats auth Admin:管理员
说明步骤10.创建自定义安装程序OpenShift ISO(无PXE服务器)并将其附加到节点
没有使用PXE服务器。相反,使用用于安装RHCOS节点的自定义ISO。自定义ISO提供了在安装节点Web服务器上可用的CoreOS安装图像的输入。
指令/配置自定义ISO:
- 将OpenShift RHCOS 4.3安装ISO安装在安装服务器上,以便可以将内容同步到可以调整的目录
mkdir /opt /iso
Mount -o loop/opt/RHCOS-4.3.8-x86_64-installer.x86_64.iso/opt/iso/
mkdir/opt/new-iso/
rsync -a/opt/iso//opt/new -iso
- 更新Iselinux配置文件
- 更改附加initrd = value
- 用安装节点的IP地址替换
值 - 用选定的项目名称替换<项目目录>值
vi/opt/new-iso/isolinux/isolinux.cfg
标签Linux
菜单标签 ^安装Rhel CoreOS
内核 /图像 /vmlinuz
附加initrd =/images/initramfs.img nomodeset rd.neednet = 1
coreos.inst = yes coreos.inst.install_dev = sda
coreos.inst.image_url = http:// :8080/ /rhcos-4.3.8-x86_64-metal.x86_64.raw.gz.gz
coreos.inst.ignition_url = http:// :8080//> //> ip = ip = dhcp
- 创建自定义ISO
CD/OPT/NEW-ISO/
mkisofs -o opt/rhcos-4.3.8-x86_64-installer.x86_64_custom.iso -b
Inlicinux/iSlinux.bin -c incelinux/boot.cat -no -emul -boot -boot -boot -load -load -size 4 -boot -info -info -table -j -r。
- 将图像上传到nutanix棱镜中央图像服务
将RHCOS-4.3.8-X86_64-installer.x86_64_custom.iso上传到Nutanix Prism Central Image Service,请参阅Nutanix手册以获取帮助。
- 第一个引导说明 - 节点
- 将ISO映像连接到手动创建的引导平面,控制平面和计算节点的CD-ROM上,通过在Nutanix中更新VM。
- 启动VM并在Nutanix启动VM控制台。
- 在RHCOS安装Splash屏幕中,点击“ TAB”键
- 取决于节点的类型(Bootstrap,Control-Plane或Compute)用正确的名称(Bootstrap,Master或Worker)替换星号(*),以提供适当的点火文件。
在POC环境中使用的示例:
bootnode:
append initrd =/images/initramfs.img nomodeset rd.neednet = 1 coreos.inst = yes
coreos.inst.install_dev = sda
coreos.inst.image_url = http:// :8080/mondrian/rhcos-4.3.8-x86_64-metal.x86_64.raw.gz
coreos.inst.ignition_url = http:// :8080/mondrian/bootstrap.ign
IP = DHCP
主/控制平面节点:
append initrd =/images/initramfs.img nomodeset rd.neednet = 1 coreos.inst = yes
coreos.inst.install_dev = sda
coreos.inst.image_url = http:// :8080/mondrian/rhcos-4.3.8-x86_64-metal.x86_64.raw.gz
coreos.inst.ignition_url = http:// :8080/mondrian/master.ign
IP = DHCP
工人/计算节点:
append initrd =/images/initramfs.img nomodeset rd.neednet = 1 coreos.inst = yes
coreos.inst.install_dev = sda
coreos.inst.image_url = http:// :8080/mondrian/rhcos-4.3.8-x86_64-metal.x86_64.raw.gz
coreos.inst.ignition_url = http:// :8080/mondrian/worker.ign
IP = DHCP
说明步骤14.安装Nutanix CSI
按照说明为在Nutanix支持门户上概述或下面的摘要步骤;
程序
- 下载部署YAML文件
- 部署RBAC
- 部署状态填充和守护程序
- 创建和部署CSI驱动程序对象
- 创建Nutanix卷的秘密
- 创建用于Nutanix卷和Nutanix文件的存储类
1.下载部署YAML文件
- 将部署文件下载到安装节点
CD /OPT
WGET http://download.nutanix.com/csi/v1.1.1/csi-v1.1.1.1.1.tar.gz
- 创建目录CSI_NUTANIX
mkdir /opt /csi_nutanix
- 解开文件并更改为目录
tar xvf csi-v1.1.1.tar.gz/opt/opt/csi_nutanix/
CD/OPT/CSI_NUTANIX/
2.部署RBAC
- 在安装节点上登录到OpenShift群集。更改<项目目录>以反映您的情况
导出kubeconfig =/opt/<项目目录>/auth/kubeconfig
OC登录
- 用ntnx-csi-rbac.yaml文件部署serviceAccount,clusterrole和clusterrole绑定。
OC创建-f ntnx-csi-rbac.yaml
3.部署状态填充和守护程序
- 部署守护程序和状态满足
OC创建-f ntnx-csi-node.yaml
OC创建-f ntnx-csi-provisioner.yaml
4.创建和部署CSI驱动程序对象
- 创建CSI驱动程序对象YAML文件(CSI-DRIVER.YAML)
apiversion:storage.k8s.io/v1beta1
种类:csidriver
元数据:
名称:com.nutanix.csi
规格:
附件:false
Podinfoonmount:是的
- 部署CSI驱动程序对象yaml文件
OC创建-f csi -driver.yaml
5.创建Nutanix卷的秘密
- 创建秘密YAML(ntnx-csi-secret.yaml)
apiversion:v1
善良:秘密
元数据:
名称:ntnx-secret
名称空间:Kube-System
数据:
#BASE64编码Prism-IP:Prism-Port:Admin:密码。
#例如:echo -n“ :9440:admin:mypassword” |base64键:<输出 - 这应该说明de base64编码字符串>
- 部署秘密YAML文件
OC创建-f ntnx-csi-secret.yaml
6.创建用于Nutanix卷和Nutanix文件的存储类
- 创建存储类yaml文件
Nutanix文件存储课程
在POC环境(NTNX-CSI-SC-FIELS-DELETE.YAML)中,用于Nutanix文件中的示例文件,该文件带有“删除”。更改NFSServer和NFSPATH参数以反映您的情况。
善良:Storageclass
apiversion:storage.k8s.io/v1
元数据:
名称:ntnx-files-delete
注释:
Storageclass.kubernetes.io/is-default-class:“ false”
供应商:com.nutanix.csi
参数:
StorageType:Nutanixfiles
nfsserver:fs-mod.ibmpoc.local
nfspath: /mondrian
reclaimpolicy:删除
示例文件(ntnx-csi-sc-files-retain.yaml)用于NUTANIX文件的存储类,带有“保留”。该存储类是POC环境的默认值。更改NFSServer和NFSPATH参数以反映您的情况。
善良:Storageclass
apiversion:storage.k8s.io/v1
元数据:
名称:ntnx-files-retain
注释:
Storageclass.kubernetes.io/is-default-class:'true'
供应商:com.nutanix.csi
参数:
StorageType:Nutanixfiles
nfsserver:fs-mod.ibmpoc.local
nfspath: /mondrian
收回:保留
Nutanix卷存储课程
示例文件(NTNX-CSI-SC-VOLUMES-DELETE.YAML)用于Nutanix卷的存储类,并带有“删除”。更改DataServiceEndPoint和StorageContainer以反映您的情况。
善良:Storageclass
apiversion:storage.k8s.io/v1
元数据:
名称:ntnx-volumes-delete
注释:
Storageclass.kubernetes.io/is-default-class:“ false”
供应商:com.nutanix.csi
参数:
csi.storage.k8s.io/provisioner-secret-name:ntnx-secret
csi.storage.k8s.io/proviseer-secret-namespace:kube-system
csi.storage.k8s.io/node-publish-secret-name:ntnx-secret
csi.storage.k8s.io/node-publish-secret-namespace:kube-system
csi.storage.k8s.io/controller-expand-secretname:ntnx-secret
csi.storage.k8s.io/controller-expand-secretnamespace:kube-system
csi.storage.k8s.io/fstype:xfs
DataServiceEndPoint::3260
StorageContainer:Rhocp-container
StorageType:Nutanixvolumes
允许Volumeexpansion:正确
reclaimpolicy:删除
示例文件(ntnx-csi-sc-volumes-retain.yaml)用于NUTANIX卷的存储类,并带有“保留”的回收策略。更改DataServiceEndPoint和StorageContainer以反映您的情况。
善良:Storageclass
apiversion:storage.k8s.io/v1
元数据:
名称:ntnx-volumes-retain
注释:
Storageclass.kubernetes.io/is-default-class:'false'
供应商:com.nutanix.csi
参数:
csi.storage.k8s.io/provisioner-secret-name:ntnx-secret
csi.storage.k8s.io/proviseer-secret-namespace:kube-system
csi.storage.k8s.io/node-publish-secret-name:ntnx-secret
csi.storage.k8s.io/node-publish-secret-namespace:kube-system
csi.storage.k8s.io/controller-expand-secretname:ntnx-secret
csi.storage.k8s.io/controller-expand-secretnamespace:kube-system
csi.storage.k8s.io/fstype:xfs
DataServiceEndPoint::3260
StorageContainer:Rhocp-container
StorageType:Nutanixvolumes
允许Volumeexpansion:正确
收回:保留
- 为Nutanix文件和卷部署存储类
OC创建-f ntnx-csi-sc-files-delete.yaml
OC创建-f ntnx-csi-sc-files-retain.yaml
OC创建-f ntnx-csi-sc-volumes-delete.yaml
OC创建-f ntnx-csi-sc-volumes-retain.yaml
这是在Nutanix上进行红帽OpenShift的安装说明的结论。如果您发现本文有帮助,或者您还有其他反馈,请随时告诉我们!