Kuberenets Discovery

Ansuman Giri
Kilo Contributor

I am trying to set up a Kubernetes discovery as a part of a project, 
I have created Kubernetes credentials with bearer token and added them to a credential alias. 
created a serverless discovery Schedule  as per the doc( https://docs.servicenow.com/bundle/quebec-it-operations-management/page/product/service-mapping/concept/kubernetes-discovery.html)

when I run the discovery I am getting the error 
Kubernetes Namespace API call failed or there are no Namespaces in the query. Please verify the configuration data and/or user permissions., Pattern name: Kubernetes, To Check Pattern Log Navigate to:...

but I have already mentioned * as a namespace find_real_file.png

When I am debugging the Kubernetes patten at get namespace step I am getting the error below:

 "Failed to retrieve remote data: Custom operation Kubernetes Get Call failed to execute script due to Custom operation Failed to run script due to the following error: JAVASCRIPT_CODE_FAILURE: Cannot convert null to an object. Check the discovery logs for more details."
 
I am not getting it where am I doing wrong, Please help!! 
26 REPLIES 26

Hail
ServiceNow Employee
ServiceNow Employee

great, please verify support assign task to dev if cannot resolve it in few days.

@Hail - if it helps, on AWS I suspect the problem is related to SSL Verification. 

I have the exact same problem as the original poster, but my Kubernetes cluster is on AWS.

I took the URL from the discovery log, dropped it into Postman and ran the same GET call.

This is what I get:

find_real_file.png

 

But once I disable SSL verification, it works perfectly. 

 

find_real_file.png

I did some digging into the "Kubernetes get call" action 

It uses Packages.com.snc.sw.commands.HttpCallHandler to make the request, and I'm not able to find a way to bypass SSL verification as a workaround. 

If you have any ideas, please do share. 

It's looking pretty bad for my customer right now, since they need K8s discovery. 

Just a question - Can we fix this by installing certificates on the mid server?

certificate issues by AWS or Azure?

I am in the same situation as you are, I could also do the same via postman and planning to talk to my Azure team to share the certificate so that I can try to install that on mid server, as with each request reaches to Azure via mid server is with runtime TLS. 

Yes, I've just tested it. Posted a separate reply below with how I've done it, but it's working for me now.