手动拉取 Kubernetes kubeadm 使用的容器镜像

这篇具有很好参考价值的文章主要介绍了手动拉取 Kubernetes kubeadm 使用的容器镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用kubeadmin设置 Kubernetes 集群时,会使用一个init命令选项来设置 Kubernetes 控制平面。Kubernetes 有许多将在引导集群时使用的容器镜像。

在互联网访问不可靠的环境中,或者当您使用代理服务器时互联网访问受限,或者如果您的 Kubernetes 节点根本没有互联网访问权限,预拉要使用的容器镜像是有意义的.

首先,您需要打印 kubeadm 将使用的图像列表(在安装了 kubeadm 的机器上)。

<span style="background-color:#051e30"><span style="color:#ffffff"><code>$ <strong>sudo kubeadm config images list</strong>
k8s.gcr.io/kube-apiserver:v1.22.2
k8s.gcr.io/kube-controller-manager:v1.22.2
k8s.gcr.io/kube-scheduler:v1.22.2
k8s.gcr.io/kube-proxy:v1.22.2
k8s.gcr.io/pause:3.5
k8s.gcr.io/etcd:3.5.0-0
k8s.gcr.io/coredns/coredns:v1.8.4</code></span></span>

使用的默认注册表是k8s.gcr.io,您可以选择使用不同的注册表。例如使用码头工人:

<span style="background-color:#051e30"><span style="color:#ffffff"><code>$<strong> sudo kubeadm config images list --image-repository docker.io</strong>
docker.io/kube-apiserver:v1.22.2
docker.io/kube-controller-manager:v1.22.2
docker.io/kube-scheduler:v1.22.2
docker.io/kube-proxy:v1.22.2
docker.io/pause:3.5
docker.io/etcd:3.5.0-0
docker.io/coredns:v1.8.4</code></span></span>

这将使用最新稳定版本的 Kubernetes。您还可以指定要使用的 Kubernetes 版本,例如stablelatest

<span style="background-color:#051e30"><span style="color:#ffffff"><code>$ sudo kubeadm config images list --kubernetes-version latest</code></span></span>

使用 kubeadm 命令拉取容器镜像

如果您的 Kubernetes 机器可以访问互联网以拉取容器镜像,您可以使用 kubeadm 命令预拉取所需的镜像:

<span style="background-color:#051e30"><span style="color:#ffffff"><code><strong><em>### Pull from default registry: k8s.gcr.io ###
</em></strong>$ sudo kubeadm config images pull

<strong><em>### Pull from a different registry, e.g docker.io or internal ###
</em></strong>$ sudo kubeadm config images pull --image-repository docker.io</code></span></span>

对于 docker,您可能需要登录才能拉取图像:

<span style="background-color:#051e30"><span style="color:#ffffff"><code>$<strong> sudo docker login</strong>
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: jmutai
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded</code></span></span>

请注意,如果更改容器存储库,则需要在运行init时执行相同的操作。

<span style="background-color:#051e30"><span style="color:#ffffff"><code>$ sudo kubeadm init --image-repository <registry> <options></code></span></span>

使用 docker / podman 命令拉取容器镜像

对于无法访问 Internet 的 Kubernetes 节点,您需要从本地计算机下载图像并将其上传到您的 Kubernetes 节点。

  • 使用kubeadm列出要在机器上使用的图像
<span style="background-color:#051e30"><span style="color:#ffffff"><code>sudo kubeadm config images list </code></span></span>
  • 本地下载图片
<span style="background-color:#051e30"><span style="color:#ffffff"><code>for image in k8s.gcr.io/kube-apiserver:v1.22.2 \
  k8s.gcr.io/kube-controller-manager:v1.22.2 \
  k8s.gcr.io/kube-scheduler:v1.22.2 \
  k8s.gcr.io/kube-proxy:v1.22.2 \
  k8s.gcr.io/pause:3.5 \
  k8s.gcr.io/etcd:3.5.0-0 \
  k8s.gcr.io/coredns:1.8.4; do
sudo docker pull $image;
done</code></span></span>

如果使用 podman:

<span style="background-color:#051e30"><span style="color:#ffffff"><code>for image in k8s.gcr.io/kube-apiserver:v1.22.2 \
  k8s.gcr.io/kube-controller-manager:v1.22.2 \
  k8s.gcr.io/kube-scheduler:v1.22.2 \
  k8s.gcr.io/kube-proxy:v1.22.2 \
  k8s.gcr.io/pause:3.5 \
  k8s.gcr.io/etcd:3.5.0-0 \
  k8s.gcr.io/coredns/coredns:v1.8.4; do
sudo docker pull $image;
done</code></span></span>
  • 将图像另存为.tar文件
<span style="background-color:#051e30"><span style="color:#ffffff"><code># Example
mkdir ~/k8s-images
docker save k8s.gcr.io/kube-apiserver:v1.22.2 > ~/k8s-images/kube-apiserver.tar
# Do the same for all other images</code></span></span>
  • 将保存的图像上传到 Kubernetes 节点
<span style="background-color:#051e30"><span style="color:#ffffff"><code>rsync -av ~/k8s-images/* k8s-node:~/k8s-images/</code></span></span>
  • .tar图像文件导入 Docker。
<span style="background-color:#051e30"><span style="color:#ffffff"><code>cd k8s-images/
ls * | while read image; do sudo docker load < $image; done</code></span></span>

这是一个示例负载输出。

<span style="background-color:#051e30"><span style="color:#ffffff"><code># <strong>ls * | while read image; do docker load < $image; done</strong>
225df95e717c: Loading layer [==================================================>]  336.4kB/336.4kB
7c9b0f448297: Loading layer [==================================================>]  41.37MB/41.37MB
Loaded image: k8s.gcr.io/coredns:1.6.5
fe9a8b4f1dcc: Loading layer [==================================================>]  43.87MB/43.87MB
ce04b89b7def: Loading layer [==================================================>]  224.9MB/224.9MB
1b2bc745b46f: Loading layer [==================================================>]  21.22MB/21.22MB
Loaded image: k8s.gcr.io/etcd:3.4.3-0
fc4976bd934b: Loading layer [==================================================>]  53.88MB/53.88MB
f103db1d7ea4: Loading layer [==================================================>]  118.6MB/118.6MB
Loaded image: k8s.gcr.io/kube-apiserver:v1.17.0
01b437934b9d: Loading layer [==================================================>]  108.5MB/108.5MB
Loaded image: k8s.gcr.io/kube-controller-manager:v1.17.0
ac06623e44c6: Loading layer [==================================================>]   42.1MB/42.1MB
Loaded image: k8s.gcr.io/kube-scheduler:v1.17.0
682fbb19de80: Loading layer [==================================================>]  21.06MB/21.06MB
2dc2f2423ad1: Loading layer [==================================================>]  5.168MB/5.168MB
ad9fb2411669: Loading layer [==================================================>]  4.608kB/4.608kB
597151d24476: Loading layer [==================================================>]  8.192kB/8.192kB
0d8d54147a3a: Loading layer [==================================================>]  8.704kB/8.704kB
6bc5ae70fa9e: Loading layer [==================================================>]  37.81MB/37.81MB
Loaded image: k8s.gcr.io/kube-proxy:v1.17.0
e17133b79956: Loading layer [==================================================>]  744.4kB/744.4kB
Loaded image: k8s.gcr.io/pause:3.1</code></span></span>

确认图像已导入:

<span style="background-color:#051e30"><span style="color:#ffffff"><code>[root@k8s-master-01 ~]# <strong>crictl images</strong>
IMAGE                                 TAG                 IMAGE ID            SIZE
docker.io/calico/apiserver            v3.20.1             4e7da027faaa7       53.2MB
docker.io/calico/cni                  v3.20.1             e69ccb66d1b65       146MB
docker.io/calico/kube-controllers     v3.20.1             5df320a38f63a       63.2MB
docker.io/calico/node                 v3.20.1             355c1ee44040b       158MB
docker.io/calico/pod2daemon-flexvol   v3.20.1             55fa5eb71e097       21.8MB
docker.io/calico/typha                v3.20.1             8473ae43d01b8       59.4MB
k8s.gcr.io/coredns/coredns            v1.8.4              8d147537fb7d1       47.7MB
k8s.gcr.io/etcd                       3.5.0-0             0048118155842       296MB
k8s.gcr.io/kube-apiserver             v1.22.2             e64579b7d8862       130MB
k8s.gcr.io/kube-controller-manager    v1.22.2             5425bcbd23c54       123MB
k8s.gcr.io/kube-proxy                 v1.22.2             873127efbc8a7       105MB
k8s.gcr.io/kube-scheduler             v1.22.2             b51ddc1014b04       53.9MB
k8s.gcr.io/pause                      3.2                 80d28bedfe5de       688kB
k8s.gcr.io/pause                      3.5                 ed210e3e4a5ba       690kB
quay.io/tigera/operator               v1.20.3             98e04bee27575       48.2MB</code></span></span>

然后,您可以使用本地添加的映像继续 Kubernetes 安装。根据您使用的 CNI,如果进行离线安装,您可能还需要提前拉取其镜像。文章来源地址https://www.toymoban.com/news/detail-642219.html

到了这里,关于手动拉取 Kubernetes kubeadm 使用的容器镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用 kubeadm 部署 kubernetes 1.27.1 版本

    使用 kubeadm 部署 kubernetes 1.27.1 版本

    目录 前言 一、搭建前的准备 1. 搭建k8s的平台规划 2. 服务器硬件配置要求 3. 搭建部署的方式 二、搭建流程 1. kubeadm搭建方式 a. 准备工作,系统初始化 c. 设置一下ipv4,否则会失败(此处为坑,不设置无法初始化成功) d. 安装containerd  e. 安装kubectl、kubelet、kubeadm  f. master节点

    2024年02月06日
    浏览(13)
  • 如何清理Kubernetes集群中的旧容器和镜像

    Kubernetes有一个内置的垃圾收集系统,可以清理不使用的镜像。它由Kubelet管理,它是Kubernetes 的工作进程并且在每个节点上运行。 Kubelet 会自动监控未使用的图像,并定期删除它们( https://kubernetes.io/docs/concepts/cluster-administration/kubelet-garbage-collection) 。通过评估镜像的磁盘使用情

    2024年02月16日
    浏览(13)
  • 【C站首发】全网最新Kubernetes(K8s)1.28版本探秘及部署 基于Containerd容器运行时(100年证书kubeadm)

    【C站首发】全网最新Kubernetes(K8s)1.28版本探秘及部署 基于Containerd容器运行时(100年证书kubeadm)

    序号 操作系统及版本 备注 1 CentOS7u9 需求 CPU 内存 硬盘 角色 主机名 值 8C 8G 1024GB master k8s-master01 值 8C 16G 1024GB worker(node) k8s-worker01 值 8C 16G 1024GB worker(node) k8s-worker02 1.3.1 主机名配置 由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;其中2台为wor

    2024年02月08日
    浏览(19)
  • 使用kubeadm安装和设置Kubernetes(k8s)

    使用kubeadm安装和设置Kubernetes(k8s)

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署: 使用kubeadm方式搭建K8s集群主要分为以下几步 准备三台虚拟机,同时安装操作系统CentOS 7.x 对三个安装之后的操作系统进行初始化操作 在三个节点安装 dock

    2024年02月12日
    浏览(31)
  • Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

    Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

             以两数相加求和为例,在kubernetes集群 拉取本地的镜像 ,实现如下效果:         1.实现两数相加求和         2.可以通过curl 实时调用 , 参数 以GET方式提供,并得到结果。(类似 调用函数 )         需要准备如下的文件。文件名与对应的功能如下所示

    2024年01月20日
    浏览(20)
  • Kubernetes技术--使用kubeadm快速部署一个K8s集群

    Kubernetes技术--使用kubeadm快速部署一个K8s集群

    这里我们配置一个 单master集群 。( 一个Master节点,多个Node节点 ) 1.硬件环境准备 一台或多台机器,操作系统 CentOS7.x-86_x64 。这里我们使用安装了CentOS7的三台虚拟机 硬件配置 : 2GB或更多RAM , 2个CPU或更多CPU , 硬盘30GB或更多 2.主机名称和IP地址规划 3. 初始化准备工作 (1).关

    2024年02月10日
    浏览(64)
  • kubernetes新版本使用kubeadm init的超全问题解决和建议

    这一篇能节省你在 kubeadm init 时遇到问题的排错时间⌚️。 整合了网上大佬的方案🧍‍♂️和官方建议⚠️。 个人被这个问题折磨了好久😭,希望总结出来能帮助到大家~ 目录 自定义配置文件初始化的建议 关注配置:  advertiseAddress imageRepository nodeRegistration.criSocket 问题解

    2023年04月08日
    浏览(6)
  • centos安装部署Kubernetes(k8s)步骤使用kubeadm方式

    centos安装部署Kubernetes(k8s)步骤使用kubeadm方式

    机器地址: 192.168.0.35 k8s-master 192.168.0.39 k8s-node1 192.168.0.116 k8s-node2 修改每台机器的名字 关闭防火墙和selinux 临时关闭selinux: 永久关闭: 修改selinux为disabled或者permissive 重启生效 配置本地解析 确保每个节点MAC地址和 product_uuid 的唯一性 同步时间 如果各机器上时间都没有问题

    2024年02月06日
    浏览(19)
  • kubernetes部署应用时从harbor拉取镜像失败:repository does not exist or may require ‘docker login‘

    问题描述: kubernetes部署应用时,pod启动失败,通过kubectl describe pod查看失败原因类似下面的错误: Failed to pull image \\\"xxxx/oneapi-2/authtenantserver:15\\\": rpc error: code = Unknown desc = Error response from daemon: pull access denied for xxxx/oneapi-2/authtenantserver, repository does not exist or may require \\\'docker login\\\'

    2024年02月16日
    浏览(10)
  • Kubernetes技术--使用kubeadm搭建高可用的K8s集群(贴近实际环境)

    Kubernetes技术--使用kubeadm搭建高可用的K8s集群(贴近实际环境)

    1.高可用k8s集群架构(多master) 2.安装硬件要求 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 注: 这里属于教学环境,所以使用三台虚拟机模拟实现。 3.部署规划 4.部署前准备 (1).关闭防火墙 (2).关闭selinux (3).关闭swap (4).根据规

    2024年02月10日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包