如何解决Jenkins管道作业将部署到kubernetes
我对Jenkins和Kubernetes还是陌生的,我不确定这种部署到kubernetes的方法是否正确,或者也许有更好的方法可以做到这一点。 所有映像都使用Jenkins构建,然后部署到kubernetes。 Yaml文件放置在kubernetes服务器(centos 7)中。 使用jenkins管道ssh到kubernetes服务器并运行kubectl delete
sh label: '',script: 'sshpass -p PASSWORD ssh -o StrictHostKeyChecking=no USER@SERVER kubectl delete svc SERVICE || true '
接下来运行类似的代码以删除部署,然后创建部署kubectl create filename.yaml。 刚开始时还可以,但是现在我注意到由于要删除和重新创建服务和部署,因此出现了停机时间。 我应该开始使用一些插件来使其变得更好和更好吗?是否应将yaml文件放置在其他位置,所以如果我需要做一些更改,就不需要连接到Kubernetes Centos并在那里进行更改?也许有人可以给我一些链接来阅读或有一些好的做法吗? 预先感谢!
解决方法
没有更好或最坏的方法,但是有一种方法适合您。
您可以将所有kubernetes文件(yamls文件)保留在git存储库中,并且在运行管道时它们会被Jenkins检索以运行这些存储库。
我不确定为什么要在应用之前删除资源,但是如果您使用的是kind: deployment
,则可以将命令kubectl apply
与rollingUpdate
策略一起使用,以避免停机。 / p>
Here,您可以找到有关Jenkins部署策略的许多有用信息。
其他有用的链接:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。