gpt4 book ai didi

docker - Kubernetes - Jenkins 集成

转载 作者:行者123 更新时间:2023-12-01 09:14:14 27 4
gpt4 key购买 nike

我已经使用 kubeadm Kubernetes 1.9 RBAC 集群进行引导,并且我已经在基于 jenkins/jenkins:lts 的 POD Jenkins 中启动。我想试试 https://github.com/jenkinsci/kubernetes-plugin .
我已经根据https://gist.github.com/lachie83/17c1fff4eb58cf75c5fb11a4957a64d2中的提议创建了一个serviceaccount

> kubectl -n dev-infra create sa jenkins
> kubectl create clusterrolebinding jenkins --clusterrole cluster-admin --serviceaccount=dev-infra:jenkins
> kubectl -n dev-infra get sa jenkins -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: 2018-02-16T12:06:26Z
name: jenkins
namespace: dev-infra
resourceVersion: "1295580"
selfLink: /api/v1/namespaces/dev-infra/serviceaccounts/jenkins
uid: d040041c-1311-11e8-a4f8-005056039a14
secrets:
- name: jenkins-token-vmt79

> kubectl -n dev-infra get secret jenkins-token-vmt79 -o yaml
apiVersion: v1
data:
ca.crt: LS0tL...0tLQo=
namespace: ZGV2LWluZnJh
token: ZXlK...tdVE=
kind: Secret
metadata:
annotations:
kubernetes.io/service-account.name: jenkins
kubernetes.io/service-account.uid: d040041c-1311-11e8-a4f8-005056039a14
creationTimestamp: 2018-02-16T12:06:26Z
name: jenkins-token-vmt79
namespace: dev-infra
resourceVersion: "1295579"
selfLink: /api/v1/namespaces/dev-infra/secrets/jenkins-token-vmt79
uid: d041fa6c-1311-11e8-a4f8-005056039a14
type: kubernetes.io/service-account-token

之后,我转到 Manage Jenkins -> Configure System -> Cloud -> Kubernetes 并将 Kubernetes URL 设置为我也在 kubectl KUBECONFIG 服务器中使用的集群 API:url:port。

当我点击测试连接时,我收到“错误测试连接 https://url:port:执行失败:GET at: https://url:port/api/v1/namespaces/dev-infra/pods。消息:禁止!配置的服务帐户无权访问。服务帐户可能已被撤销。 pod 被禁止:用户“system:serviceaccount:dev-infra:default”无法列出命名空间“dev-infra”中的 pod。

我不想给 dev-infra:default 用户一个集群管理员角色,我想使用我创建的 jenkins sa。我无法理解如何在 Jenkins 中配置凭据。当我在 https://github.com/jenkinsci/kubernetes-plugin/blob/master/configuration.png 上点击添加凭据时我得到
<select class="setting-input dropdownList">
<option value="0">Username with password</option>
<option value="1">Docker Host Certificate Authentication</option>
<option value="2">Kubernetes Service Account</option>
<option value="3">OpenShift OAuth token</option>
<option value="4">OpenShift Username and Password</option>
<option value="5">SSH Username with private key</option>
<option value="6">Secret file</option>
<option value="7">Secret text</option>
<option value="8">Certificate</option></select>

我找不到如何配置 Jenkins Kubernetes Cloud 连接器以使用我的 Jenkins 对服务帐户 jenkins 进行身份验证的明确示例。
你能帮我找到分步指南 - 我需要什么样的凭据?

问候,
帕维尔

最佳答案

最佳实践是使用 serviceaccount 启动您的 Jenkins 主 pod。您创建,而不是在 Jenkins 中创建凭据

See example yaml

关于docker - Kubernetes - Jenkins 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827345/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com