#!/bin/bash echo "[Step 1] Disable and turn off SWAP" # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#before-you-begin # 文件最後一行:Swap disabled. You **MUST** disable swap in order for the kubelet to work properly. # K8s需要關閉swap # 先手動關閉 swapoff -a # 將fstab裡的swap那一行註解 sed -i '/swap/s/^/#/' /etc/fstab echo "[Step 2] Stop and disable Ubuntu ufw" # https://kubernetes.io/docs/reference/ports-and-protocols/ # 參考K8s文件,將Firewall一一設定好。 # https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-22-04 # Control plane # ufw allow ssh ( or ufw allow 22/tcp) # ufw allow http ( or ufw allow 80/tcp) # ufw allow https ( or ufw allow 443/tcp) # ufw allow 6443/tcp # ufw allow 2379:2380/tcp # ufw allow 10250/tcp # ufw allow 10257/tcp # ufw allow 10259/tcp # Worker node # ufw allow ssh ( or ufw allow 22/tcp) # ufw allow 10250/tcp # ufw allow 30000:32767/tcp # Lab環境,讓我們偷懶一下,我直接將ufw關閉。 # 正式環境不宜關閉。 systemctl disable --now ufw echo "[Step 3] Loading K8s required Kernel Modules" # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#forwarding-ipv4-and-letting-iptables-see-bridged-traffic # 設定K8s開機所需的核心模組 cat <>~/.bashrc"