快速安装一个OpenShift 4 准生产集群( 二 )
三 , 下载需要的软件并准备安装配置文件
1 , 下载需要的软件
(1) 从“”下载集群安装工具:openshift-install , 该工具协助在公有云和本地基础设施上部署OpenShift 4集群
(2)安装集群管理工具:oc , 从“ ”下载最新版 , oc可以通过命令行的方式连接管理集群
2 , 定制安装配置文件
OpenShift 4集群安装和OpenShift 3完全不同 , 在安装前 , 需要定制安装配置文件 , 下面是一个样例配置文件(文件名必须为install-config.yaml):
apiVersion: v1baseDomain: wumi.aicompute:- hyperthreading: Enabledname: workerreplicas: 0//在自维护的物理机上部署集群 , 需设置为0controlPlane:hyperthreading: Enabledname: masterreplicas: 3metadata:name: okd-infranetworking:clusterNetwork:- cidr: 10.128.0.0/14hostPrefix: 23networkType: OpenShiftSDNserviceNetwork:- 172.30.0.0/16platform:none: {}fips: falsepullSecret: 'pullsecret obtained from redhat'sshKey: 'sshkey that is created by ssh-keygen command'搭建的集群里面有三台作为“master” , 主要运行apiserver、etcd cluster等 。
“pullSecret”:从红帽官网获得 , 部署集群需要的镜像存储在Quay.io , 该key主要用来验证并获取镜像 。
“sshKey”:是ssh public key , 可以通过命令“ssh-keygen”获得 , 在配置对应私钥的主机上 , 使用ssh命令可以直接登录集群中的服务器 , 不用输入密码 , 方便对集群进行调试等 。
四 , 生成k8s manifest和ignition配置文件
1 , 生成k8s manifest文件
创建目录“config-install” , 将上个步骤中编写的集群安装配置文件“install-config.yaml”拷贝到该目录 , 然后执行下面命令 ,
./openshift-install create manifests --dir=config-install执行后 , 安装程序在目录“config-install”中生成manifests文件(文件install-config.yaml会被消耗掉)
我们不打算运行用户的pod在master上 , 修改文件“config-install/manifests/cluster-scheduler-02-config.yml” , 将参数“mastersSchedulable”设置为“false” , 保存并退出 。
2 , 生成ignition配置文件 , 该文件完成CoreOS的定制(Openshift 4集群的主机都必须运行CoreOS)
./openshift-install create ignition-configs --dir=config-install执行后 , 安装程序在目录“config-install”生成ignitions文件(manifests文件会被消耗掉)
五 , 搭建PXE安装环境
在得到ignition文件和系统镜像文件后 , 配置PXE安装环境 。 ignition、kernel、initrd等通过http供集群主机下载 , 所以首先需要配置http服务器和tftp服务器
1 , TFTP服务器
对tftp的配置主要是两个部分:
PXE的Bootfile要使用“lpxelinux.0” , 这样才可以使用http协议;
pxelinux.cfg配置:
# D-I config version 2.0# search path for the c32 support libraries (libcom32, libutil etc.)path debian-installer/amd64/boot-screens/include debian-installer/amd64/boot-screens/menu.cfgdefault debian-installer/amd64/boot-screens/vesamenu.c32prompt 0timeout 0label fedora-coreos-bootstrapKERNELAPPEND ip=dhcp initrd= \console=tty0 console=ttyS0 coreos.inst.install_dev=/dev/sda \coreos.inst.ignition_url= \coreos.inst.install_dev=/dev/sda \coreos.live.rootfs_url=label fedora-coreos-masterKERNELAPPEND ip=dhcp initrd= \console=tty0 console=ttyS0 coreos.inst.install_dev=/dev/sda \coreos.inst.ignition_url= \coreos.inst.install_dev=/dev/sda \coreos.live.rootfs_url=label fedora-coreos-workerKERNELAPPEND ip=dhcp initrd= \console=tty0 console=ttyS0 coreos.inst.install_dev=/dev/sda \coreos.inst.ignition_url= \coreos.inst.install_dev=/dev/sda \coreos.live.rootfs_url=2 , HTTP服务器
笔者使用nginx来配置HTTP服务 , nginx的配置文件没有什么好展示的 , 将所需的镜像文件放到“/var/www/html”目录即可 , 集群主机在PXE安装环节会请求这些文件 ,
aneirin@vm-1:/var/www/html$ ls -lhtotal 732M-rwxrwxrwx 1 root root 297K Oct 16 15:32 bootstrap.ign-rwxrwxrwx 1 root root70M Oct 15 10:44 fedora-coreos-32.20200923.3.0-live-initramfs.x86_64.img-rwxrwxrwx 1 root root12M Oct 15 10:44 fedora-coreos-32.20200923.3.0-live-kernel-x86_64-rwxrwxrwx 1 root root 651M Oct 15 10:45 fedora-coreos-32.20200923.3.0-live-rootfs.x86_64.img-rwxrwxrwx 1 root root11K Sep52019 index.html //nginx自带的文件-rwxrwxrwx 1 root root612 Apr 22 11:50 index.nginx-debian.html //nginx自带的文件-rwxrwxrwx 1 root root 1.9K Oct 16 15:32 master.ign-rwxrwxrwx 1 root root 1.9K Oct 16 15:32 worker.ign六 , 集群安装
PXE环境配置好之后 , 就可以为集群的主机安装操作系统 , 七台主机逐次安装即可(bootstrap->master->worker) , 不用刻意等待一台安装好 , 再安装另一台 , 直接同时装也是没问题的 。
- GB|备货充足要多少有多少,5000mAh+128GB,红米新机首销快速现货
- 车企|华为不造车!但任正非加了一个有效期,3年
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 同轴心配合|用SolidWorks画一个直角传动,画四个零件就行
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- 丹丹|福佑卡车创始人兼CEO单丹丹:数字领航 驶向下一个十年
- 发展|新基建发展迅猛,必然会是一个巨大的市场机遇
- 缺点|骁龙865+12GB已降至2399,X轴马达+55W快充,缺点只有一个
- 空间|垃圾文件正在吞噬你的C盘空间用这四种方法,还你一个干净的C盘
- 商业|AC有望建立一个商业帝国吗?
