离线初始化k8s

导出和导入所有必要的 Kubernetes 镜像,使用阿里云作为源。

在能访问外网的机器上拉取镜像

首先,在有外网访问的机器上运行以下命令来拉取所有 Kubernetes v1.29.5 版本需要的镜像:

bash 复制代码
kubeadm config images pull --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version 1.29.5

导出镜像为 tar 文件

接下来,导出这些镜像为 tar 文件,以便能够传输它们。例如,对于一些主要的 Kubernetes 组件:

bash 复制代码
sudo ctr -n k8s.io images export kube-apiserver.tar registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.29.5
sudo ctr -n k8s.io images export kube-controller-manager.tar registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.29.5
sudo ctr -n k8s.io images export kube-scheduler.tar registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.29.5
sudo ctr -n k8s.io images export kube-proxy.tar registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.29.5
sudo ctr -n k8s.io images export coredns.tar registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1
sudo ctr -n k8s.io images export pause.tar registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9
sudo ctr -n k8s.io images export etcd.tar registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.12-0

传输 tar 文件

使用 scp 或任何其他文件传输方法将这些 tar 文件传输到无法访问外网的服务器:

bash 复制代码
scp *.tar username@target-server-ip:/path/to/store

在目标服务器上导入镜像

在目标服务器上,使用 ctr 命令导入这些 tar 文件:

bash 复制代码
sudo ctr -n k8s.io images import kube-apiserver.tar
sudo ctr -n k8s.io images import kube-controller-manager.tar
sudo ctr -n k8s.io images import kube-scheduler.tar
sudo ctr -n k8s.io images import kube-proxy.tar
sudo ctr -n k8s.io images import coredns.tar
sudo ctr -n k8s.io images import pause.tar
sudo ctr -n k8s.io images import etcd.tar

这些步骤确保了即使在无法直接访问外部网络的环境中,也能获取并部署所需的 Kubernetes 镜像。这样做可以避开网络限制,并确保集群使用的是一致和可预测的镜像版本。

相关推荐
我不会起名字3225 小时前
K8s Ingress 返回 502 但后端日志正常:4 类上游断连与排查链
kubernetes·k8s·ingress·502·keepalive
姜鱼问生8 小时前
每次开机手动检查 6 样东西?我写了个 2 秒自检脚本
运维·网络·nginx·docker·容器
wangqiaowq8 小时前
PostgresSQL server Docker 安装部署
运维·docker·容器
程序员阿明8 小时前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc
JavaPub-rodert9 小时前
Docker 容器为什么 stop 半天停不下来?讲透 PID 1、SIGTERM、SIGKILL、僵尸进程与 tini
运维·docker·容器
我不会起名字32210 小时前
Pod 一直 Pending:调度器 5 类失败原因与 kubectl describe 的正确读法
云原生·kubernetes·调度·排查
我不会起名字32212 小时前
K8s 服务 DNS 解析偶发 5 秒超时:conntrack 与 ndots 的 3 个坑
kubernetes·k8s·dns·conntrack·coredns
risc12345613 小时前
万变不离其宗
人工智能·低代码·云原生
EterNity_TiMe_14 小时前
Docker服务越装越多记不住端口?我用Fenrus把NAS里的常用入口整理成一个导航页
运维·人工智能·docker·ai·容器·cpolar
吴声子夜歌14 小时前
Docker入门与实战——libnetwork插件化网络功能
网络·docker·容器