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)。

测试连接成功

相关推荐
天若有情67317 小时前
Java Swing 实战:从零打造经典黄金矿工游戏
java·后端·游戏·黄金矿工·swin
lichong95117 小时前
Android studio 修改包名
android·java·前端·ide·android studio·大前端·大前端++
lichong95117 小时前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++
@yanyu66618 小时前
Tomcat安装与HTML响应实战
java·tomcat·html
Chen-Edward19 小时前
有了Spring为什么还有要Spring Boot?
java·spring boot·spring
jianghx102419 小时前
Docker部署ES,开启安全认证并且设置账号密码(已运行中)
安全·elasticsearch·docker·es账号密码设置
陈小桔20 小时前
idea中重新加载所有maven项目失败,但maven compile成功
java·maven
小学鸡!20 小时前
Spring Boot实现日志链路追踪
java·spring boot·后端
xiaogg367820 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
2503_9301239320 小时前
Kubernetes (四)网络插件详解:Flannel 与 Calico 的原理、数据流向与实战对比
网络·容器·kubernetes