
云原生&DevOps
文章平均质量分 70
云原生&DevOps
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
阿寻寻
这个作者很懒,什么都没留下…
展开
-
【云原生技术】mvn clean complie 和mvn -f pom-fat.xml -B clean compile -revision=FAT-1.0-SNAPSHOT的区别是什么
第一条是“本地默认 POM + 交互模式”,第二条是“指定 POM + 批处理 + 传入版本属性”的 CI 友好版,构建逻辑(clean → compile)一致,但作用域与生成的产物可能完全不同。第二条是在“指定 POM + 无交互 + 动态版本”这一 CI 友好环境中,完成与相同的测试构建流程;不同的 POM 文件和版本属性可能让产物内容、名称乃至编译目标大相径庭。原创 2025-05-11 00:30:00 · 726 阅读 · 0 评论 -
【云原生技术】作为大型项目的开发管理者,如何选择「同一分支多个POM」或「不同分支不同POM」方案
在大多数情况下,同一分支多POM更适合需要灵活切换构建配置的中大型项目,但需通过严格的版本管理避免冲突;若项目要求绝对隔离或长期维护多版本,则多分支策略更可靠。实际选择时,可结合团队技术栈成熟度、CI/CD自动化水平及项目生命周期综合决策。原创 2025-05-09 01:00:00 · 1118 阅读 · 0 评论 -
【云原生技术】 Servlet、Spring Framework、Spring Boot 和 Spring Cloud 及其关系的详细解释
Servlet是 Java Web 应用的一部分,用于处理 HTTP 请求和响应。是一个全面的 Java 开发框架,提供强大的功能支持。和是 Spring Framework 的扩展,分别用于快速应用开发和微服务架构。CRUD 操作是数据管理的基本操作,适用于几乎所有数据库交互场景。原创 2025-05-11 01:00:00 · 688 阅读 · 0 评论 -
【云原生技术】如何在 Jenkins 中安装 OWASP Dependency-Check 插件
如之前所述,您需要脚本来将 Maven 依赖转换为 JSON 格式,然后用脚本进行比对。通过在 Jenkins 中使用 OWASP Dependency-Check 插件,您可以自动化检查项目依赖项中的安全性,并与公司标准清单进行有效比对。此外,利用自定义的依赖提取和比对脚本,可以确保使用的第三方组件符合公司的标准。通过这种组合,您可以提高代码库的安全性和合规性。原创 2025-05-14 00:15:00 · 894 阅读 · 0 评论 -
【云原生技术】要确认容器里有没有在指定端口监听,常用的做法是进入容器执行网络命令,或查看应用日志
通过上面方法,能判断容器是否真的监听了Liveness/Readiness探活所配置的端口,并进一步排查端口配置不一致或应用尚未启动完成等问题。依然提示 “Connection refused”,通常意味着容器里没有任何进程在该端口上监听,或者监听尚未就绪。” 是 Service 端口(集群内访问时用),“要确认容器里有没有在指定端口监听,常用的做法是。进入容器后,就能在容器里的终端执行命令了。在 Deployment(或 Pod)的。在 Kubernetes 中,在 Service 的。原创 2025-05-10 00:30:00 · 828 阅读 · 0 评论 -
【云原生技术】./gradlew这个命令是干嘛的?
/gradlew命令是用来执行 Gradle 构建相关任务的工具,Gradle Wrapper 提供了一种一致的构建环境,使得项目构建和依赖管理更为简单和高效。原创 2025-05-13 00:45:00 · 830 阅读 · 0 评论 -
【云原生技术】mvn -f 的作用是什么?
mvn -f 就是“换入口 POM”的开关:• 只解析指定的那一份 POM;• 让你在同一源码树里自由切换不同构建方案;• 只能指定一个文件,不能用通配符。原创 2025-05-10 00:15:00 · 258 阅读 · 0 评论 -
【云原生技术】Spring Framework Spring Boot 和 Spring Cloud的关系与区别
是一个开源框架,旨在简化 Java 企业级应用程序的开发。控制反转(IoC):通过 IoC 容器管理对象的创建和生命周期,提高松耦合性。面向切面编程(AOP):支持横切关注点的处理,例如日志记录和事务管理。数据访问:方便地集成各种数据访问技术,如 JDBC 和 Hibernate。Web 开发支持:提供 Spring MVC 构建 Web 应用程序的能力。是 Spring Framework 的一个子项目,旨在简化 Spring 应用程序的配置和开发过程。原创 2025-05-12 00:15:00 · 934 阅读 · 0 评论 -
【云原生技术】Tomcat、Spring MVC 和 JPA 的 EntityManager 的详细使用场景介绍
1. Tomcat 使用场景1.1 什么是 Tomcat?1.2 使用场景2. Spring MVC 使用场景2.1 什么是 Spring MVC?2.2 使用场景3. JPA 的 EntityManager 使用场景3.1 什么是 JPA 的 EntityManager?3.2 使用场景3.3 详细示例3.3.1 使用 Tomcat3.3.2 使用 Spring MVC3.3.3 使用 JPA 的 EntityManager总结下面是针对TomcatSpring MVC和。原创 2025-05-12 02:00:00 · 559 阅读 · 0 评论 -
【云原生技术】mvn生命周期有哪些阶段?
Maven 一共有 3 条内建生命周期(Lifecycle),每条生命周期由若干组成。最常用的是默认生命周期,其余两条很少直接调用,这里一起列出。原创 2025-05-10 00:45:00 · 909 阅读 · 0 评论 -
【云原生技术】当使用 mvn -f pom-fat.xml clean deploy 命令时,为什么会出现重复拉取不同版本的pom的传递依赖的情况
mvn -f pom-fat.xml clean deploy 会出现拉两次传递依赖包就是pom-fat指定的和pom里指定的,但是直接mvn clean deploy的时候为什么不会拉两次,只会拉取pom里面的呢?当使用 命令时,若出现重复拉取传递依赖的情况,而直接运行 (默认使用 )时不会重复,这通常与 Maven 的依赖解析逻辑和 POM 文件配置差异有关。以下是具体原因和解决方案:默认依赖解析规则当执行 时,Maven 仅基于 的依赖声明解析传递性依赖。此时:• Maven 遵循 最短路径原创 2025-05-08 15:42:42 · 517 阅读 · 0 评论 -
【云原生技术】三方组件检查介绍
1. 三方组件检查的必要性1.1 潜在风险2. 需要检查的内容2.1 安全检查2.2 许可证合规性2.3 版本一致性3. 如何进行三方组件检查3.1 使用工具3.2 方法示例4. 配置阈值的意义4.1 定义阈值4.2 配置原因5. 保证依赖版本与公司规定一致5.1 使用版本管理工具5.2 依赖清单比较5.3 举例实现5.4 流水线和标准维护总结三方组件(即第三方库或依赖)是软件项目中使用的外部代码包或库,这些代码通常并非由项目的开发团队直接编写,而是由其他开发者或公司提供。原创 2025-05-13 00:45:00 · 1048 阅读 · 0 评论 -
【云原生技术】如何解决pom-fat.xml 与原 pom.xml 的依赖配置未完全隔离,导致 Maven 解析时触发了多版本传递路径
• 优先级排序:直接声明 >原创 2025-05-09 00:45:00 · 1232 阅读 · 0 评论 -
【云原生技术】虚机和物理机是可以一起正常用的吗?
虚拟机和物理机的结合在现代IT架构中非常常见,能够灵活应对多种业务需求。通过合理的配置和管理,它们可以有效地共同工作。需要注意的是,实施过程中务必关注网络和安全配置,以确保系统的稳定性和安全性。物理机与虚拟机之间的连通是可以实现的,前提是正确配置网络和防火墙设置。通过合适的网络模式和配置,物理机可以方便地访问虚拟机中的服务和资源。原创 2025-05-14 00:45:00 · 393 阅读 · 0 评论 -
【云原生技术】同一分支下多个版本pom.xml,如何确保在部署 pom-fat.xml 时不受默认 pom.xml 的依赖版本影响
同一个分支下,有两个pom,pom.xml 和pom-fat.xml,我的java项目拉依赖的时候存在传递性依赖,pom里面配置的和pom-fat的配置,拉取的依赖的版本会不一样,那如果我想要deploy pom-fat版本的,我的mvn命令应该怎么写,不会让pom里面的包影响到?中声明所需依赖版本(优先级高于传递性依赖)。• 统一版本管理:如果使用多模块结构,可在。通过分析输出,定位并解决潜在的版本冲突。中统一管理版本,避免传递性依赖冲突。或直接声明依赖版本,确保优先级。的影响,确保部署时仅使用。原创 2025-05-08 15:39:46 · 416 阅读 · 0 评论 -
【云原生技术】 `ssh -l 目标服务器 ‘java -version‘`情况排查jdk版本问题
时,如果该用户的环境变量或 PATH 没有特殊改动,一般就会直接使用新的默认 Java 17,而不再显示 1.8。这样您就能查清为何 SSH 返回的是 Java 1.8,而非 17,并具体修正目标服务器上的默认 Java 设置。换句话说,服务器上可能装了多个 JDK,但您没有显式指定要用哪个 JDK,就会用系统里默认的。如果该默认链接指向的是 1.8,那远程执行自然会显示 Java 1.8。时,系统默认调用的是当前“全局默认链接”的 Java,也就是通过。的 Java 解释器(即远程主机上的 JDK)。原创 2025-03-15 01:45:00 · 1029 阅读 · 0 评论 -
【云原生技术】容器云配置是用于干嘛的?
简单来说,“容器云配置”就是将应用容器化后,在云端平台(如 Kubernetes)对它的部署、网络、存储、安全、监控等各方面进行集中管理和调度的配置。藉由这些配置,可以让容器在不同环境中。地部署运行,同时具备。原创 2025-03-16 00:30:00 · 129 阅读 · 0 评论 -
【云原生技术】ssh usr@ip ’cat aa.text‘是进入到目标服务器还是在自己的服务器执行?
上执行的,不是在本机执行。简单来说,您通过 SSH 登录到目标服务器,然后在该服务器上运行指定的命令。)都写在 heredoc 当中,会被远端的 Shell 解释并执行,所以生成或追加日志的。如果希望将输出保存到本地,需要把重定向符号放在本地 Shell。在远程执行,但输出流重定向由本地 Shell 处理,生成的。(Here Document)的写法。的操作是由本地 Shell 完成,因此。(或者你指定的结束符号)之间的多行文本,就一定是「在目标服务器上执行」,而是。)上执行的,但将其输出重定向写入。原创 2025-03-16 00:45:00 · 882 阅读 · 0 评论 -
【云原生技术】.kube详细介绍一下及举例说明
1. `.kube` 目录的作用2. `.kube/config` 文件结构3. 示例 `.kube/config` 文件4. 管理多个 Kubernetes 集群5. 使用 `kubectl` 命令结论.kube目录是 Kubernetes 客户端kubectl用于存储用户的配置文件和相关信息的本地目录。该目录通常位于用户的主目录下,即~/.kube。下面是对.kube目录的详细介绍及相关内容的示例。原创 2025-03-14 02:00:00 · 928 阅读 · 0 评论 -
【云原生技术】在多环境(测试/开发)共存、且存在差异配置时,如何更好地管理、记录和避免遗漏。
这样才能在规模或团队人数增加时,确保不同环境的配置/代码差异始终在可见、可管、易审的状态下。如果只是依靠上线前人工检查清单,有效但可能仍有遗漏或耗时。在多环境(测试/开发)共存、且存在差异配置时更好地管理、记录和避免遗漏。以上几列能满足大部分场景,当然你可根据自身需求再添加。原创 2025-03-18 02:30:00 · 901 阅读 · 0 评论 -
【云原生技术】pod的event事件和日志的区别
*在实际生产环境中,很多公司都会把 Kubernetes Event 采集到统一的日志平台中,方便监控、告警和故障排查。是 Pod 内部运行的容器标准输出(stdout)和标准错误输出(stderr)的内容。原创 2025-03-17 01:00:00 · 1468 阅读 · 0 评论 -
【云原生】ERROR][ERROR] Some problems were encountered while processing the POMs :[ ERROR] Non-resolvable
这个错误通常是因为 Maven 在构建时无法从配置的仓库里找到指定的依赖(例如 SNAPSHOT 版的 com.lance.framework:lance-framework-dependencies)。原创 2025-03-19 00:15:00 · 512 阅读 · 0 评论 -
【云原生技术】SonarQube 报错org.sonar.java.AnalysisException: Your project contains .java files
SonarQube 在分析你的项目时,发现项目中存在.java源文件却没有提供对应的已编译.class换句话说,Sonar 在做 Java 代码分析时需要看到编译后生成的字节码,否则无法进行完整的语言规则扫描。原创 2025-03-18 00:30:00 · 330 阅读 · 0 评论 -
【云原生技术】如何将 SonarQube 集成到项目中
SonarQube 是一个开源的持续代码质量管理平台,支持多种编程语言,并提供代码分析、代码覆盖率、潜在错误等功能。这将从 Docker Hub 下载 SonarQube 镜像并在后台运行 SonarQube 实例。要通过 Maven 进行 SonarQube 扫描,您需要将 SonarQube 插件添加到。在 SonarQube Web 界面中,您可以创建一个新项目。这将分析您的代码并将结果发送到 SonarQube 服务器。在您的 Java 项目的根目录下,创建一个名为。和一个令牌,用于后续的配置。原创 2025-03-14 00:45:00 · 393 阅读 · 0 评论 -
【云原生技术】探活(Liveness/Readiness Probes)的配置与 Service 无直接依赖关系
探活机制不依赖 Service,但 Service 的流量管理功能与探活状态(尤其是就绪探针)紧密配合。若仅需健康检查,无需 Service;若需服务暴露和流量控制,则需两者协同配置。原创 2025-04-19 00:45:00 · 656 阅读 · 0 评论 -
【云原生技术】helm upgrade --install my-release /path/to/chart详解
(网络/权限允许),这个命令就能完成部署或升级。若遇到问题,可先试试。检查是否都配置正确。原创 2025-03-23 02:15:00 · 299 阅读 · 0 评论 -
【云原生技术】deployment资源的状态应该有哪些?
Deployment 并没有像 Pod 那样的单一“状态”(如 Running、Pending 等),而是通过上述字段和 conditions 组合来反映部署是否在更新、是否有足够副本可用等。原创 2025-04-16 02:00:00 · 227 阅读 · 0 评论 -
10MB等于多少KB
理解存储单位的二进制特性是避免混淆的关键。的换算适用于文件大小、存储容量等场景。实际使用中需注意系统差异和厂商标称方式的区别。原创 2025-04-18 00:15:00 · 647 阅读 · 0 评论 -
【云原生技术】容器启动但探活失败的核心原因
探活失败本质是Kubernetes 与应用状态感知的异步性导致。需通过“配置调优 + 资源预留 + 链路监控”三位一体的方案解决。对于复杂场景,建议结合腾讯云 TKE 的容器健康检查增强功能,实现更智能的探针策略。原创 2025-04-19 00:15:00 · 875 阅读 · 0 评论 -
【云原生技术】Pod 处于 Running 代表什么?能代表有交易进来能发通吗?
因此,Pod 虽然显示 “Running”,并不一定就代表对外可以正常接收并处理交易。只有当其处于 “Ready” 状态,并且与 Service 绑定或对外暴露了合适的端口/路由,才说明已经可以处理流量。但要真正确认服务端到端可用,还需检查网络连通性、路由/Ingress/SecurityPolicy,以及应用自身的健康状况。时,仅表示在 Kubernetes 角度,这些副本均完成部署、状态就绪;,仅表示其主容器(或全部容器)当前正在运行,并没有因崩溃、重启或调度问题而处于。在 Kubernetes 中,原创 2025-04-16 02:15:00 · 895 阅读 · 0 评论 -
【云原生技术】Kubernetes部署后出现的Readiness和Liveness探针失败的问题,具体错误是TCP连接被拒绝
报错核心是TCP 端口不可达,优先排查应用是否监听端口及探针配置。若问题仍存,逐步检查资源、网络策略和依赖服务。通过调整探针参数和资源限制,可显著降低健康检查失败频率。原创 2025-04-18 00:30:00 · 551 阅读 · 0 评论 -
【云原生技术】Kubernetes 中的 **Service** 是一种抽象资源
其核心作用是通过统一的网络标识(如虚拟 IP 或 DNS 名称)屏蔽后端 Pod 的复杂性,确保即使 Pod 发生扩缩容或重启,服务访问仍能保持稳定。:将 Service 映射到外部服务的 DNS 名称(如数据库或第三方 API),实现集群内部通过 Service 名称透明访问外部资源。:在集群内部提供一个固定的虚拟 IP(ClusterIP),仅允许集群内的其他组件(如 Pod)通过该 IP 或 DNS 名称访问服务。• 中间件服务(如 Redis、MySQL)的集群内访问。Kubernetes 中的。原创 2025-04-18 00:45:00 · 777 阅读 · 0 评论 -
【云原生技术】启动应用服务时,pod存储大小是在哪里配着的?
则 Kubernetes 对容器的临时存储不会有明确的请求或限制(会根据集群默认策略、节点配置来处理)。但实际数据依旧会写到节点本地磁盘,并在 Pod 离开或容器重建后被清理。如果你需要在启动应用服务时明确指定“磁盘大小”,且数据要保留,通常使用。当你在 Pod 中未挂载任何持久化存储 (PVC) 时,容器会默认使用。若只是限制容器本地存储的消耗,可通过。的 requests/limits 来实现。原创 2025-04-17 00:30:00 · 977 阅读 · 0 评论 -
【云原生技术】在Kubernetes中如何确定交易的发送地址和端口
服务类型地址格式适用场景ClusterIP服务名.命名空间.svc.cluster.local:端口集群内微服务间通信NodePort节点IP:30000-32767端口开发测试环境临时访问云厂商分配的外部IP:端口生产环境公网暴露服务Ingress自定义域名:80/443基于域名的七层路由管理操作建议优先通过和获取基础信息;复杂场景结合 Ingress 和网络策略排查;生产环境推荐使用 LoadBalancer + Ingress 实现高可用暴露。原创 2025-04-21 01:45:00 · 1182 阅读 · 0 评论 -
【云原生技术】查看Jenkins 上允许多个流水线并行执行配置在哪里
通常如果你的 Jenkins 上有很多要轮询的项目,而 SCM 服务器性能有限,或者不希望因为频繁轮询导致高并发,就可以通过这个设置来控制轮询并发度。只要 Jenkins 的执行器数量充足,并且你的具体 Pipeline 没有禁用并发,就可以同时运行多个流水线。类型的项目中,Jenkins 会根据 SCM(如 Git)中的分支自动创建或移除对应的构建任务。表示最多只保留多少个这样的孤立 Job,如果数量超过这个上限,就会把多余的自动删除。中启用“丢弃旧构建”并设定需要保留的天数或构建数。原创 2025-04-22 00:15:00 · 742 阅读 · 0 评论 -
【云原生技术】在 Spring Boot 中,许多依赖和配置是通过 自动配置 和 Starter POMs 机制来处理
通过 Starter POMs 和自动配置,Spring Boot 使得应用的构建和配置变得非常简单。你只需要在pom.xml中添加少量依赖,Spring Boot 会处理其余的工作,并自动配置所需的库和组件。这种方式极大地提升了开发效率。原创 2025-04-26 01:00:00 · 1414 阅读 · 0 评论 -
【云原生技术】部署后报错Unhealthy Liveness probe failed / Unhealthy Readiness probe failed: dial tcp
通过上面方法,能判断容器是否真的监听了Liveness/Readiness探活所配置的端口,并进一步排查端口配置不一致或应用尚未启动完成等问题。依然提示 “Connection refused”,通常意味着容器里没有任何进程在该端口上监听,或者监听尚未就绪。只要将容器暴露的端口与探活 probe 的设置对上,并保证应用如期启动,一般就能通过探活检查。通过这两种方式,就能准确知道容器里应用真正绑定和监听的端口。要确认容器里有没有在指定端口监听,常用的做法是。进入容器后,就能在容器里的终端执行命令了。原创 2025-04-23 00:15:00 · 780 阅读 · 0 评论 -
【云原生技术】容器中启动java应用的具体命令怎么可以看到?
1. 在 Deployment 里挂卷 + 设置 `SPRING_CLOUD_BOOTSTRAP_LOCATION=file:/app/cfg/…`; 2. 保证 bootstrap 机制处于开启状态(或用 Config Import); 3. `java -jar /app/app.jar` 启动时 Spring 就会把该 yml 自动加载。原创 2025-04-25 00:30:00 · 1290 阅读 · 0 评论 -
【云原生技术】Spring Boot 通过应用配置文件(通常是 `application.properties` 或 `application.yml`)来集中管理应用的配置
在这个示例中,我们通过或文件集中管理了应用的配置,包括服务器端口、数据库配置以及 JPA 设置。Spring Boot 在启动时会自动读取并应用这些配置,这样我们不需要手动对数据库连接、端口等进行繁琐的配置。你可以轻松地修改这些配置,而不必深入到代码中。这种配置方式不仅结构清晰,还能让你在不同环境(开发、测试、生产)之间轻松切换配置,比如通过使用 Spring Profiles 来管理不同环境的配置文件。原创 2025-04-27 00:30:00 · 926 阅读 · 0 评论 -
【云原生技术】在 Kubernetes 中,通过 Deployment 的 YAML 文件将 ConfigMap 挂载为 Volume 的核心作用
通过将 ConfigMap 挂载为 Volume,Kubernetes 提供了一种灵活且安全的配置管理机制,尤其适合需要动态加载复杂配置的场景。:当 ConfigMap 更新时,kubelet 会定期(默认间隔约 1 分钟)同步更新到节点上的文件,容器内文件内容随之更新。:更新 ConfigMap 后,Kubernetes 会自动将新配置同步到已挂载的 Volume(需结合具体配置和版本)。Kubernetes 会在容器启动时,将 ConfigMap 中的键值对转换为文件,并写入挂载路径。原创 2025-04-20 00:15:00 · 730 阅读 · 0 评论