本地Kubernetes环境应用程序的部署和更新过程

本地Kubernetes环境应用程序的部署和更新过程,kubernetes,deployment,microservices,updates,Kubernetes,Deployment,Microservices,Updates,我们正在开发一个基于微服务的系统,该系统使用Kubernetes进行编排。我们用例的一部分是为我们的客户提供一个内部安装,在那里他们接收到一个带有所有部署系统的映像(VMDK/QCOW2) 我们的主要挑战之一是处理此类系统的更新过程,目前的计划是使用一个API端点,该端点将接收一个加密和签名的包,该包将包含所有图像和某个更新shell脚本。API端点将启动一个异步进程,该进程将提取图像并执行shell脚本,该脚本最终将调用Kubernetes以使用新代码更新所有图像 问题是应该在哪里定义这个AP

我们正在开发一个基于微服务的系统,该系统使用Kubernetes进行编排。我们用例的一部分是为我们的客户提供一个内部安装,在那里他们接收到一个带有所有部署系统的映像(VMDK/QCOW2)

我们的主要挑战之一是处理此类系统的更新过程,目前的计划是使用一个API端点,该端点将接收一个加密和签名的包,该包将包含所有图像和某个更新shell脚本。API端点将启动一个异步进程,该进程将提取图像并执行shell脚本,该脚本最终将调用Kubernetes以使用新代码更新所有图像

问题是应该在哪里定义这个API端点

  • 处于Kubernetes之外的特殊“维护”服务中,并对其进行控制,该服务将最后更新,以防其代码也需要更新
  • 是在Kubernetes内部运行的某个微服务容器的一部分,但该映像可以是更新映像的一部分,因此任何应返回更新状态的API都可能不可用
  • 将接口导出到系统更新或系统部署向导进程的常用方法是什么


    谢谢

    客户的on-prem系统能否通过Internet访问您控制的服务?Kubernetes本机实现这一点的方法是运行一个面向公众的注册表服务器,该服务器具有某种特定于客户端的身份验证。不,如果计划公开一个API,允许客户端在密钥上从磁盘上载映像,则会将映像复制到本地存储库并应用。问题是这个端点应该驻留在哪里?