前言:前面写过2篇文章,介绍jenkins通过slave节点部署构建并发布应用到虚拟机中,本篇介绍k8s(k3s)环境下,部署jenkins,通过流水线脚本方式构建发布应用到k8s(k3s)集群环境中,本篇文章使用的环境是k3s+rancher2.6.3

1、jenkins环境部署(k8s or k3s)

  • 环境介绍:

    192.168.231.132 单主机独立节点,装k3s用的mysql,nginx等,装有Docker

    192.168.231.133 k3s master node节点

    192.168.231.134 k3s node节点

  • 通过rancher管理仓库,添加helm chart仓库(https://charts.jenkins.io

  • 通过“应用市场”安装jenkins,名称为:jenkinsbuild

  • 创建一个ingress,访问jenkins;映射8080端口

  • 修改hosts文件,指定域名映射(jenkins.local.com)

  • 通过域名访问http://jenkins.local.com/; jenkins安装成功

  • 查看jenkins安装日志,里面有提示命令,通过命令获取admin用户的密码

    获取jenkins用户admin的密码:

    kubectl exec --namespace jenkinsdemo -it svc/jenkinsbuild -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo

    密码:yaOYPVt3yYB3AQe2F1ymzw

    可以通过命令,在k8s主机节点,映射端口,访问jenkins

    映射端口访问jenkins:

    kubectl --namespace jenkinsdemo port-forward svc/jenkinsbuild 8080:8080

  • Jenkins2.346设置中文
    Manage Jenkins -> Manage Plugins 依次点击,进入插件管理页面

    搜索 "local“ ,按照以下步骤安装 Locale 和 Localization: Chinese (Simplified) 插件

    Manage Jenkins -> Configure System 依次点击,进入系统配置页面
    在Locale -> Default Language 设置框中填入 “zh_cn” ,如果勾选了下面的复选框则表示忽略浏览器的设置,强制用户使用该语言显示,然后 点击 apply,这时再回到jenkins首页,显示语言已经修改为中文了

  • Jenkins BlueOcean插件安装

  • k8s安装jenkins方式:1.helm方式,添加jenkins仓库,更新安装;2.自己创建k8s的deployment的文件,部署jenkins;本篇不再介绍这两种方式

2、Jenkins流水线测试

  • 新建一个item,流水线项目

  • 编写流水线项目的脚本

  • 运行构建项目,报错:Waiting for next available executor

  • 管理Jenkins-》节点配置---》选择默认节点:Built-In Node

  • 配置执行者数量>0

  • 再次构建项目,成功

  • 安装docker插件,为后续流水线构建做准备

本篇先到这里,本篇介绍jenkins在k3s环境下的部署,与简单测试,下篇继续流水线构建相关的内容

jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)的更多相关文章

  1. jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(2)

    前言:上篇已介绍了jenkins在k3s环境部署,本篇继续上篇讲述流水线构建部署流程 1.从gitlab上拉取代码步骤 在jenkins中,新建一个凭证:Manage Jenkins -> Ma ...

  2. 使用Rancher Server部署本地多节点K8S集群

    当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...

  3. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

  4. 使用Kubeadm创建k8s集群之节点部署(三十一)

    前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不 ...

  5. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  6. 从0到1搭建k8s集群系列1:安装虚拟机及docker

    前言 本系列文章记录了本人学习k8s集群搭建的过程,从k8s基本组件的安装.到部署mysql服务到k8s集群.部署web项目到k8s集群以及安装可视化界面管理工具kuboard. 因为k8s的组件安装 ...

  7. [k8s]jenkins配合kubernetes插件实现k8s集群构建的持续集成

    另一个结合harbor自动构建镜像的思路: 即code+baseimage一体的方案 - 程序员将代码提交到代码仓库gitlab - 钩子触发jenkins master启动一次构建 - jenkin ...

  8. K8S(08)交付实战-交付jenkins到k8s集群

    k8s交付实战-交付jenkins到k8s集群 目录 k8s交付实战-交付jenkins到k8s集群 1 准备jenkins镜像 1.1 下载官方镜像 1.2 修改官方镜像 1.2.1 创建目录 1. ...

  9. kubernetes实战-交付dubbo服务到k8s集群(六)使用blue ocean流水线构建dubbo-consumer服务

    我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gite ...

随机推荐

  1. 简单性能测试:springboot-2.x vs actix-web-4.x benchmark

    性能测试:springboot-2.x vs actix-web-4.x benchmark 转载请注明出处 https://www.cnblogs.com/funnyzpc/p/15956465.h ...

  2. 52 条 SQL 语句性能优化策略,建议收藏

    本文会提到 52 条 SQL 语句性能优化策略. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行nul ...

  3. 使用Thread类和Runnable接口实现多线程的区别

    使用Thread类和Runnable接口实现多线程的区别 先看两种实现方式的步骤: public class ThreadDemo{ public static void main(String[] ...

  4. JavaWEB04-Maven&Mybatis

    今日内容 `Maven` Maven `Maven`概念&简介 Maven `Maven`安装配置 Maven `Maven`基本使用 Idea集成 `Idea`集成`Maven` Maven ...

  5. 简单状压dp的思考 - 最大独立集问题和最大团问题 - 贰

    接着上文 题目链接:最大独立集问题 上次说到,一种用状压DP解决任意无向图最大团问题(MCP)的方程是: 注:此处popcountmax代表按照二进制位下1的个数作为关键字比较,即选择二进制位下1的个 ...

  6. 2022-7-13 java_1 第七组 刘昀航

    @ 目录 前言 一.一些基本的指令 二.java 1.java的三个版本 2.java特点 3.运行一个java程序 三.java的数据类型 1.java基本数据类型 2.强制转换的原理 3.八种基本 ...

  7. 【C++】从设计原理来看string类

    1.一些C++基础知识 模板类string的设计属于底层,其中运用到了很多C++的编程技巧,比如模板.迭代器.友元.函数和运算符重载.内联等等,为了便于后续理解string类,这里先对涉及到的概念做个 ...

  8. HBase学习(二) 基本命令 Java api

    一.Hbase shell 1.Region信息观察 创建表指定命名空间 在创建表的时候可以选择创建到bigdata17这个namespace中,如何实现呢? 使用这种格式即可:'命名空间名称:表名' ...

  9. 零基础学Java(12)静态字段与静态方法

    静态字段与静态方法   之前我们都定义的main方法都被标记了static修饰符,那到底是什么意思?下面我们来看看 静态字段   如果将一个字段定义为static,每个类只有一个这样的字段.而对于非静 ...

  10. 字符编码和字符集和编码引出的问题_FileReader读取GBK格式的文件

    字符编码 计算机中鵆的信息都是用二进制数表示的,而我们在屏幕上看到的数字.英文.标点符号.汉子等字符都是二进制数转换之后的结果.按照某种规则,将字符存储到计算机中,称为编码.反之,将存储在计算机中的二 ...