Kubectl command failing with certificate error
Problem
kubectlcommands are failing and throwing the below certificate error in kubelet logs:
x509: certificate has expired or is not yet valid:The nodelet phase failing on the first
cert-genphase with the below error:
cat /tmp/authbs-certs.xxxx/kubelet/apiserver/request.json
extract_vault_json certificate
/opt/pf9/python/bin/python -c 'import sys, json; print(json.load(sys.stdin)['\''data'\'']['\''certificate'\''])'
Traceback (most recent call last):
File "<string>", line 1, in <module>
KeyError: 'data'
cat /tmp/authbs-certs.fL0T/kubelet/apiserver/request.json
extract_vault_json issuing_ca
/opt/pf9/python/bin/python -c 'import sys, json; print(json.load(sys.stdin)['\''data'\'']['\''issuing_ca'\''])'
openssl verify -CAfile /tmp/authbs-certs.xxxx/kubelet/apiserver/ca.crt /tmp/authbs-certs.xxxx/kubelet/apiserver/request.crt
Error loading file /tmp/authbs-certs.xxxx/kubelet/apiserver/ca.crt
+ echo 'Certificate is not signed by CA'
Certificate is not signed by CAWhile checking the directory/tmp/authbs-certs.xxxx/kubelet/apiserver mentioned in the error, the file request.json had the entryPermission denied instead of the certificate information.
$ cat request.json
{"errors":["permission denied"]}Environment
Platform9 Edge Cloud - 5.3.0 or Higher
Cause
The vault token is expired.
Procedure
Retrieve the token using below command from the affected node:
To check the validity of the vault token, run the below command:
If the above command return like below instead of the token information, then its confirmed that the vault token is expired and need to renew the vault token:
Resolution
To resolve the issue, renew the vault token as per the KB
Last updated
