#!/usr/bin/env bash echo ">>>> Initial Config Start <<<<" echo "[TASK 1] Change Timezone and Enable NTP" timedatectl set-local-rtc 0 timedatectl set-timezone Asia/Seoul echo "[TASK 2] Disable firewalld and selinux" systemctl disable --now firewalld >/dev/null 2>&1 setenforce 0 sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config echo "[TASK 3] Setting Local DNS Using Hosts file" sed -i '/^127\.0\.\(1\|2\)\.1/d' /etc/hosts echo "192.168.10.10 admin" >> /etc/hosts for (( i=1; i<=$1; i++ )); do echo "192.168.10.1$i k8s-node$i" >> /etc/hosts; done echo "[TASK 4] Delete default routing - enp0s9 NIC" # setenforce 0 설정 필요 nmcli connection modify enp0s9 ipv4.never-default yes nmcli connection up enp0s9 >/dev/null 2>&1 echo "[TASK 5] Config net.ipv4.ip_forward" cat << EOF > /etc/sysctl.d/99-ipforward.conf net.ipv4.ip_forward = 1 EOF sysctl --system >/dev/null 2>&1 echo "[TASK 6] Install packages" dnf install -y python3-pip git sshpass cloud-utils-growpart >/dev/null 2>&1 echo "[TASK 7] Install Helm" curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | DESIRED_VERSION=v3.20.0 bash >/dev/null 2>&1 echo "[TASK 8] Increase Disk Size" growpart /dev/sda 3 >/dev/null 2>&1 # lsblk xfs_growfs /dev/sda3 >/dev/null 2>&1 # df -hT / echo "[TASK 9] Setting SSHD" #echo "root:qwe123" | chpasswd cat << EOF >> /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes EOF systemctl restart sshd >/dev/null 2>&1 echo "[TASK 10] Setting SSH Key" ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa >/dev/null 2>&1 sshpass -p 'vagrant' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.10.10 >/dev/null 2>&1 # cat /root/.ssh/authorized_keys ssh -o StrictHostKeyChecking=no root@admin-lb hostname >/dev/null 2>&1 for (( i=1; i<=$1; i++ )); do sshpass -p 'vagrant' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.10.1$i >/dev/null 2>&1 ; done for (( i=1; i<=$1; i++ )); do sshpass -p 'vagrant' ssh -o StrictHostKeyChecking=no root@k8s-node$i hostname >/dev/null 2>&1 ; done echo "[TASK 11] Install K9s" CLI_ARCH=amd64 if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi wget -P /tmp https://github.com/derailed/k9s/releases/latest/download/k9s_linux_${CLI_ARCH}.tar.gz >/dev/null 2>&1 tar -xzf /tmp/k9s_linux_${CLI_ARCH}.tar.gz -C /tmp chown root:root /tmp/k9s mv /tmp/k9s /usr/local/bin/ chmod +x /usr/local/bin/k9s echo "[TASK 12] ETC" echo "sudo su -" >> /home/vagrant/.bashrc echo ">>>> Initial Config End <<<<"