问题描述
在使用Rancher部署了Kubernetes,并且使用Jenkins构建新的镜像并将其推送到DockerHub。用户想知道如何自动化部署新的镜像。
另外,用户还想知道是否有类似于Octopus的内置功能可以用于Kubernetes或Rancher。用户在这方面遇到了困难。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
如果你正在使用Rancher,最简单的方法是注册自定义的Rancher Catalog,并为每个要部署的堆栈/服务创建一个项目。
以下是一些步骤:
1. 在Rancher中注册自定义的Rancher Catalog。
2. 为每个要部署的堆栈/服务创建一个项目。
3. 在Jenkins中创建一个任务,调用Rancher的REST API来部署/更新堆栈/服务。
4. Rancher会拉取该服务的最新版本的Docker镜像,并根据Catalog中的Docker Compose文件进行部署。
这种方法的优点是通用性强,几乎适用于任何应用程序。Jenkins本身可以部署到Rancher环境中,代理可以在Kubernetes集群中创建。
然而,这种方法的缺点是开发团队需要遵循可靠的发布策略,以便能够使用通用构建。此外,在Rancher 2.0的Alpha版本中,存储驱动程序仍然存在问题。
方案2
另一种方法是使用Terraform和Kubernetes提供程序。
请注意,回答2没有提供详细的步骤或有用的链接。
正文完