Skip to main content
Solved

Kasten10 Connection Error 404 after reinstall/upgrade to 5.5.0


I just did a reinstall/upgrade of my kasten10 install. Now i get a 404 when trying to connect via portforward…

 

Connection Error

Request failed with status code 404 (dashboardbff-svc)

 

i already did:

  • restart my browser
  • kubectl rollout restart deployment -n kasten-io

 

my deployment via fluxcd:

---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
  name: k10
  namespace: flux-system
spec:
  interval: 10m0s
  url: https://charts.kasten.io/
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: k10
  namespace: flux-system
spec:
  chart:
    spec:
      chart: k10
      version: 5.5.0
      sourceRef:
        kind: HelmRepository
        name: k10
  interval: 1m0s
  targetNamespace: kasten-io
  serviceAccountName: helm-controller

yes all pods are running…

kubectl get pods
NAME                                     READY   STATUS    RESTARTS   AGE
aggregatedapis-svc-656dd6874b-wft9x      1/1     Running   0          11m
auth-svc-5dddbc4c8c-b2nvx                1/1     Running   0          11m
catalog-svc-5b5ff956c4-khz29             2/2     Running   0          11m
controllermanager-svc-86dcdcfd57-fd5dm   1/1     Running   0          11m
crypto-svc-799b6f4cd7-bhq7q              4/4     Running   0          11m
dashboardbff-svc-84c8b44c7-z8dcc         1/1     Running   0          11m
executor-svc-5554f87f8c-578cf            2/2     Running   0          11m
executor-svc-5554f87f8c-t8qgv            2/2     Running   0          11m
executor-svc-5554f87f8c-xwk8w            2/2     Running   0          11m
frontend-svc-75fcfb956d-2ffzb            1/1     Running   0          11m
gateway-7b5946f847-9bgc2                 1/1     Running   0          11m
jobs-svc-8467dccdb7-gz22l                1/1     Running   0          11m
kanister-svc-85745d46cc-7lbqh            1/1     Running   0          11m
kasten-io-k10-grafana-5b4df4fc79-j2wcg   1/1     Running   0          11m
logging-svc-66fdb5ddd6-887x4             1/1     Running   0          11m
metering-svc-f4b59dff-m4m6k              1/1     Running   0          11m
prometheus-server-dd7985f44-cz4m5        2/2     Running   0          11m
state-svc-78cb8f9df8-lhw4p               2/2     Running   0          11m

logs of dahsboard-scv

{"File":"kasten.io/k10/kio/tracing/tracing.go","Function":"kasten.io/k10/kio/tracing.StartProfileBuffers","Line":109,"cluster_name":"a4e9857e-fb28-4963-a067-1c3e2cd ││ {"File":"kasten.io/k10/kio/bff/dashboard.go","Function":"kasten.io/k10/kio/bff.NewDashboard","Line":74,"cluster_name":"a4e9857e-fb28-4963-a067-1c3e2cd51e9b","hostna ││ {"File":"kasten.io/k10/rest/srv/dashboardbffserver/kio_inmemorystore_handler.go","Function":"kasten.io/k10/rest/srv/dashboardbffserver.ConfigureHandlersForInMemoryS ││ {"File":"kasten.io/k10/kio/utils/swagger_utils.go","Function":"kasten.io/k10/kio/utils.ServerLogger","Line":11,"cluster_name":"a4e9857e-fb28-4963-a067-1c3e2cd51e9b" ││ Log message dropped (buffer): {"File":"kasten.io/k10/kio/tracing/tracing.go","Function":"kasten.io/k10/kio/tracing.StartProfileBuffers","Level":"info","Line":109,"M ││ {"File":"kasten.io/k10/kio/bff/dashboard.go","Function":"kasten.io/k10/kio/bff.NewDashboard","Level":"info","Line":74,"Message":"Created new DashboardBFF","Time":"2 ││ {"File":"kasten.io/k10/rest/srv/dashboardbffserver/kio_inmemorystore_handler.go","Function":"kasten.io/k10/rest/srv/dashboardbffserver.ConfigureHandlersForInMemoryS ││ {"File":"kasten.io/k10/kio/utils/swagger_utils.go","Function":"kasten.io/k10/kio/utils.ServerLogger","Level":"info","Line":11,"Message":"Serving dashboardbff at htt ││  Error: {"message":"Fluentbit connection error","function":"kasten.io/k10/kio/log/hooks/fluentbit.(*Hook).handle","linenumber":97,"file":"kasten.io/k10/kio/log/hook ││ {"File":"kasten.io/k10/kio/storagemgr/repository_stream_monitor.go","Function":"kasten.io/k10/kio/storagemgr.(*RepositoryStreamMonitor).Run","Line":82,"cluster_name ││ Log message dropped (buffer): {"File":"kasten.io/k10/kio/storagemgr/repository_stream_monitor.go","Function":"kasten.io/k10/kio/storagemgr.(*RepositoryStreamMonitor ││  Error: {"message":"Fluentbit connection error","function":"kasten.io/k10/kio/log/hooks/fluentbit.(*Hook).handle","linenumber":97,"file":"kasten.io/k10/kio/log/hook │

 

help appreciated

Best answer by jaiganeshjk

I am not sure why the probes are failing. It seems to fail intermittently I guess(10 times over 13 hours).

Probably cluster network/kubelet related.

However, I see from the describe output, the release name is `kasten-io-k10`

This might be related to how flux rolls out the helm release <NamespaceName-HelmReleaseName>

https://fluxcd.io/flux/components/helm/helmreleases/

// ReleaseName used for the Helm release. Defaults to a composition of

// '[TargetNamespace-]Name'.

 

You should try pointing the url to /kasten-io-k10/

Labels:       app=k10

              app.kubernetes.io/instance=kasten-io-k10

              app.kubernetes.io/managed-by=Helm

              app.kubernetes.io/name=k10

              component=dashboardbff

              helm.sh/chart=k10-5.5.0

              heritage=Helm

              pod-template-hash=84c8b44c7

              release=kasten-io-k10

View original
Did this topic help you find an answer to your question?

7 comments

Madi.Cristil
Forum|alt.badge.img+8
  • Community Manager
  • 617 comments
  • November 14, 2022

jaiganeshjk
Forum|alt.badge.img+2
  • Experienced User
  • 275 comments
  • November 15, 2022

 @markbon Thanks for your question. 

I don’t see any 404 in the dashboard logs that you have shared. Your request doesn’t seem to come to dashboard itself.

Can you confirm if the name of the helm release is k10 and you are trying to access the URL with the correct port and path `/k10/`

Usually this path is derived from the helm release name.

 


  • Author
  • Comes here often
  • 5 comments
  • November 15, 2022

yes i can confirm that. But lets take another look…

 

kubectl get hr
NAME                        AGE    READY   STATUS
cert-manager                244d   True    Release reconciliation succeeded
crunchy-postgres-operator   244d   True    Release reconciliation succeeded
gatekeeper                  244d   True    Release reconciliation succeeded
k10                         16h    True    Release reconciliation succeeded
traefik-ingress             244d   True    Release reconciliation succeeded
kubectl describe hr k10
Name:         k10
Namespace:    flux-system
Labels:       kustomize.toolkit.fluxcd.io/name=flux-system
              kustomize.toolkit.fluxcd.io/namespace=flux-system
Annotations:  <none>
API Version:  helm.toolkit.fluxcd.io/v2beta1
Kind:         HelmRelease
Metadata:
  Creation Timestamp:  2022-11-14T19:13:29Z
  Finalizers:
    finalizers.fluxcd.io
  Generation:  1
  Managed Fields:
    API Version:  helm.toolkit.fluxcd.io/v2beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          f:kustomize.toolkit.fluxcd.io/name:
          f:kustomize.toolkit.fluxcd.io/namespace:
      f:spec:
        f:chart:
          f:spec:
            f:chart:
            f:sourceRef:
              f:kind:
              f:name:
            f:version:
        f:interval:
        f:serviceAccountName:
        f:targetNamespace:
    Manager:      kustomize-controller
    Operation:    Apply
    Time:         2022-11-14T19:13:29Z
    API Version:  helm.toolkit.fluxcd.io/v2beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:finalizers:
          .:
          v:"finalizers.fluxcd.io":
    Manager:      helm-controller
    Operation:    Update
    Time:         2022-11-14T19:13:29Z
    API Version:  helm.toolkit.fluxcd.io/v2beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:status:
        f:conditions:
        f:helmChart:
        f:lastAppliedRevision:
        f:lastAttemptedRevision:
        f:lastAttemptedValuesChecksum:
        f:lastReleaseRevision:
        f:observedGeneration:
    Manager:         helm-controller
    Operation:       Update
    Subresource:     status
    Time:            2022-11-14T19:14:51Z
  Resource Version:  5019457668
  UID:               c032872b-2899-44d2-98f0-c05f5844eca1
Spec:
  Chart:
    Spec:
      Chart:               k10
      Reconcile Strategy:  ChartVersion
      Source Ref:
        Kind:            HelmRepository
        Name:            k10
      Version:           5.5.0
  Interval:              1m0s
  Service Account Name:  helm-controller
  Target Namespace:      kasten-io
Status:
  Conditions:
    Last Transition Time:          2022-11-14T19:14:51Z
    Message:                       Release reconciliation succeeded
    Reason:                        ReconciliationSucceeded
    Status:                        True
    Type:                          Ready
    Last Transition Time:          2022-11-14T19:14:51Z
    Message:                       Helm install succeeded
    Reason:                        InstallSucceeded
    Status:                        True
    Type:                          Released
  Helm Chart:                      flux-system/flux-system-k10
  Last Applied Revision:           5.5.0
  Last Attempted Revision:         5.5.0
  Last Attempted Values Checksum:  da39a3ee5e6b4b0d3255bfef95601890afd80709
  Last Release Revision:           1
  Observed Generation:             1
Events:                            <none>

 

Well the event logs states the aren’t healty… but i cant figure out why...

 

kubectl get events
LAST SEEN   TYPE      REASON      OBJECT                                       MESSAGE
17m         Warning   Unhealthy   pod/controllermanager-svc-86dcdcfd57-fd5dm   Readiness probe failed: Get "http://10.2.4.48:8000/v0/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
19m         Warning   Unhealthy   pod/dashboardbff-svc-84c8b44c7-z8dcc         Liveness probe failed: Get "http://10.2.5.170:8000/v0/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
33m         Warning   Unhealthy   pod/dashboardbff-svc-84c8b44c7-z8dcc         Readiness probe failed: Get "http://10.2.5.170:8000/v0/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
kubectl describe pod dashboardbff-svc-84c8b44c7-z8dcc
Name:         dashboardbff-svc-84c8b44c7-z8dcc
Namespace:    kasten-io
Priority:     0
Node:         nodepool-b2-30-nov-2022-node-315238/51.75.88.5
Start Time:   Mon, 14 Nov 2022 20:35:00 +0100
Labels:       app=k10
              app.kubernetes.io/instance=kasten-io-k10
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=k10
              component=dashboardbff
              helm.sh/chart=k10-5.5.0
              heritage=Helm
              pod-template-hash=84c8b44c7
              release=kasten-io-k10
              run=dashboardbff-svc
Annotations:  checksum/config: 73618af76bc5fbcf422d13aa36648f4f5c01de805720afb434b0ac005dd99710
              checksum/frontend-nginx-config: 8ef964e44c825efbe25977f03144e4db444d5a49a7855516af167f93e877e0b2
              checksum/secret: 545c38b0922de19734fbffde62792c37c2aef6a3216cfa472449173165220f7d
              cni.projectcalico.org/containerID: 30df56ebc170abebb485ed545024ded9572400aea614e841b9e5aae496b3b3f9
              cni.projectcalico.org/podIP: 10.2.5.170/32
              cni.projectcalico.org/podIPs: 10.2.5.170/32
              kubectl.kubernetes.io/restartedAt: 2022-11-14T20:34:49+01:00
Status:       Running
IP:           10.2.5.170
IPs:
  IP:           10.2.5.170
Controlled By:  ReplicaSet/dashboardbff-svc-84c8b44c7
Containers:
  dashboardbff-svc:
    Container ID:   containerd://a3cd025059f71e0d8cc35a42cefc388e739ace68b1ab9063ca094ca953c48960
    Image:          gcr.io/kasten-images/dashboardbff:5.5.0
    Image ID:       gcr.io/kasten-images/dashboardbff@sha256:bd412356e1e7cdcfe66f573334c936e0d68640718f206153f18886ab9f4cc62a
    Port:           8000/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 14 Nov 2022 20:35:15 +0100
    Ready:          True
    Restart Count:  0
    Requests:
      cpu:      8m
      memory:   40Mi
    Liveness:   http-get http://:8000/v0/healthz delay=300s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:8000/v0/healthz delay=3s timeout=1s period=10s #success=1 #failure=3
    Environment:
      VERSION:                                        <set to the key 'version' of config map 'k10-config'>            Optional: false
      MODEL_STORE_DIR:                                <set to the key 'modelstoredirname' of config map 'k10-config'>  Optional: false
      LOG_LEVEL:                                      <set to the key 'loglevel' of config map 'k10-config'>           Optional: false
      POD_NAMESPACE:                                  kasten-io (v1:metadata.namespace)
      CONCURRENT_SNAP_CONVERSIONS:                    <set to the key 'concurrentSnapConversions' of config map 'k10-config'>               Optional: false
      CONCURRENT_WORKLOAD_SNAPSHOTS:                  <set to the key 'concurrentWorkloadSnapshots' of config map 'k10-config'>             Optional: false
      K10_DATA_STORE_PARALLEL_UPLOAD:                 <set to the key 'k10DataStoreParallelUpload' of config map 'k10-config'>              Optional: false
      K10_DATA_STORE_GENERAL_CONTENT_CACHE_SIZE_MB:   <set to the key 'k10DataStoreGeneralContentCacheSizeMB' of config map 'k10-config'>   Optional: false
      K10_DATA_STORE_GENERAL_METADATA_CACHE_SIZE_MB:  <set to the key 'k10DataStoreGeneralMetadataCacheSizeMB' of config map 'k10-config'>  Optional: false
      K10_DATA_STORE_RESTORE_CONTENT_CACHE_SIZE_MB:   <set to the key 'k10DataStoreRestoreContentCacheSizeMB' of config map 'k10-config'>   Optional: false
      K10_DATA_STORE_RESTORE_METADATA_CACHE_SIZE_MB:  <set to the key 'k10DataStoreRestoreMetadataCacheSizeMB' of config map 'k10-config'>  Optional: false
      K10_LIMITER_GENERIC_VOLUME_SNAPSHOTS:           <set to the key 'K10LimiterGenericVolumeSnapshots' of config map 'k10-config'>        Optional: false
      K10_LIMITER_GENERIC_VOLUME_COPIES:              <set to the key 'K10LimiterGenericVolumeCopies' of config map 'k10-config'>           Optional: false
      K10_LIMITER_GENERIC_VOLUME_RESTORES:            <set to the key 'K10LimiterGenericVolumeRestores' of config map 'k10-config'>         Optional: false
      K10_LIMITER_CSI_SNAPSHOTS:                      <set to the key 'K10LimiterCsiSnapshots' of config map 'k10-config'>                  Optional: false
      K10_LIMITER_PROVIDER_SNAPSHOTS:                 <set to the key 'K10LimiterProviderSnapshots' of config map 'k10-config'>             Optional: false
      AWS_ASSUME_ROLE_DURATION:                       <set to the key 'AWSAssumeRoleDuration' of config map 'k10-config'>                   Optional: false
      K10_RELEASE_NAME:                               kasten-io-k10
      KANISTER_FUNCTION_VERSION:                      <set to the key 'kanisterFunctionVersion' of config map 'k10-config'>  Optional: false
      K10_PROMETHEUS_HOST:                            prometheus-server-exp
      K10_PROMETHEUS_PORT:                            80
      K10_PROMETHEUS_BASE_URL:                        /k10/prometheus/
      K10_GRAFANA_ENABLED:                            true
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-464k9 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-464k9:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                 From     Message
  ----     ------     ----                ----     -------
  Warning  Unhealthy  34m (x10 over 13h)  kubelet  Readiness probe failed: Get "http://10.2.5.170:8000/v0/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  19m (x10 over 16h)  kubelet  Liveness probe failed: Get "http://10.2.5.170:8000/v0/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

 

 


jaiganeshjk
Forum|alt.badge.img+2
  • Experienced User
  • 275 comments
  • Answer
  • November 15, 2022

I am not sure why the probes are failing. It seems to fail intermittently I guess(10 times over 13 hours).

Probably cluster network/kubelet related.

However, I see from the describe output, the release name is `kasten-io-k10`

This might be related to how flux rolls out the helm release <NamespaceName-HelmReleaseName>

https://fluxcd.io/flux/components/helm/helmreleases/

// ReleaseName used for the Helm release. Defaults to a composition of

// '[TargetNamespace-]Name'.

 

You should try pointing the url to /kasten-io-k10/

Labels:       app=k10

              app.kubernetes.io/instance=kasten-io-k10

              app.kubernetes.io/managed-by=Helm

              app.kubernetes.io/name=k10

              component=dashboardbff

              helm.sh/chart=k10-5.5.0

              heritage=Helm

              pod-template-hash=84c8b44c7

              release=kasten-io-k10


  • Author
  • Comes here often
  • 5 comments
  • November 15, 2022

omg you are right. Thank you so much @jaiganeshjk ;)

its working again ୧〳^౪^〵୨


michaelcade
Forum|alt.badge.img+7
  • Product Strategy
  • 116 comments
  • March 29, 2025

 

 

I know this was a while ago but it might help someone using ArgoCD having the same issue as above, I used ArgoCD to deploy the latest version of Veeam Kasten and /k10 did not work for me, I found this page so started troubleshooting. 
 

apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: >
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"k10","app.kubernetes.io/instance":"kasten-io","app.kubernetes.io/managed-by":"Helm","app.kubernetes.io/name":"k10","helm.sh/chart":"k10-7.5.8","heritage":"Helm","release":"kasten-io","service":"gateway"},"name":"gateway-ext","namespace":"kasten-io"},"spec":{"ports":[{"name":"https","port":80,"targetPort":8000}],"selector":{"service":"gateway"},"type":"LoadBalancer"}}
  creationTimestamp: '2025-03-28T19:28:05Z'
  labels:
    app: k10
    app.kubernetes.io/instance: kasten-io
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: k10
    helm.sh/chart: k10-7.5.8
    heritage: Helm
    release: kasten-io
    service: gateway
  name: gateway-ext
  namespace: kasten-io

I think its the ‘app.kubernetes.io/instance: kasten-io’ that determines this, on a non deployed Kasten deployment via ArgoCD this was k10. 

Hope this helps someone, also in the regards of deploying Kasten via ArgoCD or Flux, are you then using CD for policies and configuration? Would be interested to hear your story. 


michaelcade
Forum|alt.badge.img+7
  • Product Strategy
  • 116 comments
  • March 29, 2025

To confirm my theory above… I changed the name of my argo application 

 

 

Which in ArgoCD looks like this with k10 

 

and our browser to the dashboard is as so