jenkins安装k8s插件发布服务

news/2024/9/20 8:58:32/ 标签: jenkins, kubernetes, java

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.ppmy.cn/news/1518891.html

相关文章

oracle11g常用基本字典和动态性能字典

文章目录 Oracle11g的动态性能视图1、动态性能视图:2、常用的Oracle 11g动态性能视图:V$SESSION:V$SQL:V$SQL_PLAN:V$SYSSTAT:V$SQLSTAT:V$SESSION_EVENT:3、基本数据字典4、动态性能…

【iOS】Masonry学习

Masonry学习 前言NSLayoutConstraintMasonry学习mas_equalTo和equalToMasonry的优先级Masorny的其他写法 Masonry的使用练习 前言 Masonry是一个轻量级的布局框架。通过链式调用的方式来描述布局,是排版代码更加简洁易读。masonry支持iOS和Mac OS X。相比原生的NSL…

Golang 开发使用 gorm 时打印 SQL 语句

目录 1. 使用 Debug 方法2. 全局设置日志级别3. 自定义 Logger4. 总结 参考 gorm 文档:https://gorm.io/zh_CN/docs/logger.html Gorm 有一个 默认 logger 实现,默认情况下,它会打印慢 SQL 和错误。如果想要全部或部分打印 SQL 的话可以通过设…

spring security 相关过滤器

Spring Security 提供了 30 多个过滤器。默认情况下Spring Boot 在对 SpringSecurity 进入自动化配置时,会创建一个名为 SpringSecurityFilerChain 的过滤器,并注入到Spring容器中,这个过滤器将负责所有的安全管理,包括用户认证、…

EmguCV学习笔记 VB.Net 9.1 VideoCapture类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

代理模式 JAVA

文章目录 涉及的JAVA语言特性接口和转型接口(Interface)接口的特点:示例代码: 转型(类型转换)接口与转型的关系多态与接口的结合 总结 UML代理模型动态代理模式Springboot项目中遇到的代理模式 涉及的JAVA语…

Unity编辑器开发 Immediate Mode GUI (IMGUI)

1. 简介: IMGUI是代码驱动gui系统,由 OnGUI 函数驱动: void OnGUI() {if (GUILayout.Button("Press Me")){ Debug.Log("Hello!");} } IMGUI常用于: 创建 in-game debugging displays and tools&#xff1b…

PostgreSQL主从同步介绍

PostgreSQL主从同步介绍 PostgreSQL 主从同步(也称为流复制)的原理是基于基于日志的复制机制(Write-Ahead Logging, WAL)进行的。这种机制使得数据在主数据库(Primary)和从数据库(Standby&…

vue3 使用vue-masonry加载更多,重新渲染

在使用 van-list做上拉加载更多,加载下一页的时候,会出现瀑布图重叠,原因是布局没有重新更新,所以需要 调用 vue-masonry更新布局的方法。 看了源码才知道可以这样用,api都没写,隐藏太深了。。。 vue3中通…

裸机:LCD

什么是LCD? LCD,全称为Liquid Crystal Display,即液晶显示屏,是一种利用液晶物质的光学特性,通过控制电场来改变光的透过性,从而实现图像显示的技术。以下是关于LCD的详细解释: 一、LCD的基本…

模糊视频一键变清晰,从此告别模糊不清的画质

话不多说,咱们直入主题。你是不是有比较模糊的视频,比如老视频,老电影和监控视频,对了,还有日本土特产(懂的都懂),模糊的视频看起是不是很不舒服,长期久了还会影响视力影…

如何共享EC2 AMI给其他AWS账户

在本篇文章中,我们将详细介绍如何通过Amazon Web Services (AWS) 的Elastic Compute Cloud (EC2) 平台,将自定义AMI(Amazon Machine Image)共享给其他AWS账户。接下来,我们九河云将一步步引导您完成整个过程&#xff0…

PHP伪协议总结

目录 1、file://协议 什么是File: 如何使用File: PHP.ini: 2、php://协议 条件: 2.1php://filter 2.2php://input 3、zip://, bzip2://, zlib://协议 PHP.ini: 3.1zip://协议 使用方法: 3.2bz…

计算多图的等价无向图的邻接链表表示

计算多图的等价无向图的邻接链表表示 摘要:一、引言二、算法思路三、伪代码实现四、C代码实现五、算法分析六、结论摘要: 在图论中,多图(Multigraph)是一种允许边重复以及存在自循环边(即一个顶点到其自身的边)的图。给定一个多图的邻接链表表示,本文旨在探讨如何构造…

【王树森】RNN模型与NLP应用(8/9):Attention(个人向笔记)

前言 基于RNN的Seq2Seq模型无法记住长序列Attentnion机制可以大幅度提升Seq2Seq模型 Seq2Seq Model with Attention Attention可以让句子在逐步变长的时候不忘记前面的输入信息Attention还可以告诉Decoder应该关注哪一个状态优点:Attention可以大幅度提高准确率缺…

【栈】| 力扣高频题: 基本计算器二

🎗️ 主页:小夜时雨 🎗️专栏:算法题 🎗️如何活着,是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: https://leetcode.cn/problems/basic-calculator-ii/description/ (可点击) 本道题是栈…

责任链模式-升级版

责任链模式 前言一、CypherCorrectionHandler 提供入口二、AbstractCorrectionHandler 抽象类三、check 实现类第一个检查第二个检查 四、调用总结 前言 就是记录下,方便自己工作用。 含责任链顺序加载,以及抽象调度链路。 一、CypherCorrectionHandle…

深度学习(11)---Swin Transformer详解

文章目录 一、引言二、结构三、Patch Merging操作四、W-MSA详解五、SW-MSA详解 一、引言 1. 在原论文中,首先在开头作者就分析,当前的Transformer从NLP迁移到CV上没有大放异彩主要原因集中在:  (1) 两个领域涉及的规模不同,NLP的…

uniapp实现区域滚动、下拉刷新、上滑滚动加载更多

背景&#xff1a; 在uniapp框架中&#xff0c;有两种实现办法。第1种&#xff0c;是首先在page.json中配置页面&#xff0c;然后使用页面的生命周期函数&#xff1b;第2种&#xff0c;使用<scroll-view>组件&#xff0c;然后配置组件的相关参数&#xff0c;包括但不限于&…

Java面试题:equals和==的区别与联系分别是什么?

1. 运算符 是一个运算符&#xff0c;其用于比较两个变量的内存地址是否相等&#xff1b;对于基本数据类型(int、char、Boolean等)&#xff0c;比较的是它们的值&#xff1b;而对于引用数据类型的话(String、Object、ArrayList等)&#xff0c;比较的是引用&#xff0c;也就是对…