gpt4 book ai didi

maven - Kubernetes pod - 图像从未拉出错误

转载 作者:行者123 更新时间:2023-12-02 01:04:57 25 4
gpt4 key购买 nike

我正在尝试在 Kubernetes 上部署我的 Lagom 访问服务。

为此,我尝试使用 fabric8 的 docker-maven-plugin 将我的服务容器化。

因此,我将以下插件设置添加到根项目 pom.xml 以注册 fabric8 Maven 插件:

<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.20.1</version>
<configuration>
<skip>true</skip>
<images>
<image>
<name>%g/%a:%l</name>
<build>
<from>openjdk:8-jre-alpine</from>
<tags>
<tag>latest</tag>
<tag>${project.version}</tag>
</tags>
<assembly>
<descriptorRef>artifact-with-dependencies</descriptorRef>
</assembly>
</build>
</image>
</images>
</configuration>
</plugin>

然后,我在应用程序模块目录下的 pom.xml 中添加了以下插件设置:

<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<images>
<image>
<build>
<entryPoint>
java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -cp '/maven/*' -Dhttp.address="$(eval "echo $ACCESSSERVICE_BIND_IP")" -Dhttp.port="$(eval "echo $ACCESSSERVICE_BIND_PORT")" -Dakka.remote.netty.tcp.hostname="$(eval "echo $AKKA_REMOTING_HOST")" -Dakka.remote.netty.tcp.bind-hostname="$(eval "echo $AKKA_REMOTING_BIND_HOST")" -Dakka.remote.netty.tcp.port="$(eval "echo $AKKA_REMOTING_PORT")" -Dakka.remote.netty.tcp.bind-port="$(eval "echo $AKKA_REMOTING_BIND_PORT")" $(IFS=','; I=0; for NODE in $AKKA_SEED_NODES; do echo "-Dakka.cluster.seed-nodes.$I=akka.tcp://accessservice@$NODE"; I=$(expr $I + 1); done) play.core.server.ProdServerStart
</entryPoint>
</build>
</image>
</images>
</configuration>
</plugin>

之后,我使用以下方法构建我的项目:

eval $(minikube docker-env) 
clean package docker:build

我认为它是成功的,因为当我执行“docker images”时,我有:

enter image description here

但我的问题是当我尝试部署我的服务时,出现了这个错误:

Container image is not present with pull policy of NeverError syncing pod enter image description here

您对此有何解释?请。

*** 编辑 1 ****

kubectl describe po accessservice-0 enter image description here

最佳答案

您需要使用不同于Never 的其他imagePullPolicy,否则kubernetes 永远不会尝试为您的容器下载图像。 You can choose在 Always 或 IfNotPresent 之间,只有当图像尚未下载时才会下载图像。例如

apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: my-app
image: my-app-image
imagePullPolicy: Always

关于maven - Kubernetes pod - 图像从未拉出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48318593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com