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://xiahunao.cn/news/3249248.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯元宝上线“3D角色梦工厂”:快速生成专属3D角色!

7月16日,腾讯旗下大模型应用“腾讯元宝”上线“3D角色梦工厂”,允许用户通过上传一张五官清晰的正面头像,并选择不同的角色模板,迅速生成个人3D角色! 技术特点 “3D角色梦工厂”将大模型生成技术与3D应用相结合&#…

Java跨平台的原理是什么?JDK,JRE,JVM三者的作用和区别?xxx.java和xxx.class有什么区别?看这一篇就够了

目录 1. Java跨平台相关问题 1.1 什么是跨平台(平台无关性)? 1.2 跨平台(平台无关性)的好处? 1.3 编译原理基础(Java程序编译过程) 1.4Java跨平台的是实现原理? 1.4.1 JVM(Java虚拟机) 1.4.2 Class文件 1.4.3 …

阿尔泰科技工业电脑IPC-8363工控机

概述: IPC-8363是一款支持 LGA 1200 Intel 10th/11th Generation Core™ i9/i7/i5/i3, Celeron and Pentium processor 的工业电脑。配置2组独立 SO-DIMM DDR4 2666/2933MHz内存,最大可扩展至128GB。 主要技术指标: 产品图示: 系…

PyTorch 深度学习实践-循环神经网络(高级篇)

视频指路 参考博客笔记 参考笔记二 文章目录 上课笔记总代码练习 上课笔记 个人能力有限,重看几遍吧,第一遍基本看不懂 名字的每个字母都是一个特征x1,x2,x3…,一个名字是一个序列 rnn用GRU 用ASCII表作为词典,长度为128&#x…

加密传输及相关安全验证:

1.1. 加密: 1.1.1. 对称加密: 特点:加解密用一个密钥,加解密效率高,速度快,有密钥交互的问题问题:双方如何交互对称密钥的问题,用非对称密钥的公钥加密对称密钥的混合加密方式常用…

开源安全态势感知平台Security Onion

简介 Security Onion是一款由安全防御人员为安全防御人员构建的免费开放平台。它包括网络可见性、主机可见性、入侵检测蜜罐、日志管理和案例管理等功能。详细信息可以查看官网Security Onion Solutions 在网络可见性方面,Security Onion提供了基于签名的检测&…

【JS逆向课件:第一课:requests基础】

爬虫初始 爬虫相关介绍 什么是爬虫 就是编写程序,模拟浏览器上网,让其去互联网中抓取数据的过程 模拟: 浏览器本身就是一个纯天然的爬虫工具,爬虫相关的模块都是基于浏览器为基础开发出来的。注意:日后只要是你的爬虫…

【开发踩坑】使用PageHelper工具正常sql后面多无关语句

背景 SQL日志打印出现了脏东西: 本来结束的 where muc.code ?;后面凭空多出了一个 LIMIT语句 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your …

使用 Flask 3 搭建问答平台(三):注册页面模板渲染

前言 前端文件下载 链接https://pan.baidu.com/s/1Ju5hhhhy5pcUMM7VS3S5YA?pwd6666%C2%A0 知识点 1. 在路由中渲染前端页面 2. 使用 JinJa 2 模板实现前端代码复用 一、auth.py from flask import render_templatebp.route(/register, methods[GET]) def register():re…

汇编教程2

本教程主要教大家如何安装32位Linux虚拟机,为后续实验拆炸弹做准备 下载系统映像文件 以Ubuntu14.04.6系统为例 官方网站:下载地址 点击下载图中32位系统 如果官网进不去可以使用镜像网站 清华镜像网站:下载地址 进入之后找到下图中链接…

Android C++系列:Linux线程(四)线程同步

多个线程同时访问共享数据时可能会冲突,这跟我们前面信号文章所说的可重入性是同样的问题。比如两个线程都要把某个全局变量增加1,这个操作在某平台需要三条指令完成: 从内存读变量值到寄存器;寄存器的值加1;将寄存器的值写回内存假设两个线程在多处理器平台上同时执行这三…

13. C++继承 | 详解 | 虚拟继承及底层实现

目录 1.定义 1.1继承的概念 1.2 继承的定义 2. 对象赋值转换 3. 继承中的作用域 a. 隐藏/重定义 (Hiding/Redefinition) b. 重载 (Overloading) c. 重写/覆盖 (Overriding) d. 编译报错 (Compilation Error) 4. 派生类的默认成员函数 构造 拷贝构造 运算符重载 析…

Windows FFmpeg 开发环境搭建

FFmpeg 开发环境搭建 FFmpeg命令行环境搭建使用FFmpeg官方编译的库Windows编译FFmpeg1. 下载[msys2](https://www.msys2.org/#installation)2. 安装完成之后,将安装⽬录下的msys2_shell.cmd中注释掉的 rem set3. 修改pacman 镜像源并安装依赖4. 下载并编译源码 FFmpeg命令行环境…

Harmony 状态管理 @Local 和 @Param

Harmony 状态管理 Local 和 Param Local 背景 Local 是harmony应用开发中的v2版本中 对标**State**的状态管理修饰器,它解决了 State 对状态变量更改的检测混乱的问题: State 修饰的状态变量 可以是组件内部自己定义的State 修饰的状态 也可以由外部父…

mysql常用函数五大类

mysql常用函数 1. 第一类:数值函数1.1 圆周率pi的值1.2 求绝对值1.3 返回数字的符号1.4 开平方,根号1.5 求两个数的余数1.6 截取正数部分1.7 向上取整数1.8 向下取整数1.9 四舍五入函数1.10 随机数函数1.11 数值左边补位函数1.12 数值右边补位函数1.13 次…

从PyTorch官方的一篇教程说开去(3.1 - GD 梯度下降法)

在openAI以前,我们所讨论的“人工智能”基本上都是“人工智障”,即时在某些方面表现得非常出色,击败了世界冠军,但最多算个某领域的“专才”而不是“通才”。 那么这些“智障”程序们,究竟是靠什么才能做到“专才”呢…

【总结】nginx源码编译安装报错./configure: error: SSL modules require the OpenSSL library.

问题现象 源码编译安装nginx时,执行./configure …… --with-http_ssl_module 命令安装https模块,需要用到openssl,由于机器缺少openssl库,报如下错误。 …… checking for openat(), fstatat() ... found checking for getaddr…

Flink HA

目录 Flink HA集群规划 环境变量配置 masters配置 flink-conf.yaml配置 测试 Flink HA集群规划 FLink HA集群规划如下: IP地址主机名称Flink角色ZooKeeper角色192.168.128.111bigdata111masterQuorumPeerMain192.168.128.112bigdata112worker、masterQuorumPee…

MySQL(5)表的查询

目录 1.表的查询 1.表的查询: 1.1创建表: 语法: create table 表名( 字段 类型 约束, 字段 类型 约束, ... 字段 类型 约束 ); 1.2 单行数据全行插入: 🌰 表的字段都插入数据: insert into student values(100, 1000, 唐三藏, null); 1.3 多行数据 指定列插入:…

Go网络编程-RPC程序设计

gRPC 通信 RPC 介绍 RPC, Remote Procedure Call,远程过程调用。与 HTTP 一致,也是应用层协议。该协议的目标是实现:调用远程过程(方法、函数)就如调用本地方法一致。 如图所示: 说明: Servi…