解决了

使用内部ca证书链的碳

  • 2020年7月17日
  • 6个回答
  • 2032的浏览量

Userlevel 1
徽章 +2

你好,

我的公司有一个内部的CA证书链,我需要在carbon上安装内部的CA .crt,可以吗?

用例,使用kubectl从内部注册表安装pod是不可能的,因为他们不知道在注册表服务器上安装的根CA权威机构。

Anibal

图标

最佳答案Anibal Ulisses2020年7月23日02:01

Hi @AnishWalia20<\/user-mention>\u00a0<\/p>

\u00a0<\/p>

Problem solved\u2026<\/p>

On my notebook docker installation I already configured the certificate like you described:<\/p>

1)\u00a0On master and worker nodes create\u00a0$URL<\/strong>\u00a0directory at\u00a0\/etc\/docker\/certs.d\/<\/strong>\u00a0where\u00a0$URL<\/strong>is replaced with their registry hostname and port:
\u00a0<\/p>

sudo mkdir \/etc\/docker\/certs.d\/example.com:5000<\/code><\/pre>  


Copy (scp or download)\u00a0registry.crt<\/strong>\u00a0to\u00a0\/etc\/docker\/certs.d\/example.com:5000\/registry.crt<\/strong><\/p> <\/blockquote>

\u00a0<\/p>

But I found two problem that after I understand I have success to configure the certificate chain:<\/p>

  1. Need to run this command to reload the new settings: \t
    systemctl daemon-reload && systemctl restart docker<\/code><\/pre> \t<\/li> \t
  2. Need to install the certificate on all Master and Worker nodes, and run step 1 on each one.<\/li> <\/ol>

    Another point that I faced, unfortunately I have a proxy between my server and internet. When the karbon are deployed they didn\u2019t get the \u201cwhitelist\u201d configure at Prism Element to include on the NO_PROXY variable, they only get the PROXY_HTTP(S) information. I need to adjust on all nodes.\u00a0<\/p>

    \u00a0<\/p>

    No my certificate chain are running fine :-)<\/p>

    \u00a0<\/p>

    Thank you.<\/p>

    Anibal<\/p>

    \u00a0<\/p>","className":"post__content__best_answer"}">

查看原始

6个回答

Userlevel 6
徽章 +5

@Anibal Ulisses您可以尝试按照Kubernetes文档创建一个.dockerconfigjson实现上述目标的秘诀如下:

https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

Userlevel 6
徽章 +5

嘿, @Anibal Ulisses对上面的事情感到抱歉。我误解了这个问题。上面我发送的文章是针对不同的用例。

你需要做以下工作:

1)在主节点和工作节点上创建$ URL目录在/etc/docker/certs.d/在哪里$ URL替换为它们的注册表主机名和端口:

sudo mkdir /etc/docker/certs.d/example.com: 5000


复制(scp或下载)registry.crt/etc/docker/certs.d/example.com: 5000 / registry.crt

Userlevel 1
徽章 +2

@AnishWalia20

很好,我需要重启集群还是他们识别新的证书并自动重启?

Userlevel 6
徽章 +5

@Anibal Ulisses.抱歉我没能联系到你。我对重新开始的事不太确定。

你试过上面的方法吗?.如果你还有其他需要帮助的地方就告诉我。微笑:

Userlevel 1
徽章 +2

@AnishWalia20

问题解决了…

在我的笔记本电脑docker安装,我已经配置了证书,如您所描述的:

1)在主节点和工作节点上创建$ URL目录在/etc/docker/certs.d/在哪里$ URL替换为它们的注册表主机名和端口:

sudo mkdir /etc/docker/certs.d/example.com: 5000


复制(scp或下载)registry.crt/etc/docker/certs.d/example.com: 5000 / registry.crt

但是在我理解成功配置证书链后,我发现了两个问题:

  1. 需要运行此命令重新加载新的设置:
    Systemctl daemon-reload && Systemctl restart docker
  2. 需要在所有Master和Worker节点上安装证书,并在每个节点上运行步骤1。

我面临的另一个问题是,我的服务器和互联网之间有一个代理。当碳部署时,他们没有在Prism Element得到“白名单”配置,包括NO_PROXY变量,他们只得到PROXY_HTTP(S)信息。我需要调整所有节点。

不,我的证书链运行良好:-)

谢谢你!

Anibal

Userlevel 6
徽章 +5

啊,太神奇了 @Anibal Ulisses.很高兴成功了。同时也感谢关于在所有主节点和工作节点上重启docker守护进程以使设置持久的边注。微笑:

回复


Baidu