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

测试连接成功

相关推荐
handsomestWei1 小时前
docker配置固定ip解决nginx代理容器名称dns缓存不更新问题
tcp/ip·nginx·docker·dns
Goober Airy1 小时前
PHP:无框架、不配置服务器,仅利用URL规则设置路由
android·java·服务器·php
八股文领域大手子2 小时前
责任链模式+策略模式在项目中的实践
java·数据库·redis·sql·mysql
亥时科技3 小时前
园区环境数字化管理系统(源码+文档+讲解+演示)
java·数据库·开源·源代码管理
Forget the Dream4 小时前
设计模式之中介者模式
java·c++·设计模式·中介者模式
论迹5 小时前
【JavaEE】-- 多线程(初阶)4
java·开发语言·java-ee
程序猿大波6 小时前
基于java,SpringBoot和Vue的医院药房药品管理系统设计
java·vue.js·spring boot
微微%7 小时前
WebService的理解和简单使用
xml·java·webservice·soap
_TokaiTeio8 小时前
JVM面试题100
java·开发语言·jvm·后端·虚拟机
计算机-秋大田8 小时前
基于Spring Boot的健美操评分管理系统设计与实现(LW+源码+讲解)
java·spring boot·后端