فلگ --image-repository را به میرور XODNS بدهید:
sudo kubeadm config images pull --image-repository k8s-mirror.xodns.net
sudo kubeadm init --image-repository k8s-mirror.xodns.net --pod-network-cidr=10.244.0.0/16
آینهسازی شفاف: در YAML همان registry.k8s.io/... را مینویسید و containerd از میرور میکشد.
# 1. فعالسازی مسیر certs.d در containerd
sudo sed -i 's|config_path = ""|config_path = "/etc/containerd/certs.d"|g' /etc/containerd/config.toml
# 2. تنظیم آینهسازی خودکار برای registry.k8s.io
sudo mkdir -p /etc/containerd/certs.d/registry.k8s.io
cat << 'EOF' | sudo tee /etc/containerd/certs.d/registry.k8s.io/hosts.toml
server = "https://registry.k8s.io"
[host."https://k8s-mirror.xodns.net"]
capabilities = ["pull", "resolve"]
EOF
# 3. تنظیم آینهسازی خودکار برای k8s.gcr.io (دامنه قدیمی)
sudo mkdir -p /etc/containerd/certs.d/k8s.gcr.io
cat << 'EOF' | sudo tee /etc/containerd/certs.d/k8s.gcr.io/hosts.toml
server = "https://k8s.gcr.io"
[host."https://k8s-mirror.xodns.net"]
capabilities = ["pull", "resolve"]
EOF
# 4. اعمال تنظیمات
sudo systemctl restart containerd
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
endpoint = ["https://k8s-mirror.xodns.net"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
endpoint = ["https://k8s-mirror.xodns.net"]
sudo crictl pull k8s-mirror.xodns.net/pause:3.10
sudo crictl pull k8s-mirror.xodns.net/coredns/coredns:v1.11.3
# دریافت مستقیم از میرور
docker pull k8s-mirror.xodns.net/pause:3.10
# ایجاد تگ با نام پیشفرض رسمی
docker tag k8s-mirror.xodns.net/pause:3.10 registry.k8s.io/pause:3.10
میرور pkgs.k8s.io برای kubeadm / kubelet / kubectl:
# 1. اضافه کردن مخزن رسمی از طریق میرور
echo 'deb [trusted=yes] https://k8s-mirror.xodns.net/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 2. نصب بستههای مورد نیاز
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl cri-tools conntrack ethtool socat
sudo apt-mark hold kubelet kubeadm kubectl
sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://k8s-mirror.xodns.net/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor --yes -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://k8s-mirror.xodns.net/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl