离线初始化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 镜像。这样做可以避开网络限制,并确保集群使用的是一致和可预测的镜像版本。

相关推荐
小二·3 分钟前
Go 语言系统编程与云原生开发实战(第9篇)安全加固实战:认证授权 × 数据加密 × 安全审计(生产级落地)
安全·云原生·golang
研究司马懿7 分钟前
【云原生】Gateway API介绍
云原生·gateway
研究司马懿10 分钟前
【云原生】Gateway API路由、重定向、修饰符等关键操作
云原生·gateway
青衫客3620 分钟前
从 TLS 到 Kubernetes PKI:一条证书链如何支撑整个集群安全(问题合集)
容器·kubernetes·k8s·tls
Swift社区24 分钟前
Docker Compose 一键部署前后端分离项目
运维·docker·容器
小二·32 分钟前
Go 语言系统编程与云原生开发实战(第8篇)消息队列实战:Kafka 事件驱动 × CQRS 架构 × 最终一致性(生产级落地)
云原生·golang·kafka
研究司马懿2 小时前
【云原生】初识Gateway API
云原生·gateway
java干货9 小时前
<span class=“js_title_inner“>微服务:把一个简单的问题,拆成 100 个网络问题</span>
微服务·云原生·架构
心理之旅12 小时前
高校文献检索系统
运维·服务器·容器
大佐不会说日语~13 小时前
使用Docker Compose 部署时网络冲突问题排查与解决
运维·网络·spring boot·docker·容器