All checks were successful
Build Docker Image / Explore-Gitea-Actions (push) Successful in 11s
51 lines
2.2 KiB
Bash
51 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# 更新 apt
|
|
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash
|
|
|
|
# k8s 相关环境
|
|
apt install -y curl apt-transport-https ca-certificates gnupg
|
|
|
|
# 调整内核 关闭 swap
|
|
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
|
|
overlay
|
|
br_netfilter
|
|
EOF
|
|
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
|
|
net.bridge.bridge-nf-call-ip6tables = 1
|
|
net.bridge.bridge-nf-call-iptables = 1
|
|
net.ipv4.ip_forward = 1
|
|
EOF
|
|
sudo swapoff -a && sed -i '/swap/d' /etc/fstab && sudo sysctl --system && sudo modprobe overlay && sudo modprobe br_netfilter
|
|
|
|
# 安装并配置 containerd
|
|
apt install -y containerd
|
|
mkdir -p /etc/containerd
|
|
|
|
# 生成默认配置文件
|
|
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
|
|
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
|
|
tee -a /etc/containerd/config.toml > /dev/null <<EOF
|
|
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
|
|
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
|
|
endpoint = ["https://docker.martin98.com/docker"]
|
|
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
|
|
endpoint = ["https://docker.martin98.com/k8s"]
|
|
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"]
|
|
endpoint = ["https://docker.martin98.com/ghcr"]
|
|
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
|
|
endpoint = ["https://docker.martin98.com/quay"]
|
|
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
|
|
endpoint = ["https://docker.martin98.com/k8s"]
|
|
EOF
|
|
|
|
sudo systemctl restart containerd && sudo systemctl enable containerd
|
|
|
|
|
|
# 安装 kubeadm kubelet kubectl
|
|
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/kubernetes/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
|
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.martin98.com/repository/kubernetes-1.32/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
|
|
chmod 644 /etc/apt/sources.list.d/kubernetes.list /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
|
apt update && apt install -y kubeadm kubelet kubectl && apt-mark hold kubeadm kubelet kubectl
|
|
|
|
echo "k8s 运行环境安装成功" |