version-checker icon indicating copy to clipboard operation
version-checker copied to clipboard

Minio scrape has odd error about constraints

Open kad-poelw opened this issue 5 years ago • 2 comments

Hi,

We have k8s running on Azure and the following (images) versions: Prometheus: quay.io/prometheus/prometheus:v2.21.0 Version-checker: quay.io/jetstack/version-checker:v0.2.0 Grafana: grafana/grafana:7.2.0-ubuntu

Our config for the deployment of version-checker is:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: version-checker
  name: version-checker
spec:
  replicas: 1
  selector:
    matchLabels:
      app: version-checker
  template:
    metadata:
      labels:
        app: version-checker
      annotations:
        prometheus.io/path: /metrics
        prometheus.io/port: "8080"
        prometheus.io/scrape: "true"
        enable.version-checker.io/version-checker: "true"
    spec:
      serviceAccountName: version-checker
      containers:
        - image: quay.io/jetstack/version-checker:v0.2.0
          imagePullPolicy: Always
          ports:
            - containerPort: 8080
          name: version-checker
          command: ["version-checker"]
          args:
            - "--log-level=debug"
            - "--test-all-containers=true"
          env:
            - name: VERSION_CHECKER_ACR_USERNAME
              valueFrom:
                secretKeyRef:
                  name: version-checker-pdokcr
                  key: ACR_USERNAME
            - name: VERSION_CHECKER_ACR_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: version-checker-pdokcr
                  key: ACR_PASSWORD
          resources:
            limits:
              cpu: 200m
              memory: 256Mi
            requests:
              cpu: 200m
              memory: 256Mi

On a side note, above config might look a bit odd, we use Kustomize to deploy our environments.

As per command-args above we want to scrape all pods, without exception. There are however several pods not being shown inside the table. Some of these are related to minio. We dont have minio running on our own ACR and use the "public" available images for that.

When I look at the logs of the version-checker, it has this to say about it:

time="2020-10-07T07:43:28Z" level=error msg="minio/mc: no tags found with these option constraints: {}" container=download-cleanup module=controller name=bgt-download-cleanup-1601942400-k7wlx namespace=download
time="2020-10-07T07:43:56Z" level=error msg="minio/minio: no tags found with these option constraints: {}" container=minio module=controller name=minio-695644c4b5-9dlq9 namespace=services
time="2020-10-07T07:43:56Z" level=error msg="pdok/mapserver: no tags found with these option constraints: {}" container=mapserver module=controller name=bzk-brogmwkenset-wms-v2-1-mapserver-5448896fd7-54bsh namespace=services

I have no idea what tags it is trying to figure out, as I have the command-arg set to "--test-all-containers=true". Shouldn't it pickup these pods this way or am I missing out on something?

Our pods have these images currently active and I kind of expect them to be shown in the table: minio-etch: gcr.io/etcd-development/etcd:v3.3.10 minio-server: minio/minio:RELEASE.2020-10-03T02-19-42Z

kad-poelw avatar Oct 08 '20 16:10 kad-poelw

Updated to v0.2.1, same error still available

kad-poelw avatar Oct 12 '20 10:10 kad-poelw

Hi @kad-poelw, the issue here from what I can see is that those image tags don't follow standard semantic versioning. In order for version-checker to use those tags that are not following, you will either need to add the option to look at the image created date, or match over a regular expression. I suggest setting the following annotation on these pods, changing the container name and regex where appropriate.

    match-regex.version-checker.io/minio: ^RELEASE\.

Checking against SHA (image created date) is also an option.

    use-sha.version-checker.io/minio: "true"

JoshVanL avatar Oct 12 '20 10:10 JoshVanL