k8s更新证书后Jenkins的配置变更
  GdS7BEfTyHLK 2023年11月28日 17 0

k8s 证书更新

如果底层容器运行时使用的是Docker,可参考kubesphere证书更新。如果容器运行时是Containerd,也可参考如上文章,区别是重启容器的命令。如是多节点master,也可以依次重启各个master节点。

配置 k8s 集群对接

主要更新三个内容:连接k8s的凭据、k8s config、pod模板基础镜像(其实更新的是config)。

新建 k8s 凭据

登录 Jenkins,点击右上角「用户」 → 左下角「凭据」:

然后点击 Jenkins,选择全局凭据(Unrestricted)

添加凭据,类型选择X.509 Client Certificate,下面证书文件需要使用Base64 编码/解码:

  • Client Key: .kube/config文件中client-key-data对应的 key 文件

  • Client Certificate: .kube/config文件中client-certificate-data对应的 crt 或是 pem 文件

  • Server CA Certificate:.kube/config 文件中certificate-authority-data对应的 crt 或是 pem 文件,K8S 的最高权限证书

  • ID:可不填写,默认会自动生成一串字符串,也可以自行设置

  • 描述:描述下这个凭据的作用,比如这个可以写 对接 K8S 集群凭据

填写完毕,点击确定。

更新 k8s 集群的对接配置

登录 Jenkins,点击 系统管理 → 系统配置 → 滑动到页面最下面:

点击 a separate configuration page:

  • Kubernetes 地址:kubernetes服务地址,也就是 apiserver 的地址,一般是master 节点 NodeIP+6443 端口

  • Kubernetes 服务证书 key:/etc/kubernetes/pki/ca.crt文件的内容

  • 凭据:刚才创建的 certificate 凭据

  • Jenkins 地址:Agent 连接 Jenkins Master 的地址

其他都使用默认配置,点击连接测试,连接测试成功,点击 Save 存储。

更新 K8S pod template 配置

更新pod详情中:容器列表 --> Docker 镜像。如果不更新则报错:HTTP 401 Unauthorized

这里提供一个更新Dockerfile模板:

FROM docker.test.net/ops/jenkins-agent:v5.0-1-jdk11
MAINTAINER wtf <wutf@test.net>
COPY config /home/jenkins/.kube

构建镜像:

docker build -t docker.test.net/ops/jenkins-agent:v5.0-2-jdk11 .

上传镜像到harbor仓库:

docker push docker.test.net/ops/jenkins-agent:v5.0-2-jdk11

更新 Jenkins 容器配置

jenkins 数据目录已经持久化,更新路径:/var/jenkins_home/.kube/config中 config 文件。

如果不更新则代码提交,触发流水发布,但是k8s内并没有拉起一个jenkins agent pod

参考文档

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
  cO5zyEmh8RH6   2023年12月09日   16   0   0 k8s证书
  wwLZeziuqjLR   2023年12月11日   15   0   0 Dockercentos
  MCWYWqSAMsot   2023年12月11日   16   0   0 Docker
  DnoStTHsc0vp   2023年12月11日   12   0   0 Docker