Jenkins通过kubernetes连接K8s集群

在jenkins网页设置下载插件:kubernetes

重启jenkins

点击Clouds 点击New Cloud

**查看****K8S集群地址:**kubectl cluster-info


输出解密后的证书内容:k8s_crt=(cat /etc/kubernetes/admin.conf \| awk -F: '/certificate authority-data/{print 2}' | tr -d ' ')
echo $k8s_crt | base64 -d

创建jenkins账户:root@k8s-master \~# kubectl create sa jenkins

创建role角色:
cat role.txt
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: pod-reader-role
rules:

  • apiGroups: ""
    resources: "pods"
    verbs: "get", "list", "watch","create","update","delete"
    root@k8s-master \~# kubectl apply -f role.txt

添加bindroling绑定:
cat rolebinding.txt
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: pod-reader-role-binding
subjects:

  • kind: ServiceAccount
    name: jenkins
    namespace: default
    roleRef:
    kind: Role
    name: pod-reader-role
    apiGroup: rbac.authorization.k8s.io
    root@k8s-master \~# kubectl apply -f rolebinding.txt

生成token:kubectl -n default create token jenkins输出的内容复制

点击连接测试,左侧显示k8s集群版本

创建目录:vim /root/k8s/pod.yml

git add pod.yml

git commit -m "pod"

git push origin master

scp .kube/config root@192.168.11.100:/root

docker exec -it -u root 085b46f26715 bash

chown jenkins:jenkins /var/config

mv /var/config /var/jenkins_home/.kube/

ls -l /var/jenkins_home/.kube/config

在宿主机直接安装:

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo

kubernetes

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/

enabled=1

gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/repodata/repomd.xml.key

EOF

yum install -y kubectl

在docker安装k8s:curl -LO "https://dl.k8s.io/release/v1.28.15/bin/linux/amd64/kubectl" && chmod +x kubectl && mv kubectl /usr/local/bin/

验证安装:kubectl version --client

创建的项目统一放在容器:/var/jenkins_home/workspace/

jenkins在主机上的放在:/var/lib/jrnkind/eotkspsve/

相关推荐
Decay__16 分钟前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
木子欢儿2 小时前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust
迪菲赫尔曼2 小时前
【基础篇 26】第一次在服务器完成训练:准备数据、断线继续、检查成果与备份
运维·服务器·人工智能·机器学习·计算机视觉
进击的荆棘2 小时前
Linux系统——线程同步与互斥
linux·运维·服务器·策略模式·同步·互斥·posix
.道阻且长.2 小时前
Linux基本开发工具:gdb和cgdb的使用
linux·运维·服务器·开发语言
vipxieliang3 小时前
可观测性与安全的融合:统一数据平台的建设实践
运维·openai·自动化运维
Android系统攻城狮3 小时前
Linux FFmpeg深度解析之av_guess_format调用流程与实战(三十六)
linux·运维·服务器·ffmpeg·ffmpeg音视频进阶
进击的荆棘3 小时前
Linux系统——线程概念与控制之线程封装
linux·运维·服务器·线程
一个天蝎座 白勺 程序猿12 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS16 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准