UNCLASSIFIED - NO CUI

Thanos MinIO Tenant Connection with MinIO Operator

When deploying thanos minio tenant for object storage configuration (can use the following override values below), the thanos minio tenant deployment's istio-proxy sidecar log is outputing an 409 error and the minio-operator logs are showing error syncing 'thanos/thanos-minio': no healthy upstream logs.

thanos-minio-pool-0-0 istio-proxy logs

[2024-08-13T18:26:27.099Z] "PUT /thanos/ HTTP/1.1" 409 - via_upstream - "-" 0 371 1 1 "-" "MinIO (linux; amd64) minio-go/v7.0.68" "8ca8697a-d9b8-913a-aa64-0ba930201222" "minio.thanos.svc.cluster.local" "10.42.0.21:9000" inbound|9000|| 127.0.0.6:59241 10.42.0.21:9000 10.42.2.6:59808 outbound_.80_._.minio.thanos.svc.cluster.local default traceID=20cdb1a763 │
│ [2024-08-13T18:26:32.052Z] "PUT /thanos/ HTTP/1.1" 409 - via_upstream - "-" 0 371 1 1 "-" "MinIO (linux; amd64) minio-go/v7.0.68" "17b10960-a2b2-9557-87ae-ea5f8da0aac7" "minio.thanos.svc.cluster.local" "10.42.0.21:9000" inbound|9000|| 127.0.0.6:59241 10.42.0.21:9000 10.42.2.6:59808 outbound_.80_._.minio.thanos.svc.cluster.local default traceID=d30f53a074

minio-operator logs

│ I0813 15:32:01.120079       1 controller.go:80] Starting MinIO Operator                                                                                                                                                                                                                                                                                              │
│ I0813 15:32:01.208427       1 controller.go:145] Watching only namespaces:                                                                                                                                                                                                                                                                                           │
│ I0813 15:32:01.219977       1 main-controller.go:323] Setting up event handlers                                                                                                                                                                                                                                                                                      │
│ I0813 15:32:01.507646       1 main-controller.go:556] Using Kubernetes CSR Version: v1                                                                                                                                                                                                                                                                               │
│ I0813 15:32:01.507744       1 main-controller.go:573] Waiting for STS API to start                                                                                                                                                                                                                                                                                   │
│ I0813 15:32:01.507865       1 main-controller.go:409] Starting STS API server                                                                                                                                                                                                                                                                                        │
│ I0813 15:32:01.507932       1 leaderelection.go:250] attempting to acquire leader lease minio-operator/minio-operator-lock...                                                                                                                                                                                                                                        │
│ I0813 15:32:01.608020       1 tls.go:52] Waiting for the sts certificates secret to be issued                                                                                                                                                                                                                                                                        │
│ I0813 15:32:01.708712       1 leaderelection.go:260] successfully acquired lease minio-operator/minio-operator-lock                                                                                                                                                                                                                                                  │
│ I0813 15:32:01.708842       1 main-controller.go:605] minio-operator-b8fcc4c45-mvlmc: I am the leader, applying leader labels on myself                                                                                                                                                                                                                              │
│ I0813 15:32:01.708947       1 main-controller.go:442] Waiting for Upgrade Server to start                                                                                                                                                                                                                                                                            │
│ I0813 15:32:01.709004       1 main-controller.go:446] Starting Tenant controller                                                                                                                                                                                                                                                                                     │
│ I0813 15:32:01.709014       1 main-controller.go:449] Waiting for informer caches to sync                                                                                                                                                                                                                                                                            │
│ I0813 15:32:01.709027       1 main-controller.go:460] Starting workers and Job workers                                                                                                                                                                                                                                                                               │
│ I0813 15:32:01.709043       1 main-controller.go:496] Console TLS is not enabled                                                                                                                                                                                                                                                                                     │
│ I0813 15:32:01.709045       1 main-controller.go:398] Starting HTTP Upgrade Tenant Image server                                                                                                                                                                                                                                                                      │
│ I0813 15:32:01.709079       1 main-controller.go:505] STS is enabled, starting API certificate setup                                                                                                                                                                                                                                                                 │
│ I0813 15:32:01.807296       1 tls.go:125] sts-tls TLS secret not found: secrets "sts-tls" not found                                                                                                                                                                                                                                                                  │
│ I0813 15:32:01.837832       1 csr.go:181] Start polling for certificate of csr/sts-minio-operator-csr, every 5s, timeout after 20m0s                                                                                                                                                                                                                                 │
│ I0813 15:32:06.843121       1 csr.go:207] Certificate successfully fetched, creating secret with Private key and Certificate                                                                                                                                                                                                                                         │
│ I0813 15:32:06.848055       1 tls.go:128] Waiting for the sts certificates to be issued waiting for sts cert                                                                                                                                                                                                                                                         │
│ I0813 15:33:56.569109       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13842", FieldPath:""}): type: 'Normal' reason: 'SvcCreated' MinIO Service Created                                                            │
│ I0813 15:33:56.595202       1 status.go:55] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:33:56.635073       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13849", FieldPath:""}): type: 'Normal' reason: 'SvcCreated' Console Service Created                                                          │
│ I0813 15:33:56.659164       1 status.go:55] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:33:56.706637       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13860", FieldPath:""}): type: 'Normal' reason: 'SvcCreated' Headless Service created                                                         │
│ I0813 15:33:56.750564       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13841", FieldPath:""}): type: 'Normal' reason: 'SACreated' Service Account Created                                                           │
│ I0813 15:33:56.787686       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13841", FieldPath:""}): type: 'Normal' reason: 'RoleCreated' Role Created                                                                    │
│ I0813 15:33:56.825588       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13841", FieldPath:""}): type: 'Normal' reason: 'BindingCreated' Role Binding Created                                                         │
│ I0813 15:33:57.728069       1 status.go:89] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:33:57.743889       1 main-controller.go:958] Detected we are updating a legacy tenant deployment                                                                                                                                                                                                                                                            │
│ I0813 15:33:57.755128       1 main-controller.go:997] 'thanos/thanos-minio': Deploying pool pool-0                                                                                                                                                                                                                                                                   │
│ I0813 15:33:57.822649       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13909", FieldPath:""}): type: 'Normal' reason: 'PoolCreated' Tenant pool pool-0 created                                                      │
│ I0813 15:33:58.913522       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13976", FieldPath:""}): type: 'Normal' reason: 'UsersCreated' Users created                                                                  │
│ I0813 15:33:59.508436       1 status.go:55] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ E0813 15:34:00.113841       1 main-controller.go:1500] error syncing 'thanos/thanos-minio': no healthy upstream                                                                                                                                                                                                                                                      │
│ I0813 15:34:00.114237       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"13976", FieldPath:""}): type: 'Warning' reason: 'BucketsCreatedFailed' Buckets creation failed: no healthy upstream                          │
│ I0813 15:34:06.557553       1 minio-services.go:164] Headless Services don't match: service ports don't match                                                                                                                                                                                                                                                        │
│ I0813 15:34:06.566605       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"14263", FieldPath:""}): type: 'Normal' reason: 'Updated' Headless Service Updated                                                            │
│ E0813 15:34:06.735314       1 main-controller.go:1500] error syncing 'thanos/thanos-minio': no healthy upstream                                                                                                                                                                                                                                                      │
│ I0813 15:34:06.735891       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"14263", FieldPath:""}): type: 'Warning' reason: 'BucketsCreatedFailed' Buckets creation failed: no healthy upstream                          │
│ I0813 15:34:35.311396       1 status.go:89] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:35:06.883867       1 helper.go:782] Successfully created bucket thanos                                                                                                                                                                                                                                                                                      │
│ I0813 15:35:07.002196       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"thanos", Name:"thanos-minio", UID:"b1a2e2ff-979a-471c-9a81-d1c15365ec26", APIVersion:"minio.min.io/v2", ResourceVersion:"15955", FieldPath:""}): type: 'Normal' reason: 'BucketsCreated' Buckets created                                                              │
│ I0813 15:35:07.020005       1 status.go:55] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:35:07.080444       1 pdb.go:191] PodDisruptionBudget: v1                                                                                                                                                                                                                                                                                                    │
│ I0813 15:35:13.763602       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16190", FieldPath:""}): type: 'Normal' reason: 'SvcCreated' MinIO Service Created                                               │
│ I0813 15:35:13.775718       1 status.go:55] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:35:13.865081       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16201", FieldPath:""}): type: 'Normal' reason: 'SvcCreated' Console Service Created                                             │
│ I0813 15:35:13.886776       1 status.go:55] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:35:14.012495       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16210", FieldPath:""}): type: 'Normal' reason: 'SvcCreated' Headless Service created                                            │
│ I0813 15:35:14.080126       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16188", FieldPath:""}): type: 'Normal' reason: 'SACreated' Service Account Created                                              │
│ I0813 15:35:14.172981       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16188", FieldPath:""}): type: 'Normal' reason: 'RoleCreated' Role Created                                                       │
│ I0813 15:35:14.300400       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16188", FieldPath:""}): type: 'Normal' reason: 'BindingCreated' Role Binding Created                                            │
│ I0813 15:35:14.333603       1 status.go:89] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:35:14.554716       1 main-controller.go:958] Detected we are updating a legacy tenant deployment                                                                                                                                                                                                                                                            │
│ I0813 15:35:15.092711       1 main-controller.go:997] 'minio/minio-minio-minio-instance': Deploying pool pool-0                                                                                                                                                                                                                                                      │
│ I0813 15:35:15.444112       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16237", FieldPath:""}): type: 'Normal' reason: 'PoolCreated' Tenant pool pool-0 created                                         │
│ I0813 15:35:21.568413       1 minio-services.go:164] Headless Services don't match: service ports don't match                                                                                                                                                                                                                                                        │
│ I0813 15:35:21.585328       1 event.go:364] Event(v1.ObjectReference{Kind:"Tenant", Namespace:"minio", Name:"minio-minio-minio-instance", UID:"4e94af38-b853-4a30-b46f-91d18e23956d", APIVersion:"minio.min.io/v2", ResourceVersion:"16557", FieldPath:""}): type: 'Normal' reason: 'Updated' Headless Service Updated                                               │
│ E0813 15:36:29.036580       1 main-controller.go:1298] [Will try again in 5sec] Update tenant minio-minio-minio-instance statefulset minio-minio-minio-instance-pool-0 error Operation cannot be fulfilled on statefulsets.apps "minio-minio-minio-instance-pool-0": the object has been modified; please apply your changes to the latest version and try again     │
│ I0813 15:37:03.134890       1 monitoring.go:170] 'minio/minio-minio-minio-instance' Failed to get storage info: Server not initialized yet, please try again.                                                                                                                                                                                                        │
│ I0813 15:37:13.809530       1 status.go:89] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:37:15.407015       1 status.go:89] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 15:37:16.673672       1 sync.go:151] created key minio/minio-minio-minio-instance-pool-0 kind policy/v1, Kind=PodDisruptionBudget diff [ObjectMeta.UID:  != 3b2c6c23-1567-4619-b6c0-e9d72612f7d8 ObjectMeta.ResourceVersion:  != 18844 ObjectMeta.Generation: 0 != 1 ObjectMeta.CreationTimestamp.Time: 0001-01-01 00:00:00 +0000 UTC != 2024-08-13 15:37:16 + │
│ I0813 15:38:02.347633       1 status.go:89] Hit conflict issue, getting latest version of tenant                                                                                                                                                                                                                                                                     │
│ I0813 18:26:02.456264       1 status.go:89] Hit conflict issue, getting latest version of tenant  

override-yaml

addons:
  thanos:
    enabled: true
    # sso:
    #   client_id: ""
    git:
      tag: null
      branch: "67-set-metrics-retention-to-forever"
    values:
      storegateyway:
        enabled: true
      compactor:
        enabled: true
      objstoreConfig: |-
        type: s3
        config:
          bucket: "thanos"
          endpoint: minio.thanos.svc.cluster.local:80
          access_key: "minio"
          secret_key: "minio123"
          insecure: true
          trace:
            enable: true
      istio:
        enabled: true
        hardened:
          enabled: true
      minio:
        enabled: true
        secrets:
          name: "thanos-objstore-creds"
          accessKey: "minio"
          secretKey: "minio123" # default key, change this!
        tenant:
          # -- Buckets to be provisioned to for tenant
          buckets:
            - name: thanos
          # -- Users to to be provisioned to for tenant
          users:
            - name: minio-user
          # -- User credentials to create for above user. Otherwise password is randomly generated.
          # This auth is not required to be set or reclaimed for minio use with Loki
          defaultUserCredentials:
            username: "minio-user"
            password: ""
          ## Specification for MinIO Pool(s) in this Tenant.
          pools:
            - servers: 1
              volumesPerServer: 4
              size: 750Mi
              securityContext:
                runAsUser: 1001
                runAsGroup: 1001
                fsGroup: 1001
                runAsNonRoot: true
              containerSecurityContext:
                runAsUser: 1001
                runAsGroup: 1001
                runAsNonRoot: true
                capabilities:
                  drop:
                    - ALL
          metrics:
            enabled: false
            port: 9000
            memory: 128M
  minioOperator:
    enabled: true