我已经建立了一个 Debian 存储库(实际上是 Ubuntu),供内部使用一些私有软件包,现在希望通过网络将其提供给某些特定服务器。我希望 apt-get / aptitude 使用 HTTPS 连接到它,因为我不想花任何钱使用自签名证书。
我已经尝试按照 apt.conf 手册页指向 apt-get 使用我自己的根 CA 证书来验证主机,但它似乎不起作用。
我的 apt.conf 文件如下所示:
#Acquire::https::repo.mydomain.com::Verify-Peer "false";
Acquire::https::repo.mydomain.com::CaInfo "/etc/apt/certs/my-cacert.pem";
Acquire::https::repo.mydomain.com::SslCert "/etc/apt/certs/my-cert.pem";
Acquire::https::repo.mydomain.com::SslKey "/etc/apt/certs/my-key.pem";
Run Code Online (Sandbox Code Playgroud)
我也使用客户端证书,但这似乎不是问题,因为当我将 Verify-Peer 设置为“false”(如上所述)时,一切正常。
使用相同的 CA 证书,客户端证书和密钥可以很好地与 curl 配合使用。
我启用了 apt 调试(Debug::Acquire::https "true")但它提供的信息很少。
有关如何进行的任何建议?
我们正在运行多个全球分布的 Kubernetes 集群,这些集群需要运行相同的软件。当我们发布此软件的更新(作为上传到私有 Docker 存储库的 Docker 映像)时,我们当前的部署管道需要遍历已知部署列表,连接到每个集群并在那里更新正确的部署。这是一个繁琐、脆弱、缓慢且不可扩展的过程。
我正在寻找一种方法来解决这个问题,方法是创建定期检查新 Docker 镜像版本的部署,当他们检测到更改时,他们会拉取新镜像并更新正确的部署。这应该由每个集群独立完成,因此没有连接到每个集群的中央进程和要维护的集群列表等。
不要求所有集群同时更新,但其想法是在没有中央管理的情况下具有最终一致性。
是否有现有工具可以执行此操作或以不同方式解决此问题?