Jenkins-zookeeper-docker-xxljob-rancher

文章目录

  • Jenkins
    • 实战
      • 1 新建任务需要的配置pipeline
  • Zookeeper
    • 基础
  • Docker
    • 基础
    • 实操
      • windows11 docker mysql
  • Dockerhouse
  • Dockerhub
  • xxl-Job
    • 基础
    • 实战
  • Rancher
    • 基础
      • 思考
    • 实战
      • 1 Rancher的某个namespace的scale为0

Jenkins

实战

1 新建任务需要的配置pipeline

该代码是Jenkinsfile,用于定义一个持续集成/持续交付(CI/CD)的流水线;

pipeline {agent any// 表示该流水线可以在任何可用的Jenkins节点上执行;// 定义变量// JOB_NAME  任务名称,对应容器服务名,例如:market_ods/mms_api// RegistryUrl 在全局环境变量中配置// ImageVer 容器版本,格式yyyyMMddHHmm,插件 Timestamp// // 创建访问Git全局凭据, credentialsId: 'gitpw-3789060f-ecb5-468e-c161-32076710d930'// 创建访问私有镜像仓库全局凭据, credentialsId: 'imagepw-8a88451c-0565-6f0d-694c-fa20344a3179'environment { // 定义环境变量PLAT="as"    // 定义平台PROJECT="jenkins_xxx"    // 定义项目程序PROJECT_GIT="project_xxx"    // 定义项目程序GIT_URL="http://gitlab地址/${PROJECT_GIT}.git" // git仓库链接JAVA_HOME="/usr/local/jdk1.8.0_361"MAVEN_HOME="/usr/local/maven3.6"PATH="$MAVEN_HOME/bin:$PATH"}options{ // 插件:Build Timestamp timestamps() // 用于在构建日志中添加时间戳;}parameters {// 插件:Git Parameter  http://www.manongjc.com/detail/63-ncmakycccpkqxsr.htmlgitParameter (name: 'Git_Branch', defaultValue: 'master', type: 'PT_BRANCH', useRepository: env.GIT_URL, description: '请选择项目GIT分支', branchFilter: 'origin/(.*)', branch:'', quickFilterEnabled: true, selectedValue: 'TOP', sortMode: 'NONE', tagFilter: '*')// 构建Git_Rranch,用户可以在构建时选择不同的Git分支。} stages { // 定义流水线的各个阶段;stage('脚本执行环境'){steps {sh """echo "$JAVA_HOME"java --versionmvn --versiongit versiondocker -v"""script {buildName "#${BUILD_NUMBER} ${RegistryUrl}/${PLAT}/${PROJECT}:${ImageVer}"}}}// 删除当前目录(${WORKSPACE})下内容,通常用在构建完毕之后清空工作空间stage('Delete Workspace') { steps {echo "清理工作目录: ${WORKSPACE}"deleteDir()}}// 拉取代码 http://www.manongjc.com/detail/63-ncmakycccpkqxsr.htmlstage('Checkout') {      steps {checkout([$class: 'GitSCM', branches: [[name: "${params.Git_Branch}"]],userRemoteConfigs: [[credentialsId: 'gitpw-3789060f-ecb5-468e-c161-32076710d930', url: env.GIT_URL]],submoduleCfg: [], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]]])}}// mvn打包stage('Packaging project') {        steps {script {sh 'mvn clean install'}}}//构建并推送镜像stage('Build & Push Image to nexus') {steps {script {// 第一个参数是私有仓库地址,注意要带http(s),第二个参数是账号密码登录凭证,需要提前创建docker.withRegistry("https://${RegistryUrl}", 'imagepw-8a88451c-0565-6f0d-694c-fa20344a3179') {def image = docker.build("${RegistryUrl}/${PLAT}/${PROJECT}:${ImageVer}", "${WORKSPACE}")image.push()}}}}stage('Deploy to the Target server') {steps {echo '部署到目标服务器'withCredentials([file(credentialsId: 'k8s_config', variable: 'KUBECONFIG')]) {sh 'kubectl set image deployment/${PROJECT} ${PROJECT}=${RegistryUrl}/${PLAT}/${PROJECT}:${ImageVer} -ndev'}}}}
}

Zookeeper

基础

是什么?

Leaf分布式ID生成系统在Spring Boot或类似的微服务架构中的集成配置。Leaf是由滴滴出行开源的一套分布式ID生成解决方案,旨在为分布式系统提供高效、高可用的ID生成服务。

配置内容?

  leaf:// Leaf ID生成系统的顶级配置snowflake:// Leaf提供了两种ID生成模式,一种是基于Twitter Snowflake算法的snowflake模式,另一种是基于数据库的segment模式。这里的配置是针对Snowflake模式的。enabled: true// 启用Snowflake模式的ID生成器name: associated_api// Snowflake worker的名称,用于标识不同的业务或者服务。在多服务共用一套Leaf集群的情况下,通过名称区分不同来源的ID请求,确保ID的唯一性和可追踪性。zkAddress: 127.0.0.1:2181// 配置了Zookeeper的地址。Leaf的Snowflake模式依赖于Zookeeper作为服务发现和分布式协调工具,用来管理worker的分配与状态同步。

Docker

基础

实操

windows11 docker mysql

参考博客1:https://blog.csdn.net/nmajsjpy/article/details/130183104
参考博客2:https://blog.csdn.net/joeyoj/article/details/136427362

Dockerhouse

Dockerhub

xxl-Job

基础

@XxlJob 以声明的形式定义和管理任务,无需编写复杂的调度逻辑,简化了定时任务和分布式任务的开发过程;

实战

使用1:

@XxlJob(value = "shardFetchKeysIntoCache") 
// 理解:
注解@XxlJob,用于标识一个任务处理方法;
value属性,给这个任务命名;

使用2:

int shardIndex = XxlJobHelper.getShardIndex();
int shardTotal = XxlJobHelper.getShardTotal(); 
// 理解:
XxlJobHelper.getShardIndex() --》当前执行任务的分片索引;  
XxlJobHelper.getShardTotal() --》当前总的分片数量;XxlJob是一个开源的分布式任务调度平台,常用于Java应用中实现定时任务的调度和管理。
XxlJobHelper类,应该是任务调度框架中的辅助类,用于处理任务分片。

Rancher

基础

思考

  1. Rancher与Kubernetes之间关系?
RancherKubernetes都是容器编排和管理的强大工具,但它们在设计理念和实际应用上有一些区别。
Rancher着重于用户体验,而Kubernetes则更多被视为一个可扩展的平台。

实战

1 Rancher的某个namespace的scale为0

在这里插入图片描述
在Rancher中,scale通常指的是Deployment、ReplicaSet或者StatefulSet,这类工作负载资源的副本数量;
某个namespace的scale=0,表示这个namespace下的某类工作负载的副本数量被设置为0;
这将产生如下情况:

资源不运行任何副本:没有Pod实例正在运行,不会对外提供服务;
节省资源:没有运行Pod,集群的计算和内存资源可以被释放或用于其他任务;
停止服务:任何试图想访问该服务的请求都将无法得到响应;
更新和维护:scale=0 可以进行应用更新或维护的一种策略,以确保在更改过程中没有活跃流量;

名词概念解释:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/379459.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux HOOK机制与Netfilter HOOK

一. 什么是HOOK(钩子) 在计算机中,基本所有的软件程序都可以通过hook方式进行行为拦截,hook方式就是改变原始的执行流。 二. Linux常见的HOOK方式 1、修改函数指针。 2、用户态动态库拦截。 ①利用环境变量LD_PRELOAD和预装载机…

Linux系统及常用指令

目录 1、什么是Linux系统 2、为什么要用Linux系统 3、Linux系统的种类 4、如何安装Linux系统 5、常见的适配器种类 6、学习第一个Linux指令 7、安装ssh客户端软件 8、Linux系统的目录结构 9、Linux的常用命令 9.1 目录切换命令 9.2 查看目录下的内容 9.3 查看当前…

android13 frameworks里面常用的保存信息或者版本判断的方法

总纲 android13 rom 开发总纲说明 目录 1.前言 2. 数据库 2.1 代码读取用法参考 3.prop 属性配置 3.1 property的key值有哪些特点 4.区别 5. 其他数据存储 6.彩蛋 1.前言 frameworks 不像我们一般开发app那样,很多应用保存的方法都无法使用。这里记录我们系统rom开…

BUUCTF逆向wp [MRCTF2020]Transform

第一步 查壳。该题为64位。 第二步 进入主函数,跟进dword_40F040,它应该与关键字符串有关 分析一下: 初始化和输入 sub_402230(argc, argv, envp); 这行可能是一个初始化函数,用于设置程序环境或处理命令行参数。具体功能不明&#xff0c…

studio编译报错java.lang.NullPointerException

安卓studio编译报错,这个是一个新建的项目就报错,原因是 implementation androidx.appcompat:appcompat:1.7.0版本太高,修改后版本 implementation androidx.appcompat:appcompat:1.4.0, 编译又报错 18 issues were found wh…

图片如何去水印,PS 图片去水印的几种常见方法

在数字图像的世界里,水印常常被用来标识版权或防止未经授权的使用,但有时它们却成为了美观的障碍。无论是出于个人偏好还是专业需求,去除图片上的水印已经成为一项常见的任务。 Adobe Photoshop 作为行业标准的图像编辑软件,提供…

GPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建

原文链接:GPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608565&idx3&snd4e9d447efd82e8dd8192f7573886dab&chksmfa826912cdf5e00414e01626b52bab83a96199a6bf69cbbef7f7fe…

docker 安装并测试(Ubuntu下)

1. 确认安装环境(操作系统版本和 CPU 架构) 2. 如果有旧版本的 docker 需要进行卸载 使用 docker 命令检查是否已经安装了 docker 如果 docker 已经安装,使用以下命令卸载: apt-get purge docker-ce docker-ce-cli containerd…

C#医学影像管理系统源码(VS2013)

目录 一、概述 二、系统功能 系统维护 工作站 三、功能介绍 影像采集 统计模块 专业阅片 采集诊断报告 报告管理 一、概述 医学影像存储与传输系统(PACS)是一种集成了影像存储、传输、管理和诊断功能的系统。它基于数字化成像技术、计算机技术和…

最新开源的PDF版面分析工具 PDF-Extract-Kit

最近有一个新开源的版面分析的模型,做PDF版面分析效果非常好。而且对公式的解析效果比较好。虽然现在star数量不高,但是绝对会涨起来的。我们调研对比过很多开源的工具,效果都强差人意,这个是我看到的最满意的一个。甚至要比我们生…

【面试题】数据结构:堆排序的排序思想?

堆排序的排序思想? 堆排序是一种高效的排序算法,其基本思想是利用堆这种数据结构来实现排序。堆是一种特殊的完全二叉树,通常用数组来表示。堆排序的基本步骤如下: 1. 构建初始堆: 将待排序的数组转换成一个最大堆&a…

VS code配置docker远程连接

一 前置条件 1、本地已安装docker 2、服务端docker已配置Docker配置远程连接 二 VScode安装docker扩展 三 执行docker命令 1、切换到远程docker节点 docker context create remote-docker --docker "hosthttp://192.168.6.9:2375" 2、使用远程节点 docker cont…

Xcode进行真机测试时总是断连,如何解决?

嗨。大家好,我是兰若姐姐。最近我在用真机进行app自动化测试的时候,经常会遇到xcode和手机断连,每次断连之后需要重新连接,每次断开都会出现以下截图的报错 当这种情况出现时,之前执行的用例就相当于白执行了&#xff…

分布式搜索引擎ES-Elasticsearch进阶

1.head与postman基于索引的操作 引入概念: 集群健康: green 所有的主分片和副本分片都正常运行。你的集群是100%可用 yellow 所有的主分片都正常运行,但不是所有的副本分片都正常运行。 red 有主分片没能正常运行。 查询es集群健康状态&…

双向链表专题

目录 1. 双向链表的结构 2. 双向链表的实现 2.1 双向链表的初始化 2.2 双向链表的打印 2.3 双向链表的尾插 2.4 双向链表的头插 2.5 双向链表的判空函数 2.6 双向链表的尾删 2.7 双向链表的头删 2.8 双向链表的查找 2.9 在pos位置之后插入节点 2.10 删除指定位置…

云备份服务端

文件使用工具和json序列化反序列化工具 //文件和json工具类的设计实现 #ifndef __UTIL__ #define __UTIL__ #include<iostream> #include<fstream> #include<string> #include <vector> #include<sys/stat.h> #include"bundle.h" #inc…

【C++ | 抽象类】纯虚函数 和 抽象基类,为什么需要抽象基类

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

ETL数据集成丨通过ETLCloud工具,将Oracle数据实时同步至Doris中

ETLCloud是一个全面的数据集成平台&#xff0c;专注于解决大数据量和高合规要求环境下的数据集成需求。采用先进的技术架构&#xff0c;如微服务和全Web可视化的集成设计&#xff0c;为用户提供了一站式的数据处理解决方案。 主要特点和功能包括&#xff1a; 实时数据处理&…

拖拽上传(预览图片)

需求 点击上传图片&#xff0c;或直接拖拽图片到红色方框里面也可上传图片&#xff0c;上传后预览图片 效果 实现 <!DOCTYPE html> <html lang"zh-cn"><head><meta charset"UTF-8"><meta name"viewport" content&…

【QT】label中添加QImage图片并旋转(水平翻转、垂直翻转、顺时针旋转、逆时针旋转)

目录 0.简介 1.详细代码及解释 1&#xff09;原label显示在界面上 2&#xff09;水平翻转 3&#xff09;垂直翻转 4&#xff09;顺时针旋转45度 5&#xff09;逆时针旋转 0.简介 环境&#xff1a;windows11 QtCreator 背景&#xff1a;demo&#xff0c;父类为QWidget&a…