TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. CI/CD
  3. 正文

Jenkins分布式(基于Kubernetes的动态Agent)

2024年5月19日 1176点热度 0人点赞 0条评论

基于Kubernetes的动态Agent

安装kubernetes插件

配置对接kubernetes

kubernetes创建对应名称空间和serviceaccount

 root@k8s-master01:~# kubectl create ns jenkins
 root@k8s-master01:~# kubectl create serviceaccount jenkins-master -n jenkins
 oot@k8s-master01:~# kubectl create  rolebinding  jenkins-master --clusterrole=admin --serviceaccount=jenkins:jenkins-master  -n jenkinsrolebinding.rbac.authorization.k8s.io/jenkins-master created
 root@k8s-master01:~# kubectl get rolebinding jenkins-master -n jenkins
 NAME             ROLE                AGE
 jenkins-master   ClusterRole/admin   29s
  • 获取密钥

 root@k8s-master01:~# cat 1.yaml 
 apiVersion: v1
 kind: Pod
 metadata:
   name: mypod
   namespace: jenkins
 spec:
   containers:
   - name: demoapp
     image: ikubernetes/demoapp:v1.0
   serviceAccountName: jenkins-master
 ​
 root@k8s-master01:~# kubectl apply -f 1.yaml
 root@k8s-master01:~# kubectl get pod -n jenkins
 NAME    READY   STATUS    RESTARTS   AGE
 mypod   1/1     Running   0          28s
 `进入pod获取密钥`
 root@k8s-master01:~# kubectl exec -it mypod -n jenkins sh
 [root@mypod /]# cd /var/run/secrets/kubernetes.io/serviceaccount/
 [root@mypod /run/secrets/kubernetes.io/serviceaccount]# cat ca.crt 
 -----BEGIN CERTIFICATE-----
 MIIDBTCCAe2gAwIBAgIIZzB0Y38rWzYwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
 AxMKa3ViZXJuZXRlczAeFw0yNDA1MDUwOTMyMDZaFw0zNDA1MDMwOTM3MDZaMBUx
 EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
 AoIBAQDig8ll5If90dLw+NHfbX48c2LC6pt/W+x18okxPba1NsF5MWTF0j8GBW70
 vhwUk6Q9eBj/Z4UREViGfQ8yg+yL3Anzzo+62ocuo6SdPLul1Wa5QBrDLBUKaIl8
 xSzgKH/oGp55pSDXAQX1QOhx6ylXvqd+BGMnmSupDQm8flpOjsHE12GtkDJ8/3MP
 Wdm1311kuE68ifDO2SfHHBhOPOWz3H04CqoumRV0ra6jahoyZ6/elVUILILuEON3
 7bD4KRGS3VLIb5WElHy92sTWml6BzPC/xDCckbmcP7xWg0UgFY8ovC16yW9qnzvE
 TMR6orPwvhbsiO6bZr3H2euRDF//AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
 BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQGGcBnl7qlwXgz7qFXBrIL5vs9xzAV
 BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQDJjgnnnsK7
 b1MYGel3CeWpEnnq5Gk1VGp1DyppHQ6LKwm7YPLo7GRzjwFspI+USd9wUwluo/nR
 C/149JI/ajwrcQdfSvMPtYCxi5gwZaCM3EIslMiZsEuDHF3h0XZbpMMlhKB0JLlp
 vCiq/aOIUtHUyBqKN4Z3vt1+EPrN9+kaRx7CVbvDcXebCymbeuPJPu7YyM15c8vB
 GpZzW54QTBh6GsLnB2CrPmQsqj+ErC9f69Iayr22yZP5yJpQB0jZZJxbtSri0yhG
 dc28LF1XWwKWOtK7Cx2bJiPcqis7vvcDrwR0kpo5oTXGNzFVVZ2Frjh1jDW32Tj5
 qZi5H8Unl18Y
 -----END CERTIFICATE-----
 [root@mypod /run/secrets/kubernetes.io/serviceaccount]# cat token && echo  
 eyJhbGciOiJSUzI1NiIsImtpZCI6Im5PWEctQWJYOWdwWmdWM05DQXdheE5ZZVI2Rk1RSVVMY01HZ09SMG9FRmcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzQ3NjQ3Njk0LCJpYXQiOjE3MTYxMTE2OTQsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJqZW5raW5zIiwicG9kIjp7Im5hbWUiOiJteXBvZCIsInVpZCI6IjY0ODY4M2U1LWNlNzUtNGIzMC05MTE0LThlN2ExMGE5NTQ1OCJ9LCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoiamVua2lucy1tYXN0ZXIiLCJ1aWQiOiJkN2U5YWY0Zi05M2Y2LTQ0ZWUtYTFmNi0wN2MzMTQ4YWVjNzgifSwid2FybmFmdGVyIjoxNzE2MTE1MzAxfSwibmJmIjoxNzE2MTExNjk0LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6amVua2luczpqZW5raW5zLW1hc3RlciJ9.PzE2Y2k0pUb5f0oSF0xxdQSN4QlgF0BsWufS2A62pW7W-Eg-THolW3dhNHfEv4zajl11e-uRdYPbsm8DXmQ2HRs_PxC4OODZuOBPWy-Pb4RfJJ4cR11_LNkGQXOfLVbv5dRJbjjlDy1_Skf_zW8uwSejXdkgnj26_a_IM-VxzVVEhgkQdWvvrCqnoCKxMwEmtQ2iB-4OZPCB0t98ugc0VRuMjBw4w2Jf_3wgu9A46SpyaaGg1PKVDL3G3iWMkp8ExpQkwr-7VZD-II6NvDJucYfggKGuMlHsAY9XsgvM2zWMc5IchqNLOYX5q3wzln_wmeQhMIAxvsPlhY4UI3Yj9Q

在Jenkins配置kubernetes信息

上面的Jenkins地址必须和Jenkins对外暴露的地址一样

上面的Jenkins通道必须在Jenkins中打开

注意:如果你是通过域名来访问Jenkins的,需要在k8s的coreDNS配置域名解析

  • 例如:

     apiVersion: v1
     data:
       Corefile: |
         .:53 {
             errors
             health {
                lameduck 5s
             }
             ready
             rewrite stop {
                 name regex (jenkins.*)\.stangj\.com  {1}.jenkins.svc.cluster.local 
                 answer name (jenkins.*)\.jenkins\.svc\.cluster\.local {1}.stangj.com
             }
             hosts {
                 192.168.139.242 jenkin.xxx  # 添加解析
                 fallthrough
             } 
             kubernetes cluster.local in-addr.arpa ip6.arpa {
                pods insecure
                fallthrough in-addr.arpa ip6.arpa
                ttl 30
             }
             prometheus :9153
             forward . /etc/resolv.conf {
                max_concurrent 1000
             }
             cache 30
             loop
             reload
             loadbalance
         }
     kind: ConfigMap
     metadata:
       name: coredns
       namespace: kube-system

添加pod模板

运行测试

如上图,k8s的动态agent成功,如果需要自定义镜像agent,如下配置即可:

标签: 暂无
最后更新:2024年5月19日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 基于Kubernetes的动态Agent

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号