Quarkus应用Helm部署Kubernetes:镜像配置与访问问题求助
关于Quarkus Helm部署的镜像配置与应用访问问题
一、Deployment.yaml中的镜像配置
你需要填写Quarkus构建生成的容器镜像全名,具体操作如下:
- 首先确保构建应用时触发镜像构建:执行
./mvnw clean package -Dquarkus.container-image.build=true,这个命令会在本地容器运行时(比如Docker)中生成镜像。 - 镜像默认命名规则为
[groupId]/[artifactId]:[version],比如项目groupId是com.example、artifactId是quarkus-helm-app、版本是1.0.0-SNAPSHOT,镜像名就是com.example/quarkus-helm-app:1.0.0-SNAPSHOT。 - 若要自定义镜像名,可在
application.properties中配置:quarkus.container-image.group=my-group quarkus.container-image.name=my-app quarkus.container-image.tag=1.0.0 - 出现
myimage占位符,说明构建时未启用镜像构建或配置未生效。更规范的做法是让deployment.yaml引用Helm values变量,将image字段改为{{ .Values.image.repository }}:{{ .Values.image.tag }},然后在values.yaml中配置镜像信息:image: repository: com.example/quarkus-helm-app tag: 1.0.0-SNAPSHOT
二、安装Helm chart后访问应用
安装完成后,按以下步骤访问:
- 确认应用Pod正常运行:
等待Pod状态变为kubectl get podsRunning再进行下一步。 - 根据Service类型选择访问方式:
- 默认ClusterIP类型:仅集群内部可访问,需做端口转发:
之后在浏览器访问kubectl port-forward service/helm-example 8080:8080http://localhost:8080即可。 - NodePort类型:修改
values.yaml中的service.type为NodePort,重新安装或升级Helm chart后,执行kubectl get services查看分配的节点端口,访问http://<你的K8s节点IP>:<分配的NodePort>。 - LoadBalancer类型:若集群支持LoadBalancer(如云厂商集群),修改
values.yaml中的service.type为LoadBalancer,安装后执行kubectl get services查看分配的外部IP,直接访问http://<外部IP>:8080。
- 默认ClusterIP类型:仅集群内部可访问,需做端口转发:
内容的提问来源于stack exchange,提问作者Christos Avdimiotis
相关产品推荐
相关产品推荐

