作者:Json | 来源:互联网 | 2023-06-02 18:47
系统安装(物理机、虚拟机)-->程序安装、配置、服务启动-->批量操作-->程序发布
程序发布:不能降低用户体验、系统不能停机、不能导致系统故障或者系统完全不可用
灰度发布模型:
通过调度器将线上的一批服务器(maintanance)标记为down模式-->关闭相应服务-->部署新版本的应用程序至目标位置-->启动相关应用-->调度主机上线
一、运维工具
1、系统安装工具----pxe/cobbler;云上的一般可以用镜象工具
2、configuartion(配置工具)----puppet/saltstack
3、command and control(命令控制工具)----fabric/ansible
4、监控工具
二、PXE系统工具
1、pxe自启动安装过程
三、pxe+kickstart安装需求
- ks文件
- DHCP服务器
- TFTP服务器
- HTTP服务器/VSFTP服务器
- 网上启动
- YUM仓库安装源
1、操作步骤
[root@localhost ~]# mount /dev/sr0 /mnt/ #挂载安装包
[root@localhost ~]# yum install -y httpd createrepo #安装httpd服务和createrepo工具
[root@localhost ~]# mkdir /var/www/html/CentOS-7-x86_64 #创建镜象目录
[root@localhost mnt]# cp -a /mnt/* /var/www/html/CentOS-7-x86_64/ #复制安装源
[root@localhost ~]# yum install -y tftp-server dhcp xinetd #安装tftp服务、dhcp服务、xinetd服务
1、配置tftp
[root@localhost ~]# vi /etc/xinetd.d/tftp #编辑tftp配置
disable = no #将此项设置为no2、配置dhcp
[root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/
[root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@localhost mnt]# vi /etc/dhcp/dhcpd.conf #编辑dhcp的配置
subnet 192.168.1.0 netmask 255.255.255.0 {range dynamic-bootp 192.168.1.100 192.168.1.160;option subnet-mask 255.255.255.0;next-server 192.168.1.200;filename "pxelinux.0";
} #配置如上3、创建YUM源
[root@localhost ~]# createrepo -pdo /var/www/html/CentOS-7-x86_64/ /var/www/html/CentOS-7-x86_64/
[root@localhost ~]# createrepo -g `ls /var/www/html/CentOS-7-x86_64/repodata/*-comps.xml` /var/www/html/CentOS-7-x86_64/ 4、放置kickstart文件
[root@localhost ~]# cp anaconda-ks.cfg /var/www/html/CentOS-7-x86_64/CentOS-7-x86_64.cfg #复制Kickstart文件
#修改kickstart文件
install
url --url=http://192.168.1.200/CentOS-7-x86_64
text
lang en_US.UTF-8
zerombrkeyboard --vckeymap=us --xlayouts='us'bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder=sdanetwork --bootproto=dhcp --device=ens33 --onboot=yes --ipv6=auto
network --hostname=localhost.localdomaintimezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
# Root password
rootpw --iscrypted $6$owQPyZivFxNiiZBP$D59x8aUycBnyxJYMyf9TdsWu9UDA5xu9msyTexIlyAJdMGbo6L/5dkN1TswpAaVMWJW6brZE08MbQuvQbbpbR.clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda --size=17407
part /boot --fstype="xfs" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=2048services --enabled="chronyd"
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot%packages
@^minimal
@core
chrony
kexec-tools%end%addon com_redhat_kdump --enable --reserve-mb='auto'%end%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@localhost CentOS-7-x86_64]# chmod 766 CentOS-7-x86_64.cfg #更改权限5、准备tftp文件
[root@localhost ~]# yum install -y syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost /]# cp /mnt/isolinux/* /var/lib/tftpboot/
[root@localhost /]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost /]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@localhost pxelinux.cfg]# cp /mnt/isolinux/isolinux.cfg default
[root@localhost pxelinux.cfg]# vi default #编辑文件
label ksmenu label ^AUTO Install CentOS 7kernel vmlinuzappend initrd=initrd.img ks=http://192.168.1.200/CentOS-7-x86_64/CentOS-7-x86_64.cfg #添加如上内容
KICKSTRT基于UEFI GTP分区的KS文件
install
url --url=http://192.168.1.200/CentOS-7-x86_64
text
keyboard us
lang en_US.UTF-8
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot/efi --fstype efi --size 200 --asprimary --ondisk sda
part /boot --fstype xfs --size 500 --ondisk sda
part swap --size 1024 --ondisk sda
part / --fstype xfs --size 8192 --ondisk sda
part /home --fstype xfs --size 1 --grow --ondisk sda
network --bootproto=dhcp --device=enp0s3 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $6$owQPyZivFxNiiZBP$D59x8aUycBnyxJYMyf9TdsWu9UDA5xu9msyTexIlyAJdMGbo6L/5dkN1TswpAaVMWJW6brZE08MbQuvQbbpbR.
logging --level=info%pre
parted -s /dev/sda mklabel gpt
%end%packages
@^minimal
@core
chrony
kexec-tools
%endrebootUEFI GTP分区 ks 文件
2、启动服务
- systemctl start dhcpd
- systemctl start tftp
- systemctl start xinetd
- systemctl start httpd
3、测试成功后(经测试可用),加入开机息启动
- systemctl enable dhcpd
- systemctl enable tftp
- systemctl enable xinetd
- systemctl enable httpd