Tha an iùl seo na “forc” den aon ainm artaigilean mu CentOS 5.9, agus a’ toirt aire do fheartan an OS ùr. Chan eil ìomhaigh oifigeil Centos8 ann an-dràsta bho centos.org ann am Margaidh AWS.
Mar a tha fios agad, ann an sgòth Amazon thèid suidheachaidhean brìgheil a chuir air bhog stèidhichte air ìomhaighean (ris an canar Ami). Tha Amazon a’ toirt seachad àireamh mhòr dhiubh; faodaidh tu cuideachd ìomhaighean poblach ullachadh le treas phàrtaidhean a chleachdadh, air nach eil uallach sam bith air an t-solaraiche sgòthan, gu dearbh. Ach uaireannan feumaidh tu ìomhaigh siostam glan leis na paramadairean riatanach, nach eil air an liosta de dhealbhan.
An uairsin is e an aon dòigh a-mach an AMI agad fhèin a dhèanamh.
Tha na sgrìobhainnean oifigeil a’ mìneachadh slighe cruthachadh “AMI le taic stòrais”.
Is e ana-cothrom an dòigh-obrach seo gum feumar an ìomhaigh chrìochnaichte a thionndadh gu bhith na “AMI le taic EBS”. Is fhiach a thoirt fa-near cuideachd Cockpit Image Builder. Leigidh e leat ìomhaighean gnàthaichte a chruthachadh, ann an CLI no WEB Gui modh, ach nuair a tha Centos 8 agad mu thràth.
Bruidhnidh an artaigil seo mar a chruthaicheas tu an AMI agad fhèin le taic EBS ann an sgòth Amazon gun cheumannan eadar-mheadhanach.
Plana gnìomh
- Ullaich an àrainneachd
- Stàlaich siostam glan agus dèan na roghainnean riatanach
- Gabh dealbh den diosga
- Clàraich AMI
Ag ullachadh na h-àrainneachd
Airson ar n-adhbharan, sam bith Eisimpleir oifigeil Centos 7 cumadh sam bith, eadhon t2.micro. Faodaidh tu a ruith tron CLI:
aws ec2 run-instances
--image-id ami-4bf3d731
--region us-east-1
--key-name alpha
--instance-type t2.micro
--subnet-id subnet-240a8618
--associate-public-ip-address
--block-device-mappings DeviceName=/dev/sda1,Ebs={VolumeSize=8}
--block-device-mappings DeviceName=/dev/sdb,Ebs={VolumeSize=4}
Togaidh an àithne eisimpleir anns an VPC dham buin an subnet-id ainmichte. Tha còir gum bi an subnet poblach, agus tha SG ‘default’ a’ ceadachadh a h-uile càil.
A-nis leig leinn logadh a-steach don eisimpleir tro ssh, ùraich an siostam, stàlaich dnf
agus ath-thòisich:
sudo yum update -y && sudo yum install -y dnf && sudo reboot
Thèid a h-uile gnìomh eile a dhèanamh bho root
.
A’ stàladh glan Centos 8.1
Cruth siostam faidhle agus stàladh sgaradh
DEVICE=/dev/xvdb
ROOTFS=/rootfs
parted -s ${DEVICE} mktable gpt
parted -s ${DEVICE} mkpart primary ext2 1 2
parted -s ${DEVICE} set 1 bios_grub on
parted -s ${DEVICE} mkpart primary xfs 2 100%
mkfs.xfs -L root ${DEVICE}2
mkdir -p $ROOTFS
mount ${DEVICE}2 $ROOTFS
mkdir $ROOTFS/{proc,sys,dev,run}
mount --bind /proc $ROOTFS/proc
mount --bind /sys $ROOTFS/sys
mount --bind /dev $ROOTFS/dev
mount --bind /run $ROOTFS/run
Cruthachadh craobh eòlaire
Leigidh an siostam RPM leat craobh eòlaire ullachadh gu furasta agus gu sgiobalta airson an OS san àm ri teachd:
PKGSURL=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages
rpm --root=$ROOTFS --initdb
rpm --root=$ROOTFS -ivh
$PKGSURL/centos-release-8.1-1.1911.0.8.el8.x86_64.rpm
$PKGSURL/centos-gpg-keys-8.1-1.1911.0.8.el8.noarch.rpm
$PKGSURL/centos-repos-8.1-1.1911.0.8.el8.x86_64.rpm
dnf --installroot=$ROOTFS --nogpgcheck --setopt=install_weak_deps=False
-y install audit authselect basesystem bash biosdevname coreutils
cronie curl dnf dnf-plugins-core dnf-plugin-spacewalk dracut-config-generic
dracut-config-rescue e2fsprogs filesystem firewalld glibc grub2 grubby hostname
initscripts iproute iprutils iputils irqbalance kbd kernel kernel-tools
kexec-tools less linux-firmware lshw lsscsi ncurses network-scripts
openssh-clients openssh-server passwd plymouth policycoreutils prefixdevname
procps-ng rng-tools rootfiles rpm rsyslog selinux-policy-targeted setup
shadow-utils sssd-kcm sudo systemd util-linux vim-minimal xfsprogs
chrony cloud-init
Tha mi den bheachd gu bheil e nas fheàrr an àithne mu dheireadh a chuir an gnìomh san dòigh seo, le bhith a’ stàladh pacaidean sònraichte, agus bi cinnteach nach leig thu seachad na pacaidean a tha air am moladh.
Ma thogras tu, faodaidh tu rudeigin mar seo a chleachdadh:
dnf --installroot=$ROOTFS groupinstall base core
--excludepkgs "NetworkManager*"
-e "i*-firmware"
В yum
sam bith --excludepkgs
, agus mus robh agam ri buidhnean a chuir a-steach agus an uairsin pacaidean a thoirt air falbh.
Faodar liosta nam pasganan agus na buidhnean eisimeileach fhaicinn leis an àithne dnf group info core
airson buidheann core
.
Gnàthachadh faidhle OS
Cruthaichidh sinn configs airson an lìonra, fstab, grub2 agus cleachdaidh sinn seòlaidhean 169.254 taobh a-staigh AWS airson DNS agus NTP.
cat > $ROOTFS/etc/resolv.conf << HABR
nameserver 169.254.169.253
HABR
cat > $ROOTFS/etc/sysconfig/network << HABR
NETWORKING=yes
NOZEROCONF=yes
HABR
cat > $ROOTFS/etc/sysconfig/network-scripts/ifcfg-eth0 << HABR
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
HABR
cat > $ROOTFS/etc/fstab << HABR
LABEL=root / xfs defaults,relatime 1 1
HABR
sed -i "s/cloud-user/centos/" $ROOTFS/etc/cloud/cloud.cfg
echo "server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4" >> $ROOTFS/etc/chrony.conf
sed -i "/^pool /d" $ROOTFS/etc/chrony.conf
sed -i "s/^AcceptEnv/# /" $ROOTFS/etc/ssh/sshd_config
cat > $ROOTFS/etc/default/grub << HABR
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0,115200n8 console=tty0 net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
HABR
'S ann an seo, ann an GRUB_CMDLINE_LINUX, a tha mi a' moladh selinux=0 a shònrachadh, dhaibhsan air a bheil eagal SELinux fhathast.
Ath-thogail initramfs ann an chroot
Às deidh dhut na faidhlichean grub agus fstab a dheasachadh, feumaidh tu ath-thogail.
Bidh sinn a’ dèanamh an ùrachaidh:
KERNEL=$(ls $ROOTFS/lib/modules/)
chroot $ROOTFS dracut -f -v /boot/initramfs-$KERNEL.img $KERNEL
chroot $ROOTFS grub2-mkconfig -o /boot/grub2/grub.cfg
chroot $ROOTFS grub2-install $DEVICE
chroot $ROOTFS update-crypto-policies --set FUTURE
an seo update-crypto-policies
- roghainneil, airson an paranoid :)
Airson “reic”, faodaidh tu seo a dhèanamh:
chroot $ROOTFS fips-mode-setup --enable
chroot $ROOTFS grub2-mkconfig -o /boot/grub2/grub.cfg
chroot $ROOTFS grub2-install $DEVICE
Às deidh an OS a luchdachadh, an àithne update-crypto-policies --show
cuiridh e a-mach FIPS.
Autostart agus glanadh sgudal
chroot $ROOTFS systemctl enable network.service
chroot $ROOTFS systemctl enable sshd.service
chroot $ROOTFS systemctl enable cloud-init.service
chroot $ROOTFS systemctl mask tmp.mount
dnf --installroot=$ROOTFS clean all
truncate -c -s 0 $ROOTFS/var/log/*.log
rm -rf var/lib/dnf/*
touch $ROOTFS/.autorelabel
autorelabel
- feumach air faidhlichean co-theacsa SELinux a chuir a-steach gu fèin-ghluasadach air a’ chiad bhròg.
A-nis leig dhuinn an diosc a dhì-mhunntachadh:
sync
umount $ROOTFS/{proc,sys,dev,run}
umount $ROOTFS
Clàradh AMI
Gus ami fhaighinn bho dhiosg ebs, feumaidh tu an toiseach dealbh den diosc a ghabhail:
aws ec2 create-snapshot
--volume-id vol-09f26eba4c50da110 --region us-east-1
--description 'centos-release-8.1-1.1911.0.8 4.18.0-147.5.1 01'
Feumaidh tu feitheamh beagan ùine. Bheir sinn sùil air an inbhe a’ cleachdadh an SnapshotId a fhuaireadh:
aws ec2 describe-snapshots --region us-east-1 --snapshot-ids snap-0b665542fc59e58ed
Nuair a gheibh sinn e "State": "completed"
, faodaidh tu AMI a chlàradh agus a dhèanamh poblach:
aws ec2 register-image
--region us-east-1
--name 'CentOS-8.1-1.1911.0.8-minimal'
--description 'centos-release-8.1-1.1911.0.8 4.18.0-147.5.1 01'
--virtualization-type hvm --root-device-name /dev/sda1
--block-device-mappings '[{"DeviceName":"/dev/sda1","Ebs": { "SnapshotId": "snap-0b665542fc59e58ed", "VolumeSize":4, "DeleteOnTermination": true, "VolumeType": "gp2"}}]'
--architecture x86_64 --sriov-net-support simple --ena-support
aws ec2 modify-image-attribute
--region us-east-1
--image-id ami-011ed2a37dc89e206
--launch-permission 'Add=[{Group=all}]'
Sin e. A-nis faodaidh tu eisimpleirean a chuir air bhog.
San dòigh seo, faodaidh tu ìomhaigh a chruthachadh, as coltaiche, le cuairteachadh Linux sam bith. Co-dhiù dìreach Debian (a’ cleachdadh debootstrap gus siostam glan a chuir a-steach) agus an teaghlach RHEL.
ÙR Stèidhichte air iarrtasan bho luchd-leughaidh. Faodaidh am pròiseas seo a bhith fèin-ghluasadach Pacair, Dèan fèin-ghluasad a-mhàin. an seo Tha eisimpleir teamplaid air a thaisbeanadh.
Source: www.habr.com