我将一个映像(.tar)加载到本地docker存储库中,然后Kubernetes将该映像拉入容器。在应用程序启动并运行后,我想从本地docker存储库中删除该映像,这是正确的方法还是Kubernetes仍需要在docker本地存储库中使用该映像? 我已经测试过删除该图像时,我的应用程序仍然可以运行,但是如果我想按比例放大或按比例缩小,则会遇到问题,因为图像丢失了。
我想,如果Pod掉了,Kubernetes会再次在docker仓库中寻找Image吗?
有什么方法可以在Kubernetes中缓存该映像,因此不需要再次从docker存储库中拉取吗?
我想在Application在Kubernetes上运行后立即删除这些图像的原因是安全性,我不想将图像留在docker存储库中,以便用户无法提取该图像并将其导出到某处... < / p>
答案 0 :(得分:2)
我想,如果Pod掉了,Kubernetes会再次在docker仓库中寻找Image吗?
是的
有什么方法可以在Kubernetes中缓存该映像,因此不需要再次从docker存储库中拉取吗?
提取图像时,该图像由docker或您的运行时管理器本地缓存。
我想在Application在Kubernetes上运行后立即删除这些图像的原因是安全性,我不想将图像留在docker存储库中,以便用户无法提取该图像并将其导出到某处... < / p>
如果您担心安全性,则不应在图像中放入敏感信息(密码,凭据,密钥)。这就是为什么有Kubernetes Secrets或Hashicorp Vault之类的工具的原因。
如果您担心将知识产权设为私有,则应考虑使用私有容器映像存储库或私有Docker registry