ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CentOS kickstart example
    IT 2021. 1. 1. 15:14
    반응형

    Prerequisite

    PXE를 사용하여 Network install시 kickstart script를 사용하면 OS를 자동으로 설치 가능하다.
    네트워크 부팅은 dnsmasq를 사용하여 구성되었고 여기서는 kickstart script만 정리하였다.

    kickstart script

    kickstart script는 기본적으로 OS를 설치하면 root 홈에 anaconda.ks 파일로 존재한다. 이 스크립트를 기본으로 sudo, ssh key copy를 해두면 정말 편리하게 자동화를 구성할 수 있다.

    #version=RHEL8
    # Use graphical install
    text
    
    repo --name="AppStream" --baseurl=http://mirror.kakao.com/centos/8/AppStream/x86_64/os
    
    %packages
    @^minimal-environment
    
    %end
    
    # Keyboard layouts
    keyboard --xlayouts='us'
    # System language
    lang en_US.UTF-8
    
    # Network information
    network  --bootproto=dhcp --device=ens18 --nodefroute --noipv6 --activate
    network  --bootproto=dhcp --device=ens19 --noipv6 --activate
    network  --hostname=localhost.localdomain
    
    # Use network installation
    url --url="http://mirror.kakao.com/centos/8/BaseOS/x86_64/os/"
    
    # Run the Setup Agent on first boot
    firstboot --enable
    
    ignoredisk --only-use=sda
    # Partition clearing information
    clearpart --none --initlabel
    # Disk partitioning information
    part pv.1135 --fstype="lvmpv" --ondisk=sda --size=15358
    part /boot/efi --fstype="efi" --ondisk=sda --size=512 --fsoptions="umask=0077,shortname=winnt" --label=boot-efi
    part /boot --fstype="ext4" --ondisk=sda --size=512 --label=boot
    volgroup cl --pesize=4096 pv.1135
    logvol / --fstype="xfs" --size=15356 --label="root" --name=root --vgname=cl
    
    # System timezone
    timezone Asia/Seoul --isUtc --nontp
    
    #Root password
    rootpw --lock
    user --groups=wheel --name=awslife --password=$6$blablablabla.................. --iscrypted --uid=1000 --gecos="awslife" --gid=1000
    selinux --permissive
    
    reboot
    
    %addon com_redhat_kdump --disable --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
    
    %post --log=/root/ks-post.log
    
    cat > /etc/sudoers.d/awslife << EOF
    awslife ALL=(ALL) NOPASSWD:ALL
    EOF
    
    mkdir -p ~awslife/.ssh
    cat > ~awslife/.ssh/authorized_keys << EOF
    ssh-rsa blablabla blabla@blablabla-MBP
    ssh-rsa blablabla blabla@bootstrap
    EOF
    chown -R awslife:awslife ~awslife/.ssh
    
    %end
    
    반응형

    'IT' 카테고리의 다른 글

    CKA 인증  (0) 2021.01.13
    Kubernetes Ingress 설정 방법 (LoadBalancer)  (0) 2021.01.12
    Kubernetes Cluster Version 업그레이드  (0) 2021.01.01
    UEFI를 위한 PXE Boot 서버 구축  (0) 2020.12.05
    Bind Setup Guide  (0) 2020.12.05
Designed by Tistory.