当前位置: 首页 > article >正文

jenkins安装k8s插件发布服务

1、安装k8s插件

登录 Jenkins,系统管理→ 插件管理 → 搜索 kubernetes,选择第二个 Kubernetes,点击 安装,安装完成后重启 Jenkins 。

2、对接k8s集群、申请k8s凭据

因为 Jenkins 服务器在 kubernetes 集群之外,所以我们准备以下文件才能从外面连接到 kubernetes 集群。

登录 Jenkins,点击右上角「用户」 → 左下角「凭据」:

然后点击 System,选择全局凭据(Unrestricted)

添加凭据,类型选择 X.509 Client Certificate

Client Key:   /root/.kube/config文件中 client-key 对应的 key 文件

Client Certificate:   /root/.kube/config文件中 client-certificate 对应的 crt 或是 pem 文件

Server CA Certificate: /root/.kube/config 文件中 certificate-authority 对应的 crt 或是 pem 文件,K8S 的最高权限证书

ID:可不填写,默认会自动生成一串字符串,也可以自行设置

描述:描述下这个凭据的作用,比如这个可以写 对接 K8S 集群凭据

填写完毕,点击确定。可以看到一个凭据,后面会用到

3、配置k8s集群对接

登录 Jenkins,点击 系统管理 → Clouds,新增一个云;(注:此处需要注意一下,有的jenkins版本Clouds是在系统配置中的最后面)

Kubernetes 地址:kubernetes服务地址,也就是 apiserver 的地址,一般是master 节点 NodeIP+6443 端口

Kubernetes 服务证书 key:kube-ca.crt 文件的内容

凭据:刚才创建的 certificate 凭据

Jenkins 地址:Agent 连接 Jenkins Master 的地址

4、在jenkins节点安装kubectl命令行工具

curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.21.1/bin/linux/amd64/kubectl"

chmod u+x ./kubectl

5、创建流水线测试容器部署

创建流水线

#!/usr/bin/env groovy

library 'pipeline-libraries'

pipeline {

    agent any

    environment{

        DEVOPS_URL ='http://10.10.10.10:389/dppipeline'

        pipelineId ='c4402a6dbd28430cad9050b9109a7c89'

        instNumber ='13'

        repoName =''

        mavenSettingsId ='global-maven-settings-1'

        DEVOPS_WEB_URL =''

    }

    stages {

                stage('k8s'){

            steps{

                script{

                    def image = params.GG

                    echo "{image}"

                    withKubeConfig([credentialsId: 'cd5a993e-7763-426e-bb1a-be9548aa43e5',serverUrl: 'https://10.10.10.1:6443']) {

                       sh './kubectl get nodes'

                        sh './kubectl run hello-test --image=test/hello:1.5-01 --port=8080'

                        sh './kubectl set image deploy nginx -n devops-middleware nginx=test/hello:1.0'

                        

                    }

                }

            }

        }

    }

}

流水线创建成功

登录业务集群查看pod发布正常


http://www.kler.cn/a/284286.html

相关文章:

  • L10.【LeetCode笔记】回文链表
  • 系统架构设计师论文:大数据Lambda架构
  • Android 配置默认输入法
  • activiti5基础和springboot整合
  • 3.5【数据库系统】ER图
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数
  • 项目中Redis常见的一些问题(缓存穿透,缓存雪崩,内存耗尽等)
  • Elasticsearch - SpringBoot 查询 es 相关示例
  • Linux Debian12安装flameshot火焰截图工具
  • 线段树维护更多类型的信息
  • c++ 分布式服务器 1
  • Linux | 进程池技术解析:利用无名管道实现并发任务处理(含实现代码)
  • NTP时间服务器是什么?功能是什么?京准电钟
  • 今日(2024年8月30日)科技新闻(本周)
  • Git之2.5版本重要特性及用法实例(五十七)
  • 《机器学习》【项目】 爬虫爬取数据、数据分词、贝叶斯算法、判断分类 <完整实战详解> (全篇完结)
  • ajax学习笔记
  • 认知杂谈42
  • 【系统】Linux系统下载 ubuntu/deepin/deepin
  • JAVA毕业设计166—基于Java+Springboot+vue3的流浪宠物救助管理小程序(源代码+数据库)
  • golang学习笔记——channel使用场景
  • 【云原生】Kubernetes中如何通过Pod名称查询Docker容器ID,通过Docker容器ID查询Pod名称?
  • Kafka队列:分布式系统的消息引擎
  • 【方案合集】园区数据治理解决方案(PPT原件)
  • RK3588 系列之2—通过PC网络共享,连接开发板
  • 8款对比分析:哪款协同办公软件最适合您的团队?