jenkins配置连接k8s集群

jenkins配置连接k8s集群

前言

我这边jenkins是在一个服务器里面,k8s集群在其他服务器,实现连接

首先jenkins下载有k8s插件

进入配置页面

获取k8s-api-server地址

对应k8s服务器执行

bash 复制代码
kubectl config view --minify -o jsonpath='{.clusters[0].cluster}'

生成Service Account Token(在k8s中执行)

创建一个新的 Service Account

YAML 复制代码
apiVersion: v1
kind: ServiceAccount
metadata:
  name: jenkins-sa
  namespace: kube-system
复制代码
kubectl apply -f service-account.yaml

绑定角色

yaml 复制代码
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: jenkins-admin
subjects:
- kind: ServiceAccount
  name: jenkins-sa
  namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
yaml 复制代码
kubectl apply -f role-binding.yaml

获取 Service Account Token

执行三条命令

sql 复制代码
SECRET_NAME=$(kubectl get serviceaccount jenkins-sa -n kube-system -o jsonpath="{.secrets[0].name}")
TOKEN=$(kubectl get secret $SECRET_NAME -n kube-system -o jsonpath="{.data.token}" | base64 --decode)
echo $TOKEN

复制生成的Token

添加凭证

在 Credentials 字段中点击 Add -> Jenkins,然后选择 Secret text

将之前获取的 TOKEN 粘贴到 Secret 字段中,并给它一个描述性的 ID(例如 jenkins-sa-token)。

测试连接成功

相关推荐
competes6 分钟前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
2501_913061341 小时前
网络原理知识
java·网络
希望永不加班1 小时前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
flushmeteor2 小时前
java的动态代理和字节码生成技术
java·动态代理·代理·字节码生成
eggwyw2 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
0xDevNull2 小时前
MySQL 别名(Alias)指南:从入门到避坑
java·数据库·sql
lv__pf2 小时前
springboot原理
java·spring boot·后端
java1234_小锋2 小时前
Java高频面试题:什么是可重入锁?
java·开发语言
筱顾大牛2 小时前
使用docker部署到服务器
docker·部署
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【22】Agent 并行工具执行与超时 / 协作式取消实战
java·人工智能·spring