azure kubernetes service - self signed cert on private registry

1/13/2020

I have a tunnel created between my azure subscription and my on-prem servers. ON prem we have an artifactory server that is housing all of our docker images. For all internal servers we have a company wide CA trust and all certs are generated from this.

However, when I try to deploy something to aks and reference this docker registry. I am getting a cert error because the nodes themselves do not trust the "in house" self signed cert.

Is there anyway to get the root CA chain added to the nodes? Or a way to tell the docker daemon on the aks nodes this is an insecure registry?

-- Jason B
azure
docker
kubernetes
ssl

2 Answers

1/14/2020

Not one hundred percent sure, but you can try to use the docker config to create the secret for image pull, the command like this:

cat ~/.docker/config.json | base64

Then create the secret like this:

apiVersion: v1
kind: Secret
metadata:
 name: registrypullsecret
data:
 .dockerconfigjson: <base-64-encoded-json-here>
type: kubernetes.io/dockerconfigjson

Use this secret in your deployment or pod as the value of imagePullSecrets. For more details, see Using a private Docker Registry with Kubernetes.

-- Charles Xu
Source: StackOverflow

1/17/2020

For the beginning I would recommend you to use curl to check connection between your azure cluster and on prem server.

Please use curl and curl -k and check if they both works(-k allow connections to SSL sites without certs, I assume it won't work, what means You don't have on prem certs on azure cluster)

If curl -k won't work then you need to copy and add certs from on prem to azure cluster.

Links which should help you do that

And found some informations about doing that with docker daemon

I hope it will help you. Let me know if you have any more questions.

-- jt97
Source: StackOverflow