#1 Global Leader in Data Resilience

Troubleshooting apiservices Unavailability Due to Failed Discovery

KB ID: 4634
Product: Veeam Kasten for Kubernetes | 7
Published: 2024-07-02
Last Modified: 2024-07-02
mailbox
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
This site is protected by hCaptcha and its Privacy Policy and Terms of Service apply except as noted in our Privacy Policy.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please, try again later.

Article Applicability

This article is relevant for environments where Cilium CNI is in use.

If the errors or behavior described below occur in an environment where Cilium CNI is not in use, please create a support case.

Challenge

In Kubernetes clusters that use Cilium for CNI (Container Network Interface), Veeam Kasten for Kubernetes aggregated apiservices are unavailable due to failure in discovery. This causes the Kasten UI not to load, or display empty (null) values. This causes crucial Kasten APIs like applications, actions, and restore points, to be unusable as they rely on the aggregated apiservices.

The following error will be seen on the K10 dashboard along with HTTP 500 errors.

the server is currently unable to handle the request.

Checking the state of apiservices would show the following discoveryCheck failure message.

kubectl get apiservices | grep kasten
v1alpha1.actions.kio.kasten.io kasten-io/aggregatedapis-svc False (FailedDiscoveryCheck)

Cause

In some Kubernetes distributions, Cilium CNI pods block connectivity to Kasten's aggregated apiservices by default.

Cilium is an Open Source security-focused CNI

Solution

First, upgrade Cilium using the following command:
helm get values cilium -n kube-system -o yaml > cilium-values.yaml && \
helm upgrade cilium cilium/cilium -n kube-system -f cilium-values.yaml \
--set remoteNodeIdentity=false

Then, upgrade K10 to run the aggregated API service using a non-default port* and in hostNetwork mode.

*The default port for aggregated-apis service is 10250.

helm get values k10 -n kasten-io -o yaml > k10-values.yaml && \
helm upgrade k10 kasten/k10 --namespace=kasten-io -f k10-values.yaml \
--set services.aggregatedapis.hostNetwork=true \
--set service.aggregatedApiPort=10251
Remember to set a non-default port (e.g., 10251) for aggregatedapis-svc.
To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Spelling error in text

This site is protected by hCaptcha and its Privacy Policy and Terms of Service apply except as noted in our Privacy Policy.
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please, try again later.

You have selected too large block!

Please try select less.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
This site is protected by hCaptcha and its Privacy Policy and Terms of Service apply except as noted in our Privacy Policy.
Verify your email to continue your product download
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please, try again later.