Quarkus: Issue when using Kubernetes + MicroProfile Metrics

Created on 31 Jul 2020  路  8Comments  路  Source: quarkusio/quarkus

Describe the bug
I created an application using three extensions:

  • quarkus-kubernetes
  • quarkus-container-image-jib
  • quarkus-smallrye-metrics

When trying to deploy it on a Kubernetes cluster, it returns this error:
unable to decode "target/kubernetes/kubernetes.yml": resource.metadataOnlyObject.ObjectMeta: v1.ObjectMeta.Annotations: ReadString: expects " or n, but found 8, error found in #10 byte of ...|io/port":8080,"prome|..., bigger context ...|metheus.io/path":"/metrics","prometheus.io/port":8080,"prometheus.io/scrape":"true"},"labels":{"app.|... unable to decode "target/kubernetes/kubernetes.yml": resource.metadataOnlyObject.ObjectMeta: v1.ObjectMeta.Annotations: ReadString: expects " or n, but found 8, error found in #10 byte of ...|io/port":8080,"prome|..., bigger context ...|metheus.io/path":"/metrics","prometheus.io/port":8080,"prometheus.io/scrape":"true"},"labels":{"app.|... unable to decode "target/kubernetes/kubernetes.yml": resource.metadataOnlyObject.ObjectMeta: v1.ObjectMeta.Annotations: ReadString: expects " or n, but found 8, error found in #10 byte of ...|io/port":8080,"prome|..., bigger context ...|metheus.io/path":"/metrics","prometheus.io/port":8080,"prometheus.io/scrape":"true"},"labels":{"app.|...

Expected behavior
It should deploy the Kubernetes objects described in the kubernetes.yml

Actual behavior
It returns the error described above.

To Reproduce
Steps to reproduce the behavior:
1. Create the application with the extensions:
- quarkus-kubernetes
- quarkus-container-image-jib
- quarkus-smallrye-metrics
2. Package the application
mvn clean package -DskipTests -Dquarkus.container-image.push=true
3. Try to deploy it:
kubectl apply -f target/kubernetes/kubernetes.yml

Configuration

quarkus.container-image.registry=docker.io
quarkus.container-image.group=[your-repo]
quarkus.container-image.name=code-with-quarkus
quarkus.container-image.tag=1.0-SNAPSHOT
quarkus.kubernetes.service-type=load-balancer

Environment (please complete the following information):

  • Output of uname -a or ver: Darwin emoraes-mac 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
  • Output of java -version: OpenJDK 64-Bit Server VM GraalVM CE 20.0.0 (build 11.0.6+9-jvmci-20.0-b02, mixed mode, sharing)
  • GraalVM version (if different from Java):
  • Quarkus version or git rev: 1.6.1-FINAL
  • Build tool (ie. output of mvnw --version or gradlew --version): Apache Maven 3.6.3

Additional context
There are two options that are working fine:

  1. Using the json file instead of yml file:
    kubectl apply -f target/kubernetes/kubernetes.json

  2. Deploying from the packaging step directly:
    mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=true

arekubernetes aremetrics aresmallrye kinbug

All 8 comments

/cc @geoand
/cc @jmartisk

Thanks for reporting.

cc @iocanel

Never seen something like this before and I've tried this scenario fairly recently.

A couple questions:

1) Does the generated YAML pass if entered in http://www.yamllint.com ?
2) What version of kubectl are you using?

Hi!

  1. Does the generated YAML pass if entered in http://www.yamllint.com ?

Yes.

  1. What version of kubectl are you using?

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.1", GitCommit:"7879fc12a63337efff607952a323df90cdc7a335", GitTreeState:"clean", BuildDate:"2020-04-10T21:53:51Z", GoVersion:"go1.14.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.1+3f6f40d", GitCommit:"3f6f40d", GitTreeState:"clean", BuildDate:"2020-06-08T07:13:25Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}

Just to make it very clear, this only happens when manually applying the YAML files.

So doing either of

    kubectl apply -f target/kubernetes/kubernetes.json

or

    mvn package -DskipTests -Dquarkus.kubernetes.deploy=true

(as mentioned at https://groups.google.com/g/quarkus-dev/c/7Qrg9WpaXGo/m/zicLMVuWAQAJ) will work around the issue until we fix this properly.

Yes, @geoand. I confirm it.

To fix this, we need dekorateio/dekorate#607 to be merged, a new Dekorate release cut and have Quarkus pick up that release

Was this page helpful?
0 / 5 - 0 ratings