如何将外部Jenkins Master连接到GKE并使用Kubernetes插件

98次阅读
没有评论

问题描述

在使用Kubernetes插件时,遇到了一些配置问题。他在文档中找不到关于如何配置外部Jenkins主节点的详细步骤。他已经安装了Kubernetes插件,并尝试提供一些集群信息,但是在这一步他迷失了方向。
他已经从kubectl config view --raw命令的输出中获取了名称,并且从相同输出的服务器字段中设置了Kubernetes URL的IP地址。
对于Kubernetes服务器证书密钥,他最初尝试按照上面的模式获取证书颁发机构数据字段的值,但是出现了”Error testing connection”的错误。然后他尝试使用echo "the field value here" | base64 -d > ca.crt命令将该值转换为证书文件,但是仍然失败。他还尝试从GKE的UI界面中获取集群证书信息,但是测试连接时仍然出现相同的错误。
他无法继续进行下去,而且他觉得接下来的步骤都很不清楚,所以他希望能得到一个逐步的建议或者他可能遗漏的任何指南。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

步骤1:配置Kubernetes URL

首先,您需要配置Kubernetes URL,这是Kubernetes主节点的API端点。如果启用了HTTPS,请使用HTTPS URL。

步骤2:配置Kubernetes服务器证书密钥

如果您有Kubernetes集群的CA证书,您可以将其添加以实现安全连接。您可以从Pod位置/var/run/secrets/kubernetes.io/serviceaccount/ca.crt获取证书。如果您没有证书,您可以启用“禁用HTTPS证书检查”选项。

步骤3:配置凭据

为了使Jenkins能够与Kubernetes集群通信,您需要一个具有在devops-tools命名空间中部署Pod权限的服务帐户令牌。
您可以参考以下链接了解如何配置Kubernetes插件以连接外部Jenkins主节点:
https://devopscube.com/jenkins-build-agents-kubernetes/

其他解决方案

如果您希望使用Helm来安装Jenkins并安装Kubernetes插件,您可以参考以下链接:
https://github.com/helm/charts/tree/master/stable/jenkins

正文完