jenkins安装k8s插件发布服务

news/2024/11/14 12:41:06/

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&…