- 博客(53)
- 资源 (1)
- 收藏
- 关注
原创 k8s集群搭建(七)-------- 微服务间的调用
并且参照那篇文章,部署 cloud-demo-service-b 到 k8s 中,需要注意的,不执行映射路由操作,我们保持 cloud-demo-service-b 为一个内部应用,无法被外部访问,并且微服务之间的调用使用 http,所以我们需要把用于部署的 yml 文件中的对外暴露端口修改为 80。我们在 cloud-demo-service-a 中新增一个接口,/hello-b,这个接口将调用 cloud-demo-service-b 的 /hello 获取返回值并且输出。删除 ServiceA。
2025-11-05 17:16:53
803
原创 k8s集群搭建(六)-------- ConfigMap 和 Secret
本文介绍了在Kubernetes中如何通过ConfigMap实现微服务配置管理。与SpringCloud使用Nacos等独立配置中心不同,K8s采用"配置即数据"理念,使用ConfigMap(存储非敏感配置)和Secret(存储敏感数据)作为原生配置管理方案。文章以ConfigMap为例,演示了如何为SpringBoot微服务创建ConfigMap(包含自定义属性),并通过修改Deployment配置文件将ConfigMap挂载到容器中。最终验证了配置生效,接口成功读取了ConfigMa
2025-09-04 15:24:13
312
原创 k8s集群搭建(五)-------- 创建一个微服务
本文介绍了使用SpringBoot构建微服务并部署到Kubernetes集群的完整流程。首先基于SpringBoot 3.5.5和JDK 21开发简单的REST服务,通过Dockerfile打包镜像(包含健康检查和非root用户等优化)。然后编写K8s部署文件,包括Namespace、Deployment(配置资源限制)和Service资源。最后通过Ingress配置外部访问路由,实现HTTPS域名访问服务接口。整个过程涵盖了从代码开发、镜像构建到K8s部署的关键步骤,演示了现代化云原生应用的典型部署方式。
2025-09-04 15:23:52
285
原创 k8s集群搭建(四)-------- Ingress-Nginx
Ingress-nginx 是 k8s 体系中最常用的 Ingress 控制器之一,本身基于 Nginx 实现,作用是路由转发,以及负载均衡、静态文件托管、限流等功能。Ingress 有很多种,比如 Traefik、HAProxy Ingress等等,本文主要讲 Ingress-nginx。
2025-09-04 15:23:33
982
原创 k8s集群搭建(三)-------- Dashboard UI
本文介绍了使用Helm工具安装Kubernetes Dashboard的详细步骤,包含标准安装流程和手动替代方案。主要内容包括:1)通过Helm命令安装Dashboard;2)使用kubectl转发端口访问Dashboard;3)针对镜像下载问题的解决方案,包括修改yaml文件替换镜像源;4)配置内网访问的方法,包括创建用户、生成token和修改服务类型;5)附录提供了完整的dashboard.yaml文件内容参考。文章特别针对国内网络环境提供了镜像下载的替代方案,并详细说明了如何配置内网访问权限。
2025-09-04 15:23:04
732
原创 k8s集群搭建(二)-------- 集群搭建
需要在集群内的每个节点上都安装容器运行时(containerd runtime),这个软件是负责运行容器的软件。1. 启动 ipv4 数据包转发然后使用 sysctl net.ipv4.ip_forward 验证是否设置成功2. 安装 containerd runtime3. 创建默认的配置文件4. 配置 systemd cgroup 驱动在 /etc/containerd/config.toml 中找到如下位置,将 SystemdCgroup 设置为 true。
2025-09-04 15:22:38
1117
原创 k8s集群搭建(一)-------- 基础准备
本文介绍了Kubernetes集群环境的搭建过程,使用双节点配置(主节点和从节点均为双核4G内存,Debian10.9系统)。重点讲解了服务器准备步骤:1)设置静态IP和主机名;2)更换国内镜像源(推荐LinuxMirrors工具);3)禁用交换分区以避免影响k8s内存判断。文章提供了具体操作指引,为后续Kubernetes v1.33的安装奠定了基础。
2025-09-04 15:21:18
568
原创 Debian11 安装 OpenJDK8
1. 下面问题可以通过执行【apt --fix-broken install】修复。2. 下面问题可以通过执行【apt-get -f -y install】修复。
2023-10-17 14:08:30
1610
1
原创 用 Typescript 搭建 Nodejs Server
基于koa2, routing-controllers 搭建 nodejs server,并且使用 typescript 语言进行开发
2023-06-16 16:57:15
2947
原创 NSIS制作安装包
NSIS是一款免费的制作windows安装包的工具,功能灵活强大。关于NSIS基础的安装,语法结构,请自行百度,本文仅针对于一些比较特别的功能做一些备忘记录。1.多语言的支持此处仅介绍按照最新版的 NSIS 3.0版本,使用ModernUI载入多语言!include "MUI2.nsh" ; 仅有2支持; 语言选择窗口常量设置; 在注册表中记录安装时选择的语言,卸载时就可以不再选择语言,直接显示对应语言的卸载程序!define MUI_LANGDLL_REGISTRY_R...
2021-11-05 11:30:42
1335
原创 linux 虚拟机扩充磁盘
Linux 虚拟机在创建的时候,我们可能并没有充分考虑硬盘要配置多大合适,导致后期需要给硬盘扩容,本文列出操作方法。如果你是用的是LVM来管理磁盘,那么本教程并不适用。环境配置:操作系统debian10.9,原始磁盘大小20G,目标扩充到100G,安装系统的时候全部选择的默认选项,因此实际的操作系统还分出了一块 swap分区。目标:将 /dev/xvda1扩充到 96G,剩余4G留作 swap分区(swap分区大小,在服务器内存大小为 4-8G时,跟服务器内存一样大)。...
2021-04-29 12:54:03
1602
原创 Spring Cloud 并发调优
测试基本信息:测试接口:登录链路调用:nginx-->zuul-server-->[serviceA,serviceB, serviceC, serviceD]因为登录接口牵涉到一系列的加密校验、权限角色、账号密码验证,所以 zuul-server路由之后,会调用很多个微服务来获取用户信息。服务器的话都是用Docker启动的容器,每个服务的内存大概在512M左右,另外每个服务(包括nginx)都只有1个实例。...
2020-08-06 16:34:54
1176
原创 Spring Cloud 接口契约测试
在微服务体系中,开发者要进行接口测试,一般有以下几种方法:1.搭建完整的微服务环境,将所有依赖的微服务全部运行起来,然后针对要测试的微服务写测试用例;2.使用 Mock来模拟依赖的微服务以及数据库的读写;3.契约测试,服务的提供者和消费者按照同样的契约编写自己的测试用例。这其中,方法1的工作量比较大,维护这么一个环境也是一个麻烦的事情,但是能真实模拟请求的完整流程;方法2能...
2020-01-10 17:15:28
1660
5
原创 Electron 打包的 Angular 应用中使用日志
在之前的一篇文章《Electron 打包 Angular 应用》中我介绍了把 angular 项目打包成桌面应用的方法。但是我们实际发布软件给用户安装之后,由于 angular 中都是用 console.log 进行日志输出,假设软件出现了问题,没有日志文件收集回来的话,开发人员也很难去定位错误,因此本文介绍在 electron 打包出来的 angular 应用中,如果输出日志文...
2019-12-05 16:22:54
1306
原创 Electron 打包 Angular 应用
Electron 是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库,使得前端开发人员也可以开发桌面应用程序,很强大的工具,具体内容请参考https://electronjs.org/docs, 本文不做详述。 本文将介绍,如何将 Angular 项目嵌入到 Electron 中做成一个桌面应用程序。 ...
2019-12-05 15:34:40
2231
原创 NodeJs 源码保护
现在 NodeJs 开发 Server 端越来越流行,如果 Server 部署在自己公司的服务器上,那么可以认为环境是相对安全的,不需要做源码保护。但是如果需要在客户方部署,又不希望自己的源码暴露的时候,这个时候就需要源码保护。一般的源码保护方式就是 js 压缩/混淆之类的操作,增加 js 代码的不可读性,或者说是增加破解难度。 本文讨论另一种使用字节码编译 no...
2019-11-29 16:56:43
4301
3
原创 Jenkins实践(三)------ 创建多分支流程水任务
本文基于Jenkins实践(二)------ Jenkinsfile本文将讲解如何在 Jenkins 中创建多分支流水线任务,使用上一篇文章定义好的 Jenkinsfile 来发布项目。1. 在 jenkins 管理后台左侧菜单选择 打开Blue Ocean,点击创建流水线,填写 git 地址,账户密码,或者使用SSL 证书,然后点击创建流水线,jenkins 的任务名称会自动以代码的项...
2019-08-30 13:35:57
2818
原创 Jenkins实践(二)------ Jenkinsfile
Jenkins 能做的事情太多了,如果要一一讲解肯定讲不完,因此此系列文章只以多分支流水线任务(Pipeline)为例。我们要实现的是,能够通过 Jenkins 的 pipeline,拉取代码,编译,发布 docker 镜像,部署 docker 服务器。我们使用 git 作为代码版本管理工具,使用 nexus3 私服作为jar包、docker 镜像的仓库。Pipeline 中,主要是使用 ...
2019-08-30 11:11:32
2357
原创 Jenkins实践(一)------安装
在项目开发过程中,软件的编译和部署始终是一件令人头疼的事情,项目的各个分支、各个版本、各种环境,项目一多的话确实管理起来比较麻烦。Jenkins 是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。官方文档地址:https://jenkins.io/doc/...
2019-08-30 10:25:02
328
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(七)------- zuul Filter
之前我们配置过 zuul 作为 api 网关《SpringCloud(Finchley.SR2版本)踩坑笔记(四)------- zuul基础》,zuul 还可以自定义一系列的过滤器,来对请求做一些预先或者后续的处理。zuul 的 filter 类型分为:1. pre:在请求被路由之前过滤,可以通过这种过滤器来处理一些类似签名校验,用户身份认证等操作。2. route:这种过滤器用于...
2019-05-16 20:08:16
549
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(六)------- consul 作为配置中心
consul 除了作为服务发现以外,还有一个重要的功能,可以作为配置中心,从而替换 Spring Cloud Config 的 client-server 配置模式。利用 consul 提供的 key-value 数据存储功能,来实现使用 consul 中的配置覆盖应用程序中的配置。首先需要知道 Spring Boot 项目还有一个配置文件叫做 bootstrap.yml ,这个配置文件是在 ...
2019-02-18 11:03:21
788
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(五)------- consul 作为服务发现
Spring Cloud 本身支持多种服务发现,比如 Eureka,Consul,Zookeeper等。之前我们学习过 Eureka,但是 Eureka 官方说明2.0不再开源,一切风险自负。虽然目前大多数用的是 1.X 的版本,但难以保证以后不会升级到新的版本,因此为了防止风险,我们将学习使用 Consul 来做服务发现应用。1. 从官网 https://www.consul...
2019-02-15 14:03:37
886
原创 Spring Data JPA 数据加密存储
数据安全永远是个大问题。用户数据存储到数据库中,如果不采取加密手段,那么只要有权限访问数据库的人,都能直接明了的看到用户所有的隐私数据,尤其在中小型公司中,对于数据库权限的管理基本上都是由开发人员直接进行维护管理,这样对于数据安全并不是一个好事,因此如果能将用户私密数据加密存储到数据库中,那么就能稍微提升一些数据安全性。本文讨论的是在 Spring Data JPA 中使用 AES...
2019-02-13 17:06:43
3081
5
原创 Docker(CE版本18.09.1)踩坑笔记(五)------ 指令汇总
1. 基础## 查看帮助dockerdocker container --help## 查看 Docker 版本信息docker --versiondocker versiondocker info2. 镜像(image)操作## 使用 Dockerfile 创建镜像docker build -t yourapp## 运行镜像docker run -d -p ...
2019-01-24 14:40:06
1192
原创 Docker(CE版本18.09.1)踩坑笔记(四)------Swarm集中管理Docker
上篇文章中,执行 docker swarm init 之后,得到了一个 token,本文中,我们将利用这个 token 构造多个 Docker 机器的集中化管理。 在进行集群化之前,你需要多准备1-2台安装好 Docker 的机器。在执行完 docker swarm init 之后,使用下面指令查看当前所有节点docker node ls输出内容中可以看到我们当前的机器:ID ...
2019-01-16 17:00:33
1071
原创 Docker(CE版本18.09.1)踩坑笔记(三)------制作服务集群
在上一篇文章《Docker(CE版本18.09.1)踩坑笔记(二)------制作 Spring Boot 服务镜像》中,我们制作了一个Spring Boot的服务镜像,这篇文章中,我们将这个服务镜像做成服务集群。1. 去 Docker 官网 注册一个账号,然后在你的 Docker 服务器上进行登录docker login2. 对服务镜像打标签docker ta...
2019-01-16 11:16:26
1909
原创 Docker(CE版本18.09.1)踩坑笔记(二)------制作 Spring Boot 服务镜像
前提条件:安装好 Docker,准备一个你自己的 Spring Boot 服务的 jar 包,假设为 yourapp.jar。1. 创建一个目录,将 Spring Boot 的 jar 包放到这个目录中2. 创建一个文件,名字为 Dockerfile,内容如下:# 设定运行环境FROM java:8# 设定工作目录WORKDIR /app# 拷贝当前目录下的所有文件到工作目录...
2019-01-16 10:47:22
600
原创 Docker(CE版本18.09.1)踩坑笔记(一)------安装
Docker 是一个给开发人员或者运维人员使用容器进行开发、部署、运行服务应用的平台工具。更多具体的概念请参考官方文档:https://docs.docker.com/engine/docker-overview/。本系列的文章,记录在Docker学习过程中的一些关键点和遇到的问题。安装环境:centos 71. 设置下载源yum install -y yum-utils \ ...
2019-01-16 10:31:37
6316
1
原创 IOS 打包、安装、上架App Store 中间过程踩过的坑
一. ionic/cordova打包编译1. xcode10, cordova 8.0.0, ionic 3.20.0 编译 IOS 出错:error: archive not found at path '/Users/ankon/Documents/vcp-ionic2/platforms/ios/***.xcarchive'解决方案:ionic cordova build...
2019-01-16 10:20:11
1788
原创 ElasticSearch学习(二)------查询
通过url get 查询的方法不够灵活,此处不讨论,仅讨论 DSL 方式。一、match 查询和 term 查询简单来说, 这两个的区别就是 match 查询会对查询条件进行分词操作,而 term 查询不会。比如你输入的查询条件是 “东南大学”,那么 match 查询的条件就可能变成 “东南”“大学”匹配这两个词汇进行查询(分词的粒度由使用的分词器决定);而 term 查询就只会查询 “东...
2019-01-16 10:19:08
287
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(四)------- zuul基础
本文建立在上一篇文章《SpringCloud(Finchley.SR2版本)踩坑笔记(三)-------服务注册与消费》之上。我们将引入 Spring Cloud Zuul 来做路由的转发,访问之前在 Eureka Server 中注册的服务。 Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul...
2019-01-02 14:26:11
1201
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(三)-------服务注册与消费
本文建立在上一篇文章《SpringCloud(Finchley.SR2版本)踩坑笔记(二)-------Eureka》之上。启动 Eureka Server 之后,我们将注册一个服务到 Eureka Server 中,然后尝试去消费它。一、创建服务提供者 按照你一贯的做法,去创建一个 Spring Boot 项目,然后写一个可以调用的 Controller 即可。 ...
2018-12-29 17:13:16
811
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(二)-------Eureka
Eureka:Spring Cloud 体系中最重要的组件之一,作用是服务的注册和发现。本文建立在上一篇文章《SpringCloud(Finchley.SR2版本)踩坑笔记(一)-------项目初建》之上。一、配置并运行 Eureka 服务1. pom 中引入依赖 spring-cloud-starter-netflix-eureka-server<depen...
2018-12-28 16:51:45
753
原创 SpringCloud(Finchley.SR2版本)踩坑笔记(一)-------项目初建
本系列文章旨在记录在学习使用 SpringCloud 的过程中,发现并且解决或者未解决的问题,会以实际的项目搭建为主要过程,不会去阐述 SpringCloud 的定义和基础概念,这些已经有各路大神很充分的文章了。可以参考 《Spring Cloud 中文索引》。项目建立在 Spring Boot 2.0.7.RELEASE, Spring Cloud Finchley.SR2 版本之...
2018-12-28 15:25:24
1920
原创 ionic 打包签名android APK 过程
1. 编译打包安卓APKionic cordova build android --release --prod2. 生成签名 keystorekeytool -genkey -v -keystore app.keystore -alias app.keystore -keyalg RSA -validity 36500之后按照提示,一步一步输入姓名、公司、省市等信息。3....
2018-12-21 09:49:41
490
原创 ElasticSearch学习(一)------建立索引库,设置索引规则
一、创建索引库,并且设置默认分词器为 IKcurl -XPUT http://localhost:9200/myindex -d '{ "settings" : { "index" : { "max_result_window" : 100000000 }, "analysis": { ...
2018-07-04 14:45:37
13389
1
原创 ElasticSearch 备忘
1. 安装 IK 分词器./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip添加自己的词库在 ${elasticsearch}/config/analy...
2018-07-04 10:49:18
369
原创 angular2 发布通用组件方法
1. 创建项目(使用 angular-cli)ng new demon-project2.生成项目中主要发布的组件模块ng g module servicesng g service services/demon-service然后编写实际的业务代码,此处不详述。3. 安装ng-packagrnpm install ng-packagr --save-dev...
2018-05-30 11:06:42
1165
原创 nexus3.0 上传第三方 jar包
1. 确认本地 maven 的配置文件中,设置的 server 用户账号有权限进行 thirdparty 仓库的操作权限 <server> <id>nexus-thirdparty</id> <username>thirdparty</username> <password>thir...
2018-05-14 15:58:35
818
原创 SpringBoot+DBUnit 单元测试备忘
1. pom文件配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <...
2018-04-27 13:34:18
3815
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅