kubeadm init——pod-network-cidr 需要哪些镜像

摘要:使用kubeadm init初始化 Kubernetes 集群时,需要下载一系列的容器镜像以部署控制平面组件和网络插件。以下是一些通常需要的镜像:

使用 kubeadm init 初始化 Kubernetes 集群时,需要下载一系列的容器镜像以部署控制平面组件和网络插件。以下是一些通常需要的镜像:

Pause 容器镜像

这是 Kubernetes 中的“Pause”容器,用作每个 Pod 的基础设施容器。通常由 kubelet 自动拉取。

镜像名:k8s.gcr.io/pause:3.6

Etcd 容器镜像

Kubernetes 使用 Etcd 作为其键值存储数据库。

镜像名:k8s.gcr.io/etcd:3.5.0-0

Kubernetes 控制平面组件

API Server、Scheduler、Controller Manager 和 Kubelet 等。

镜像名通常包括:k8s.gcr.io/kube-apiserverk8s.gcr.io/kube-schedulerk8s.gcr.io/kube-controller-managerk8s.gcr.io/kube-proxy

Pod 网络插件

根据选择的网络解决方案,需要下载相应的 CNI 插件。例如,如果你使用 Calico,需要下载 Calico 的网络插件镜像。

镜像名:calico/cnicalico/kube-controllerscalico/node

CoreDNS

Kubernetes 集群的 DNS 服务。

镜像名:k8s.gcr.io/coredns:1.8.0

Dashboard

Kubernetes 的 Web UI 控制面板(如果需要)。

镜像名:k8s.gcr.io/kubernetes-dashboard-amd64:v2.2.0

请注意,上述镜像版本可能会随着 Kubernetes 版本的更新而变化。在 kubeadm init 过程中,kubeadm 会尝试自动下载这些镜像。如果你处于离线环境或需要预先下载这些镜像,你需要根据你的 Kubernetes 版本查找对应的镜像列表,并使用 docker pull 命令将它们下载到本地。

例如,如果你使用的是 Kubernetes v1.22.0,你可以使用以下命令来获取所需的镜像列表:

kubeadm config images list --kubernetes-version=v1.22.0

然后,使用以下命令下载每个镜像:

docker pull

下载完成后,你可以使用 docker save 命令将它们保存为 tar 文件,并将这些文件传输到你的离线环境中:

docker save -o .tar

在离线环境中,使用 docker load 命令加载这些镜像:

docker load -i .tar

确保在执行 kubeadm init 之前,所有必要的镜像都已加载到本地。

来源:小帆科技每日一讲

相关推荐