Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins将管道作业部署到kubernetes_Jenkins_Kubernetes_Plugins_Yaml - Fatal编程技术网

Jenkins将管道作业部署到kubernetes

Jenkins将管道作业部署到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

我是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
策略来避免停机

您可以在Jenkins中找到许多关于部署策略的有用信息

其他有用的链接:


没有更好或最坏的方法,但有一种方法适合你的生活

您可以将所有kubernetes文件(yamls文件)保存在git存储库中,当您运行管道时,Jenkins将检索这些存储库以运行它们

我不知道为什么要在应用之前删除资源,但是如果您使用的是
kind:deployment
,则可以使用
kubectl apply
命令和
rollingUpdate
策略来避免停机

您可以在Jenkins中找到许多关于部署策略的有用信息

其他有用的链接: