自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 metrics安装异常原因【doesn‘t contain any IP SANs】

添加后发现pod正常启动,并且能够正常使用kubectl top nodes/pods命令查询节点或者pod的资源使用情况。这里错误证书双向验证不通过,可以添加kubelet-insecure-tls来忽略。安装好k8s后,安装metrics-server后发现对应的pod一直无法启动。

2024-01-10 18:35:06 642 1

原创 elasticSearch多字段聚合查询示例【基于java api】

背景:实现类似select count(*),name,age from table_name group by name,age功能。

2024-01-09 18:13:08 662

原创 【shell发送邮件】

配置/etc/ssmtp/ssmtp.conf。配置/etc/ssmtp/revaliases。配置mail.rc文件。安装sendmail。

2024-01-09 18:07:34 556

原创 一文读懂RequestBody注解原理

RequestMappingHandlerAdapter是AbstractHandlerMethodAdapter的子类,调用的是其父类的handle方法@Override@Nullable@Override= null) {else {else {//执行方法的调用if (!

2023-10-23 09:39:39 8530

原创 nginx的安装及代理和负载均衡设置

我们可以通过nginx -h命令来获取使用帮助从上面的输出我们可以看出打那个前我们按照的nginx版本是1.25.1版本,然后我们可以使用nginx -V打印出版本信息及配置选项信息;nginx -s 可以分别对nginx进行关闭,重新加载配置文件。

2023-06-14 22:08:44 1416

原创 5分钟从源码编译好nginx并进行安装

【代码】5分钟从源码编译好nginx并进行安装。

2023-06-13 18:08:29 582

原创 一文读懂redis持久化机制

持久化官网相关参考资料持久化就是把redis内存里面保存的数据保存磁盘中,在redis重启或者能够使得数据不会丢失。目前常用的持久化方式有:RDB方式、AOF方式以及RDB + AOF两种方式。

2023-06-12 11:45:54 743

原创 Redis是如何做数据过期和数据淘汰

redis是一个内存行的kv型数据库,我们所有的数据都是存放在内存中的,但是内存是有大小限制的。所以我们通常会对存入的数据设置过期时间,这样方便在数据过期后进行删除。那redis是怎么删除过期数据的呢?只要是通过两个方式,一个是惰性删除,一个是通过定时任务。

2023-06-11 16:29:27 776

原创 redis五种数据类型具体时候的底层编码

string 类型的数据在redis中都是按照sds格式进行存储的hash类型在字段数量不大于512个及单个字段值不大于64B的时候采用ziplistlist类型是采用quickList列表来进行存储的,其是一个包含ziplist的双向链表组成的set类型在满足所有元素都是整数且元素个数不超过512个的时候采用的intset编码,否则使用hashTable来进行存储。

2023-06-10 22:58:40 728

原创 redis到底是怎么样进行渐进式Rehash的

Redis 默认使用了两个全局哈希表:dictht[0]和哈希表 dictht[1],一开始,当你刚插入数据时,默认使用dictht[0],此时的dictht[1] 并没有被分配空间。随着数据逐步增多,Redis 开始执行 rehash,这个过程分为三步:1、给dictht[1]分配更大的空间,一般是当前dictht[0]已使用大小的2倍,但是必须满足是2的整数倍!2、把哈希表0 中的数据重新映射并拷贝到哈希表1 中(在hash表1下进行重新计算hash值);3、释放哈希表 0 的空间。

2023-06-08 23:57:37 702

原创 Nacos作为服务注册中心简单示例

示例中使用需要使用nacos1.4.2版本匹配。具体配置关系可以参考:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E。下单成功,库存响应: 减库存成功,响应的是: 18082。

2023-06-04 18:23:50 754

原创 kong安装报错 /usr/local/share/lua/5.1/kong/cmd/utils/migrations.lua:33: in function ‘check_state‘

错误信息如下:报错原因,没有对kong使用的数据库进行初始化,执行以下命令即可:

2023-06-02 08:52:52 595

原创 基于customerId来实现

定义两个upstream,他们和service及route的关系如下:这里我们使用。

2023-06-01 22:37:29 500

原创 自定义kong插件golang版本

开发一个go版本的kong 插件,通常需要以下七步:2、定义New()来实例化Config对象3、定义access阶段对请求进行处理4、将go-pdk/server包导入到项目中5、创建一个main函数,使用server.startServer来启动Add a main() function that calls server.StartServer(New, Version, Priority).上面的代码都是来源于kong的go-plugins中example代码,地址为https:/

2023-05-31 20:03:15 1356 1

原创 kong网关启用jwt认证插件

认证流程:1、创建一个用户2、生成jwt的所需要的key和密钥3、在https://jwt.io/的生成jwt token4、启用jwt插件5、发送请求的时候携带jwt的token信息官方指导:https://docs.konghq.com/hub/kong-inc/jwt/configuration/examples/

2023-05-30 21:44:04 891

原创 kong网关启动Basic Authentication验证示例

插件的官方地址:https://docs.konghq.com/hub/kong-inc/basic-auth/

2023-05-30 18:40:57 107

原创 为kong网关添加限流插件

限流用于控制发送到上游服务的请求速率。它可用于防止 DoS 攻击、限制网络抓取和其他形式的过度使用。如果没有速率限制,客户可以无限制地访问您的上游服务,这可能会对可用性产生负面影响。

2023-05-30 16:17:29 1179

原创 为kong网关添加key-auth插件实现安全认证

官方指导文档:https://docs.konghq.com/gateway/latest/get-started/key-authentication/

2023-05-30 15:01:46 1006

原创 使用kong网关来实现负载均衡

但是外部不可能记住也不应该记住所有的服务地址,这个时候就需要一个统一入口提供给外部进行调用,类似提供一个虚拟主机形式进行实现。使用admin api来进行创建,创建的官方参考文档:https://docs.konghq.com/gateway/latest/admin-api/#service-object。jar可以去下图所示地址进行下载,具体链接:https://blog.csdn.net/zhangshenglu1/article/details/130934300。服务的主要属性是它的 URL。

2023-05-30 10:57:13 1139

原创 kong网关安装及konga安装

查看网络是否创建成功可以看到kong-net网络已经创建成功。

2023-05-29 23:30:25 1323

原创 使用emptyDir实现pod中多个容器数据共享

通过上面的查看,我们已经成功运行了pod。然后我们分别进入到write容器和read容器上查看挂在/data目录的下文件。从上面可以看出来,read和write容器中均可以看到存储emptyDir里面的数据。运行容器并且查看容器的运行情况。

2023-05-25 22:27:09 383

原创 Windows主机中构建适用于K8S Operator开发环境

在cmd命令行终端或powershell中操作。

2023-05-24 18:48:52 1429

原创 Kubernetes高可用集群二进制部署(Runtime Docker)v1.21版本

Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能,努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。它支持一系列容器工具, 包括Docker、Containerd等。

2023-05-23 23:20:26 810 2

原创 Kubernetes密钥管理Secret

Secret与ConfigMap类似,主要的区别是ConfigMap存储的是明文,而Secret存储的是密文。ConfigMap可以用配置文件管理,而Secret可用于密码、密钥、token等敏感数据的配置管理。

2023-05-21 19:41:31 744

原创 Kubernetes配置管理 ConfigMap

通过指定文件创建,即将一个配置文件创建为一个ConfigMap,通过直接在命令行中指定configmap参数创建,即。如果修改了value, 那么容器内部会不会更新?2.验证对应的pod里的变化,一段时间后会改变(1.编辑修改对应的configmap。通过一个文件内多个键值对,

2023-05-19 19:32:27 1876

原创 Jenkins流水线整合k8s实现代码自动集成和部署

这里先要搭建好一个K8s集群,笔者这边就采用使用了一个一主一丛的k8s集群,k8s集群的版本使用1.19.5版本,服务器的配置:2核4G,操作系统: CentOS Linux release 7.9.2009 (Core)# 您也可以使用下面的指令,唯一的区别是,该指令使用华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像。C:\Windows\System32\drivers\etc\hosts文件。6、在k8s的master和worker节点上配置docker的私服地址。

2023-05-19 10:53:18 4071

原创 jenkins流水线使用入门示例

之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。Jenkins的Pipeline可以让项目的发布整体流程可视化,明确执行的阶段,可以快速的定位问题。并且整个项目的生命周期可以通过一个Jenkinsfile文件管理,而且Jenkinsfile文件是可以放在项目中维护。所以Pipeline相对自由风格或者其他的项目风格更容易操作。

2023-05-18 17:18:54 604

原创 最简单配置jenkins容器使用宿主机的docker方法

构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可。

2023-05-18 11:09:33 1838

原创 基于harbor安装私有镜像仓库

我们主要采用Jenkins推送jar包到指定服务器,再通过脚本命令让目标服务器对当前jar进行部署,这种方式在项目较多时,每个目标服务器都需要将jar包制作成自定义镜像再通过docker进行启动,重复操作比较多,会降低项目部署时间。我们可以通过Harbor作为私有的Docker镜像仓库。让Jenkins统一将项目打包并制作成Docker镜像发布到Harbor仓库中,只需要通知目标服务,让目标服务统一去Harbor仓库上拉取镜像并在本地部署即可。

2023-05-17 23:50:30 560

原创 jenkins集成sonarqube进行代码质量检测

Jenkins继承Sonar Qube实现代码扫描需要先下载整合插件。

2023-05-17 21:30:55 644

原创 Sonar Qube代码质量检测工具安装及基本使用

Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。

2023-05-17 18:21:53 1043

原创 基于Kubernetes集群构建大中型企业CICD应用平台(9)--打造基于jenkins的不同分支发布能力

在CI/CD的过程中,我们通常会并不是只是在指定的分支上进行部署,我们可能需要部署其他分支,那么这个时候需要在跑流水线前先选定好分支,如何是实现这个目标呢?

2023-05-17 16:10:53 32

原创 基于Kubernetes集群构建大中型企业CICD应用平台(8)--通过jenkins把从远程拉取的代码推送执行其他主机上,然后进行镜像打包并进行部署

代码拉取到Jenkins本地后,需要在Jenkins中对代码进行构建,这里需要Maven的环境,而Maven需要Java的环境,接下来需要在Jenkins中安装JDK和Maven,并且配置到Jenkins服务。- 准备JDK、Maven压缩包通过数据卷映射到Jenkins容器内部。

2023-05-17 11:30:21 381

原创 基于Kubernetes集群构建大中型企业CICD应用平台(7)--使用jenkins拉取远程gitlab上的代码

由于Jenkins需要从Git拉取代码、需要本地构建、甚至需要直接发布自定义镜像到Docker仓库,所以Jenkins需要配置大量内容。

2023-05-14 21:51:23 327

原创 基于Kubernetes集群构建大中型企业CICD应用平台(5)--Integrate工具

持续集成、持续部署的工具很多,其中Jenkins是一个开源的持续集成平台。Jenkins涉及到将编写完毕的代码发布到测试环境和生产环境的任务,并且还涉及到了构建项目等任务。Jenkins需要大量的插件保证工作,安装成本较高,下面会基于Docker搭建JenkinsJenkins是一个开源软件项目,是基于Java开发的一种持续集成工具Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现的核心工具。

2023-05-13 07:37:14 551

原创 基于Kubernetes集群构建大中型企业CICD应用平台(4)--Operate阶段工具

还是在192.168.19.7-CentOS-7.6-jenkins-new这台服务器上进行操作部署过程,会采用Docker进行部署,暂时只安装Docker即可,后续还需安装Kubenetes。

2023-05-12 20:19:16 441

原创 基于Kubernetes集群构建大中型企业CICD应用平台(3)--build阶段工具

阿里云公共仓库

2023-05-12 19:51:41 41

原创 基于Kubernetes集群构建大中型企业CICD应用平台(2)--code阶段工具gitlab安装

这里我们为gitlab服务器准备一台虚拟机:192.168.19.6-gitlab服务器在code阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者Git,这里我们采用Git作为版本控制工具,GitLab作为远程仓库。(傻瓜式安装)

2023-05-12 19:44:39 729

原创 基于Kubernetes集群构建大中型企业CICD应用平台(1)-- devOps

软件开发最开始是由两个团队组成:开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。这看似两个目标不同的团队需要协同完成一个软件的开发。在开发团队指定好计划并完成coding后,需要提供到运维团队。运维团队向开发团队反馈需要修复的BUG以及一些需要返工的任务。这时开发团队需要经常等待运维团队的反馈。这无疑延长了事件并推迟了整个软件开发的周期。会有一种方式,在开发团队等待的时候,让开发团队转移到下一个项目中。

2023-05-12 19:35:46 682

原创 sharding-jdbc读写分离实战

它提供透明化读写分离,让使用方尽量像使用一个数据库一样使用主从数据库集群。为了实现Sharding-JDBC的读写分离,首先,要进行mysql的主从同步配置。mysql的主从同步配置请参考。

2023-05-10 21:18:36 644

kong-demo.jar

所需的jar包

2023-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除