Jenkins将管道作业部署到kubernetes
我是Jenkins和Kubernetes的新手,我不确定这种部署到Kubernetes的方法是否正确,或者是否有更好的方法。 所有映像都是使用Jenkins构建的,然后部署到kubernetes。Yaml文件放在kubernetes服务器(centos 7)中。 使用jenkins管道ssh连接到kubernetes服务器并运行kubectl deleteJenkins将管道作业部署到kubernetes,jenkins,kubernetes,plugins,yaml,Jenkins,Kubernetes,Plugins,Yaml,我是Jenkins和Kubernetes的新手,我不确定这种部署到Kubernetes的方法是否正确,或者是否有更好的方法。 所有映像都是使用Jenkins构建的,然后部署到kubernetes。Yaml文件放在kubernetes服务器(centos 7)中。 使用jenkins管道ssh连接到kubernetes服务器并运行kubectl delete sh label: '', script: 'sshpass -p PASSWORD ssh -o StrictHostKeyCheckin
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
策略来避免停机
您可以在Jenkins中找到许多关于部署策略的有用信息
其他有用的链接:
没有更好或最坏的方法,但有一种方法适合你的生活 您可以将所有kubernetes文件(yamls文件)保存在git存储库中,当您运行管道时,Jenkins将检索这些存储库以运行它们 我不知道为什么要在应用之前删除资源,但是如果您使用的是
kind:deployment
,则可以使用kubectl apply
命令和rollingUpdate
策略来避免停机
您可以在Jenkins中找到许多关于部署策略的有用信息
其他有用的链接: