拉取镜像时更改kubernetes平台

pb3s4cty  于 2023-05-28  发布在  Kubernetes
关注(0)|答案(1)|浏览(134)

我正在使用Apple M1,编写Kubernetes YAML文件来拉取和部署映像confluentinc/cp-zookeeper:6.2.4问题是,由于CPU架构的差异,我无法拉取映像

Failed to pull image "confluentinc/cp-zookeeper:6.2.4": rpc error: code = Unknown desc = no matching manifest for linux/arm64/v8 in the manifest list entries

当使用docker-compose时,我可以只指定标签platform: linux/x86_64,一切正常,但我不确定如何为K8S做到这一点,我也尝试设置环境变量DOCKER_DEFAULT_PLATFORM,但它也不起作用。
我正在使用Docker-Desktop内置的Kubernetes

t5zmwmid

t5zmwmid1#

据我所知,Pods/Deployments没有定义架构的选项。我假设,如果你指向容器镜像上下文,Kubernetes会自动拉取正确的镜像。当你只有单个图像而没有索引时,你必须使用nodeSelectors或其他东西,并将CPU架构固定在图像标签上(https://kubernetes.io/docs/concepts/containers/images/#multi-architecture-images-with-image-indexes)。
在你的问题中给出的图像:在这种情况下,我认为问题是confluentinc/cp-zookeeper在Docker Hub中有一个ARM 64镜像,但没有ARM 64/v8镜像。现在我不知道M1上Docker的内部结构。但我有点惊讶,x86_64甚至可以在ARM CPU上工作。

相关问题