有一些方法可以离线管理Kubernetes映像吗?

阿姆萨尔·马斯特罗

我是kubernetes的新手。最近,我成功地使用在线服务器管理kubernetes。但是,当我移到隔离区域(脱机服务器)时,无法部署kubectl映像。但是我所有的环境都运行良好,我陷入了困境。不同的只是互联网连接。

目前,我无法在离线服务器中部署kubernetes仪表板和一些图像。我的kubectl命令在离线服务器中的示例(我在在线服务器中下载了tar文件):

# docker load < nginx.tar

# kubectl create deployment test-nginx --image=nginx

# kubectl get pods --all-namespaces
NAMESPACE     NAME                                   READY   STATUS             RESTARTS   AGE
default       test-nginx-7d97ffc85d-2s4lh            0/1     ImagePullBackOff   0          50s
kube-system   coredns-6955765f44-2s54f               1/1     Running            1          26h
kube-system   coredns-6955765f44-wmtq9               1/1     Running            1          26h
kube-system   etcd-devkubeapp01                      1/1     Running            1          26h
kube-system   kube-apiserver-devkubeapp01            1/1     Running            1          26h
kube-system   kube-controller-manager-devkubeapp01   1/1     Running            1          26h
kube-system   kube-flannel-ds-amd64-czn8z            1/1     Running            0          26h
kube-system   kube-flannel-ds-amd64-d58x4            1/1     Running            0          26h
kube-system   kube-flannel-ds-amd64-z9w9x            1/1     Running            0          26h
kube-system   kube-proxy-9wxj2                       1/1     Running            0          26h
kube-system   kube-proxy-mr76b                       1/1     Running            1          26h
kube-system   kube-proxy-w5pvm                       1/1     Running            0          26h
kube-system   kube-scheduler-devkubeapp01            1/1     Running            1          26h

# kubectl get nodes
NAME           STATUS   ROLES     AGE   VERSION
devkubeapp01   Ready    master    26h   v1.17.2
devkubeapp02   Ready    minion1   26h   v1.17.2
devkubeapp03   Ready    minion2   25h   v1.17.2 

# docker images
REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
nginx                                latest              5ad3bd0e67a9        6 days ago          127MB
k8s.gcr.io/kube-proxy                v1.17.2             cba2a99699bd        10 days ago         116MB
k8s.gcr.io/kube-apiserver            v1.17.2             41ef50a5f06a        10 days ago         171MB
k8s.gcr.io/kube-controller-manager   v1.17.2             da5fd66c4068        10 days ago         161MB
k8s.gcr.io/kube-scheduler            v1.17.2             f52d4c527ef2        10 days ago         94.4MB
k8s.gcr.io/coredns                   1.6.5               70f311871ae1        2 months ago        41.6MB
k8s.gcr.io/etcd                      3.4.3-0             303ce5db0e90        3 months ago        288MB
quay.io/coreos/flannel               v0.11.0-amd64       ff281650a721        12 months ago       52.6MB
k8s.gcr.io/pause                     3.1                 da86e6ba6ca1        2 years ago         742kB

我的Pod无法正常运行,因此状态CreationContainer变为ImagePullBackOff(当我断开Internet连接时尝试在联机服务器中,状态相同=> ImagePullBackOff)。任何人都可以帮助解决这个问题?kubernetes是否支持离线环境来部署映像?

谢谢。

艰难的维克多

正如我之前的评论中所述:

我怀疑您的imagePullPolicy配置可能不正确。

并由您提供的日志进一步证明:

来自服务器的错误(BadRequest):容器“ test-nginx-7d97ffc85d-2s4lh”中的容器“ nginx”正在等待启动:尝试并无法提取图像

问题在于imagePullPolicy配置

官方文件中所述

预拉图像

默认情况下,kubelet将尝试从指定的注册表中提取每个图像。但是,如果imagePullPolicy容器属性设置为IfNotPresentNever,则将使用本地图像(分别优先或排他)。

如果要依靠预拉映像代替注册表身份验证,则必须确保群集中的所有节点都具有相同的预拉映像。

因此,基本上,正如@Eduardo所提到的,您需要确保所有节点上的映像均相同,并且imagePullPolicy已正确配置。

但是,请确保容器始终使用相同版本的映像,例如,您可以指定其摘要sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2摘要唯一地标识了图像的特定版本,因此除非您更改摘要值,否则Kubernetes不会对其进行更新。

这样,您就可以避免将来出现问题,因为在这种情况下,保持图像群集的完全相同版本是最大的陷阱。

我希望这会有所帮助并扩展先前的答案(正确),并从一开始就证明我的观点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有人可以解释一些与for.Each()方法有关的事情吗?

来自分类Dev

BreezeJS离线/在线管理

来自分类Dev

BreezeJS离线/在线管理

来自分类Dev

可以将Sparklyr与部署在纱线管理的Hadoop集群上的火花一起使用吗?

来自分类Dev

有一些简单的方法可以生成脚本来删除Sql Server中的所有外部约束吗?

来自分类Dev

在通过管理面板上传文件后,我可以告诉 Django 运行一些函数吗?

来自分类Dev

有什么方法可以通过ResourceController将一些变量传递到Sylius中的模板吗?

来自分类Dev

我们可以在Java 6中有一些JavaFX类吗

来自分类Dev

我们可以缩小所有类,而仅使proguard混淆一些类吗?

来自分类Dev

有一些生成器可以生成角度分量api文件吗?

来自分类Dev

有人可以扩展一些常见的Crossfilter变量名吗?

来自分类Dev

我可以使用wifi获得有关速度的一些建议吗?

来自分类Dev

有人可以帮助澄清整数对象和其他一些事情吗

来自分类Dev

如果我有一些符号警告,可以使用windbg分析的结果吗?

来自分类Dev

我可以为多个模式 grep 但有一些是相反的吗?

来自分类Dev

我可以在SonarQube中编辑一些规则吗?

来自分类Dev

可以在Tcp连接中分隔一些数据吗?

来自分类Dev

可以花一些假的mov eax,esi吗?

来自分类Dev

可以在数组中添加一些填充吗?

来自分类Dev

可以在HTML中显示一些ID吗?

来自分类Dev

我可以在SonarQube中编辑一些规则吗?

来自分类Dev

可以在Tcp连接中分隔一些数据吗?

来自分类Dev

Linux内核补丁:我可以跳过一些吗?

来自分类Dev

可以在数组中添加一些填充吗?

来自分类Dev

我可以在 python 上拆分一些文本吗?

来自分类Dev

如何在给定一些kubernetes模板的情况下获取docker映像列表?

来自分类Dev

有什么用LINQ查询投影“原始的加上一些变化”的方法吗?

来自分类Dev

有一些访问C多维数组中的字符串的特定方法吗?

来自分类Dev

对方法paramether前面的out关键字有一些疑问吗?

Related 相关文章

  1. 1

    有人可以解释一些与for.Each()方法有关的事情吗?

  2. 2

    BreezeJS离线/在线管理

  3. 3

    BreezeJS离线/在线管理

  4. 4

    可以将Sparklyr与部署在纱线管理的Hadoop集群上的火花一起使用吗?

  5. 5

    有一些简单的方法可以生成脚本来删除Sql Server中的所有外部约束吗?

  6. 6

    在通过管理面板上传文件后,我可以告诉 Django 运行一些函数吗?

  7. 7

    有什么方法可以通过ResourceController将一些变量传递到Sylius中的模板吗?

  8. 8

    我们可以在Java 6中有一些JavaFX类吗

  9. 9

    我们可以缩小所有类,而仅使proguard混淆一些类吗?

  10. 10

    有一些生成器可以生成角度分量api文件吗?

  11. 11

    有人可以扩展一些常见的Crossfilter变量名吗?

  12. 12

    我可以使用wifi获得有关速度的一些建议吗?

  13. 13

    有人可以帮助澄清整数对象和其他一些事情吗

  14. 14

    如果我有一些符号警告,可以使用windbg分析的结果吗?

  15. 15

    我可以为多个模式 grep 但有一些是相反的吗?

  16. 16

    我可以在SonarQube中编辑一些规则吗?

  17. 17

    可以在Tcp连接中分隔一些数据吗?

  18. 18

    可以花一些假的mov eax,esi吗?

  19. 19

    可以在数组中添加一些填充吗?

  20. 20

    可以在HTML中显示一些ID吗?

  21. 21

    我可以在SonarQube中编辑一些规则吗?

  22. 22

    可以在Tcp连接中分隔一些数据吗?

  23. 23

    Linux内核补丁:我可以跳过一些吗?

  24. 24

    可以在数组中添加一些填充吗?

  25. 25

    我可以在 python 上拆分一些文本吗?

  26. 26

    如何在给定一些kubernetes模板的情况下获取docker映像列表?

  27. 27

    有什么用LINQ查询投影“原始的加上一些变化”的方法吗?

  28. 28

    有一些访问C多维数组中的字符串的特定方法吗?

  29. 29

    对方法paramether前面的out关键字有一些疑问吗?

热门标签

归档