I have deployed a Kubernetes cluster in google cloud and trying to access it using the Kubernetes NodeJS API, a kubernetes client.
To do so, we need to authenticate with cluster. I tried using just the Username and Password method. I get the following error:
{ [Error: unable to verify the first certificate] code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' }
Then I tried the authentication using the CAcert, ClientCert and ClientKey. I basically hardcoded the keys instead of importing it from the files. I am calling this API from a Lambda function, where I cant store the certs in files. Doing so, I get the below error:
[Error: error:0906D06C:PEM routines:PEM_read_bio:no start line]
My intuition is authentication is possible only with keys. But I think I am doing something wrong with the certs. Do I need to create some other certificates out of this or is the method of using the certs is wrong ?
Answer:
See the Robert Bailey's comment. I was missing the Base64 thing. Adding that, I could successfully authenticate to the kubernetes cluster and display and deploy new pods, etc.,