我正在尝试通过使用jenkins多分支管道和“ Jenkins文件”在kubernetes集群上部署应用程序,但无法在Jenkins和Kubernetes之间建立连接。从代码方面,我不能在这里分享更多细节。
我只想知道是否可以使用Jenkins文件建立此连接(Jenkins和Kubernetes),以便我将其用于在Kubernetes上部署应用程序。
以下是可能解决我问题的技术堆栈:
Jenkins文件保存在git hub中项目的根位置。
单独的jenkins服务器,在其中创建管道以在Kubernetes上部署应用程序。
内部Kubernetes集群。
答案 0 :(得分:2)
您需要凭据才能与Kubernetes对话。当您拥有像Jenkins这样的自动化运行作业时,最好为Jenkins创建一个服务帐户look here for some documentation。创建Jenkins服务帐户后,您可以提取该帐户的身份验证令牌,并将其放入Jenkins中。我建议您做的是,由于您的Jenkins不在Kubernetes集群中,因此要在Jenkins凭证管理器中将有效的kubectl配置作为秘密文件上载。
然后,在您的Jenkins作业配置中,您可以使用该秘密。 Jenkins可以将文件放在您的作业要访问的位置,然后在您的Jenkinsfile中,可以使用“ kubectl --kubeconfig = ...”运行命令。