diff --git a/init-k8s.sh b/init-k8s.sh index d8f8a66..4fdeead 100644 --- a/init-k8s.sh +++ b/init-k8s.sh @@ -18,29 +18,101 @@ 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 +# k8s +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 +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 + # 安装并配置 containerd apt install -y containerd mkdir -p /etc/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 < "$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 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 -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml + + + +containerd config default | sudo tee /etc/containerd/config.toml > /dev/null + # 生成默认配置文件 +cat < /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 -tee -a /etc/containerd/config.toml > /dev/null < "$CONFIG_DIR/docker.io/hosts.toml" +server = "https://docker.io" + +[host."https://docker.martin98.com/docker"] + capabilities = ["pull", "resolve"] + override_path = true +EOF + +mkdir -pv "$CONFIG_DIR/k8s.gcr.io" +cat < "$CONFIG_DIR/k8s.gcr.io/hosts.toml" +server = "https://k8s.gcr.io" + +[host."https://docker.martin98.com/k8s"] + capabilities = ["pull", "resolve"] + override_path = true +EOF + +mkdir -pv "$CONFIG_DIR/ghcr.io" +cat < "$CONFIG_DIR/ghcr.io/hosts.toml" +server = "https://ghcr.io" + +[host."https://docker.martin98.com/ghcr"] + capabilities = ["pull", "resolve"] + override_path = true +EOF + +mkdir -pv "$CONFIG_DIR/quay.io" +cat < "$CONFIG_DIR/quay.io/hosts.toml" +server = "https://quay.io" + +[host."https://docker.martin98.com/quay"] + capabilities = ["pull", "resolve"] + override_path = true +EOF + +mkdir -pv "$CONFIG_DIR/registry.k8s.io" +cat < "$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 sudo systemctl restart containerd && sudo systemctl enable containerd - +ctr image pull registry.k8s.io/pause:3.10 --hosts-dir=/etc/containerd/certs.d # 安装 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