This commit is contained in:
parent
191b2f5692
commit
f9481bebcb
67
init-k8s.sh
67
init-k8s.sh
@ -1,10 +1,19 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
K8S_VERSION=1.32
|
||||||
|
CONTAINERD_VERSION=2.0.2
|
||||||
|
|
||||||
|
|
||||||
# 更新 apt
|
# 更新 apt
|
||||||
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash
|
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash
|
||||||
|
|
||||||
|
# 添加 docker 相关
|
||||||
|
curl -fsSL https://mirrors.martin98.com/repository/kubernetes/core/stable/v$K8S_VERSION/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/core/stable/v$K8S_VERSION/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
|
||||||
|
|
||||||
# k8s 相关环境
|
# k8s 相关环境
|
||||||
apt install -y curl apt-transport-https ca-certificates gnupg
|
apt update && apt install -y curl apt-transport-https ca-certificates gnupg
|
||||||
|
|
||||||
# 调整内核 关闭 swap
|
# 调整内核 关闭 swap
|
||||||
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
|
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
|
||||||
@ -18,52 +27,23 @@ net.ipv4.ip_forward = 1
|
|||||||
EOF
|
EOF
|
||||||
sudo swapoff -a && sed -i '/swap/d' /etc/fstab && sudo sysctl --system && sudo modprobe overlay && sudo modprobe br_netfilter
|
sudo swapoff -a && sed -i '/swap/d' /etc/fstab && sudo sysctl --system && sudo modprobe overlay && sudo modprobe br_netfilter
|
||||||
|
|
||||||
# 安装并配置 containerd
|
# 安装 containerd
|
||||||
# k8s
|
wget https://git-proxy.hk.martin98.com/https://github.com/containerd/containerd/releases/download/v$CONTAINERD_VERSION/containerd-$CONTAINERD_VERSION-linux-amd64.tar.gz
|
||||||
curl -fsSL https://mirrors.martin98.com/repository/kubernetes/core/stable/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
tar Cxzvf /usr/local containerd-$CONTAINERD_VERSION-linux-amd64.tar.gz
|
||||||
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.martin98.com/repository/kubernetes/core/stable/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
|
wget https://git-proxy.hk.martin98.com/https://raw.githubusercontent.com/containerd/containerd/main/containerd.service
|
||||||
|
sudo mv containerd.service /etc/systemd/system/
|
||||||
# 安装并配置 containerd
|
sudo systemctl daemon-reload
|
||||||
apt install -y containerd
|
sudo systemctl start containerd
|
||||||
mkdir -p /etc/containerd
|
sudo systemctl enable --now containerd
|
||||||
|
sudo systemctl status containerd
|
||||||
echo 'plugins."io.containerd.grpc.v1.cri".registry.config_path = "/etc/containerd/certs.d"' | sudo tee -a /etc/containerd/config.toml
|
|
||||||
printf 'server = "https://registry.k8s.io"\nhost."https://docker.martin98.com/k8s".capabilities = ["pull", "resolve"]\n' | sudo tee /etc/containerd/certs.d/registry.k8s.io/hosts.toml
|
|
||||||
|
|
||||||
sudo systemctl restart containerd
|
|
||||||
ctr image pull registry.k8s.io/pause:3.10
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mkdir -pv "$CONFIG_DIR/registry.k8s.io"
|
|
||||||
cat <<EOF > "$CONFIG_DIR/registry.k8s.io/hosts.toml"
|
|
||||||
server = "https://registry.k8s.io"
|
|
||||||
|
|
||||||
[host."https://docker.martin98.com/k8s"]
|
|
||||||
capabilities = ["pull", "resolve"]
|
|
||||||
override_path = true
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# 初始化 containerd 配置
|
# 初始化 containerd 配置
|
||||||
|
mkdir "/etc/containerd"
|
||||||
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
|
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
|
||||||
sed -ri '0,/(config_path).*/s@(config_path).*@\1 = "/etc/containerd/certs.d"@' /etc/containerd/config.toml
|
sed -ri '0,/(config_path).*/s@(config_path).*@\1 = "/etc/containerd/certs.d"@' /etc/containerd/config.toml
|
||||||
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
|
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
|
|
||||||
|
|
||||||
# 生成默认配置文件
|
|
||||||
cat <<EOF > /etc/crictl.yaml
|
|
||||||
runtime-endpoint: unix:///run/containerd/containerd.sock
|
|
||||||
image-endpoint: unix:///run/containerd/containerd.sock
|
|
||||||
timeout: 10
|
|
||||||
debug: false
|
|
||||||
EOF
|
|
||||||
|
|
||||||
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
|
|
||||||
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
|
|
||||||
|
|
||||||
# 定义配置目录
|
# 定义配置目录
|
||||||
CONFIG_DIR="/etc/containerd/certs.d"
|
CONFIG_DIR="/etc/containerd/certs.d"
|
||||||
mkdir -pv "$CONFIG_DIR/docker.io"
|
mkdir -pv "$CONFIG_DIR/docker.io"
|
||||||
@ -112,7 +92,12 @@ server = "https://registry.k8s.io"
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo systemctl restart containerd && sudo systemctl enable containerd
|
sudo systemctl restart containerd && sudo systemctl enable containerd
|
||||||
ctr image pull registry.k8s.io/pause:3.10 --hosts-dir=/etc/containerd/certs.d
|
ctr image pull registry.k8s.io/pause:3.10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 安装 kubeadm kubelet kubectl
|
# 安装 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
|
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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user