-
Notifications
You must be signed in to change notification settings - Fork 993
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Certification verification failed when connecting to kube-apiserver endpoint #930
Comments
@marcusportmann did you already has a look at using custom TLS certificates? That's a new feature of the operator we released last week. |
Excuse me, may I ask one question regarding a similar issue? I've got a root CA (self-signed) and an intermediate CA (signed by the root CA which is self-signed). I have a K8S cluster (a bare metal one) which uses the intermediate+root certificate bundle as it's own CA, so its kube-apiserver's certificate is signed by my intermediate CA. Everything works fine, but there's something that obstructs Postgres Operator from working. :-( Here's what I see in the pod's logfile:
Of course, I have read the manual which describes custom TLS certificates, so I created a secret and have mentioned this secret in the manifest of my
So, the pod which is created by the operator seems to be properly configured:
Alas, something seems to be wrong, as Python doesn't trust the kube-apiserver's certificate. What could it be, what do you think? Thanks in advance for any suggestions! |
One more remark if you don't mind... When I exec When I run curl without the What could be wrong from the patroni's point of view? |
Well, now I see where the problem is... When one sets the As I understand, patroni gets the To make sure that the problem could be fixed by giving patroni the full CA bundle, I edited How can I ask postgres-operator to give the full version of the CA bundle? Is that possible to make postgres-operator to put some custom data to Thank you all. |
I'm not sure that anyone pay attention to all these comments in an old issue, so I opened a new one (#1877). I hope, that's OK. |
@Melnik13 I suggest you to use |
can any help on the below backup fails to minio s3: k logs logical-backup-amz-time-27961560--1-5qnmw -n zalando
|
dockerImage: ghcr.io/zalando/spilo-15:2.1-p9 and using postgres : 14 I have tried below solution still getting the same SSL certificate verify errors. additionalVolumes:
|
Haven't tried it myself, but is the CA of the certificate trusted within the container? |
yes, I believe CA of the certificate is trusted with in the container. if not can you please share steps how to encrypt the certificate.. I don't want to go with untrusted or disable SSL options...can you please help me here any working example for logical backup scheduled and uploading to minio s3 bucket successfully using CRD manifest...all my config i have used CRD based approach didn't used configmap. I saw couple of examples for AWS with s3 using configmap that didn't helped me here. |
Running into the same issue. While the operator-tls secret public.crt is mounted as ca into a pod (not specific to zalando), it doesn't trust the server cert. Which is kinda weird.. the cert chain should be Kubernetes CA cert -> operator-tls -> minio tenant cert. And the Kubernetes CA is trusted by default in a pod. If I am correct. But it isn't in one certificate chain. So I am probably gonna seek for another/better solution. Perhaps something external or like Vault. |
Hello,
I have successfully managed to deploy the postgres-operator. When I apply the minimal-postgres-manifest.yaml file to create the minimal cluster the logs for the pod are filled with the following error messages.
2020-04-23 22:06:16,894 ERROR: ObjectCache.run MaxRetryError("HTTPSConnectionPool(host='10.254.0.1', port=443): Max retries exceeded with url: /api/v1/namespaces/default/pods?labelSelector=application%3Dspilo%2Ccluster-name%3Dacid-minimal-cluster (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))",)
2020-04-23 22:06:16,896 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /api/v1/namespaces/default/endpoints?labelSelector=application%3Dspilo%2Ccluster-name%3Dacid-minimal-cluster
2020-04-23 22:06:16,900 ERROR: ObjectCache.run MaxRetryError("HTTPSConnectionPool(host='10.254.0.1', port=443): Max retries exceeded with url: /api/v1/namespaces/default/endpoints?labelSelector=application%3Dspilo%2Ccluster-name%3Dacid-minimal-cluster (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))",)
I believe that that this is because one of the components, possibly Patroni, is unable to connect to the kube-apiserver endpoint because it cannot verify the API server certificate. I have searched through the documentation but cannot find a way to specify the client or CA certificate to use.
Is there some way to do this?
The text was updated successfully, but these errors were encountered: