(干货)Jenkins使用kubernetes插件连接k8s的认证方式

#Kubernetes插件简介

Kubernetes 插件的目的是能够使用 Kubernetes 配合,实现动态配置 Jenkins 代理(使用 Kubernetes 调度机制来优化负载),在执行 Jenkins Job 构建时,Jenkins Master 会在 kubernetes 中创建一个 Slave Pod 代理来执行任务。

该 Slave Pod 中可以包含多种镜像,例如需要 Maven 编译可以使用 Maven 镜像执行任务。使用 NPM编译则可以使用 NPM镜像。操作 Kubernetes 可以使用 Kubectl 插件镜像。

所有 Job 中所需要的环境及其依赖都交由镜像提供,而不需要手动搭配这些环境。在 Slave Pod 执行完 Job 任务后,该Slave Pod将会自动删除。所以 Kubernetes Plugin 简单用法就是,在 Kubernetes 中启动 Jenkins Slave 代理,让代理执行 Jenkins Job,执行完后释放删除 Slave 释放资源。

#步骤一:配置Kubernetes插件

注意:安装Kubernetes 和git,pipeline 安装这三个插件,在jenkins服务器上面安装maven和docker环境

首先,我们需要在Jenkins中安装Kubernetes插件,用于连接和操作Kubernetes集群。

  1. 在Jenkins控制台中,点击"Manage Jenkins" -> "Manage Plugins" -> "Available"。
  2. 搜索"Kubernetes"插件,勾选并点击"Install without restart"进行安装。

#步骤二:创建Kubernetes的Service Account

在Kubernetes集群中创建一个Service Account,并为其分配权限。

  1. 使用kubectl创建Service Account:
bash 复制代码
kubectl create serviceaccount jenkins
  1. 为Service Account创建ClusterRoleBinding,授予访问权限:
bash 复制代码
kubectl create clusterrolebinding jenkins --clusterrole=cluster-admin --serviceaccount=default:jenkins

创建凭证

查看凭证

bash 复制代码
kubectl get sa,secret -n default

#步骤三:将Service Account与Jenkins绑定

最后,我们需要将Kubernetes的Service Account与Jenkins绑定,以便Jenkins可以使用该Service Account连接到Kubernetes集群。

  1. 在Jenkins控制台中,点击"Manage Jenkins" -> "Configure System"。
  2. 找到"Add a new cloud"下拉菜单,选择"Kubernetes"。
  3. 在Kubernetes Cloud Configuration中,填写Kubernetes URL、Credentials和Jenkins URL等信息。
  4. 在"Credentials"处点击"Add" -> "Kubernetes Service Account",选择刚创建的Service Account并保存配置。

系统管理------系统设置------节点管理------Configure Clouds------Add a new cloud------Kubernetes

Kubernetes 服务证书 key为:/etc/kubernetes/admin.conf 的 certificate-authority-data:


相关推荐
九皇叔叔33 分钟前
Linux Shell 函数:从定义到实战,让脚本更高效
linux·运维·chrome·shell
isyangli_blog4 小时前
(6)数据中心、台式(塔式)服务器、机架式服务器、刀片式服务器
运维·服务器
tq024 小时前
Cookie和Seeion在客户端和服务端的角色作用
运维·服务器·安全
风清再凯4 小时前
06_k8s数据持久化
云原生·容器·kubernetes
Miki Makimura4 小时前
Reactor 模式实现:从 epoll 到高并发调试
运维·服务器·c++·学习
00后程序员张5 小时前
【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
运维·服务器·数据库
❀͜͡傀儡师6 小时前
使用docker 安装dragonfly带配置文件(x86和arm)版本
运维·docker·容器
乐迪信息8 小时前
乐迪信息:智慧煤矿输送带安全如何保障?AI摄像机全天候识别
大数据·运维·人工智能·安全·自动化·视觉检测
7hhhhhhh8 小时前
驱动开发-Linux启动
运维·服务器
_BugMan9 小时前
【k8s】基础概念+下载安装教程
容器·rpc·kubernetes