Quarkus 3中quarkus deploy命令如何正确适配Kubernetes部署?
Quarkus 3
quarkus deploy 命令正确用法解析 quarkus deploy 是Quarkus 3新增的仅部署已有构建产物的命令,它不会自动完成应用打包、镜像构建等前置步骤——这就是你直接执行该命令无效果的核心原因。以下是正确的使用流程:
1. 先完成应用构建与镜像准备
必须先执行构建命令,生成可部署的应用镜像:
- Maven项目:执行
./mvnw clean package -Dquarkus.container-image.build=true - Gradle项目:执行
./gradlew build -Dquarkus.container-image.build=true
针对Windows上的Minikube,还需要将本地构建的镜像加载到Minikube集群中(否则Minikube无法拉取本地镜像):
minikube image load <你的镜像名称>
镜像名称可从application.properties的quarkus.container-image.name配置项获取。
2. 确认集群配置与项目参数
- 检查Kubernetes上下文是否指向Minikube:
确保输出为Minikube对应的上下文(通常是kubectl config current-contextminikube)。 - 确认
application.properties中的配置正确,比如:quarkus.kubernetes.image-pull-policy=ifNotPresent quarkus.container-image.name=your-app-name quarkus.container-image.tag=latest
3. 执行quarkus deploy命令
完成上述步骤后,直接执行部署命令即可:
quarkus deploy kubernetes
额外说明
- 如果你需要自定义部署资源,可以通过
--config-file参数指定自定义的Kubernetes YAML文件:quarkus deploy kubernetes --config-file=custom-deployment.yaml - Gradle项目对应的部署命令为:
./gradlew quarkusDeploy --quarkus.deploy.target=kubernetes
你之前使用的./mvnw clean package -Dquarkus.kubernetes.deploy=true是构建+部署的复合命令,它会一次性完成打包、镜像构建和部署操作,因此能正常启动Pod;而quarkus deploy仅负责部署环节,必须依赖已完成的前置构建工作。
内容的提问来源于stack exchange,提问作者Alexander Rühl
相关产品推荐
相关产品推荐

