Files
devstar/docs/kubernetes/k8s-prepare-env.sh

49 lines
1.2 KiB
Bash

#!/bin/bash
set -e
echo "==== Kubernetes 环境准备 ===="
# 1. 更新系统包
echo "更新系统包..."
sudo apt update && sudo apt upgrade -y
# 2. 安装必要的工具
echo "安装必要工具..."
sudo apt install -y curl wget gnupg lsb-release ca-certificates apt-transport-https software-properties-common
# 3. 禁用 swap
echo "禁用 swap..."
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 4. 配置内核参数
echo "配置内核参数..."
cat <<EOF_MODULES | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF_MODULES
sudo modprobe overlay
sudo modprobe br_netfilter
# 5. 配置 sysctl 参数
echo "配置 sysctl 参数..."
cat <<EOF_SYSCTL | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF_SYSCTL
sudo sysctl --system
# 6. 配置防火墙
echo "配置防火墙..."
sudo ufw --force disable || true
# 按你的要求,不在节点上修改 /etc/hosts
echo "==== 环境准备完成 ===="
echo "当前主机名: $(hostname)"
echo "当前 IP: $(ip route get 1 | awk '{print $7; exit}')"
echo "Swap 状态: $(swapon --show | wc -l) 个 swap 分区"