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/

相关推荐
Plastic garden1 小时前
Docker(2)数据挂载
运维·docker·容器
Plastic garden1 小时前
Docker(4) Compose
运维·docker·容器
utf8mb4安全女神1 小时前
磁盘管理(交换分区)(MGR分区)(GPT分区)
linux·运维·服务器
不会就选b1 小时前
linux之vim
linux·运维·vim
Devin~Y2 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 可观测性 + RAG/Agent(小Y翻车版)
java·spring boot·redis·spring cloud·kafka·kubernetes·mybatis
humors2212 小时前
聊聊密码为啥会“白设”
大数据·运维·服务器·网络·网络安全
xiaobobo33302 小时前
Ubuntu 26.04下编译s5pv210芯片的linux内核源码,无法进入menuconfig界面
linux·运维·ubuntu
kongba0072 小时前
双轨终端监视系统部署手册tmux + ttyd 实时 SSH 操作可视化方案
运维·ssh
難釋懷2 小时前
Nginx-Https证书配置
运维·nginx·https