<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://me.xpzzd.com/</id><title>小胖子之道</title><subtitle>程序员,道士, 金阙玉府, 国学爱好者</subtitle> <updated>2023-08-16T10:43:15+08:00</updated> <author> <name>张臧乾</name> <uri>https://me.xpzzd.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://me.xpzzd.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="zh-CN" href="https://me.xpzzd.com/"/> <generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator> <rights> © 2023 张臧乾 </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>SpringCloud Gateway 响应头添加 Skywalking TraceId</title><link href="https://me.xpzzd.com/posts/add-skywalking-traceId-to-springcloud-gateway-response-header/" rel="alternate" type="text/html" title="SpringCloud Gateway 响应头添加 Skywalking TraceId" /><published>2023-04-24T11:00:00+08:00</published> <updated>2023-04-24T11:00:00+08:00</updated> <id>https://me.xpzzd.com/posts/add-skywalking-traceId-to-springcloud-gateway-response-header/</id> <content src="https://me.xpzzd.com/posts/add-skywalking-traceId-to-springcloud-gateway-response-header/" /> <author> <name>zhangzangqian</name> </author> <category term="技术" /> <summary> 在微服务架构中，一次请求可能会被多个服务处理，而每个服务又会产生相应的日志，且每个服务也会有多个实例。在这种情况下，如果系统发生异常，没有 Trace ID，那么在进行日志分析和追踪时就会非常困难，因为我们无法将所有相关的日志信息串联起来。 如果将 Trace ID 添加到响应头中，那么在进行日志分析和追踪时，配合日志收集分析平台，我们就可以通过这个 Trace ID 将所有相关的日志信息串联起来，便于分析和定位问题。 那么如何实现呢？微服务架构下 Api 网关是流量的统一出入口，在 Api 网关配置是最合适的，我们使用的 SpringCloud Gateway 作为微服务的应用网关，同时时 Skywalking 作为链路追踪工具。两者版本如下： SpringCloud Gateway 3.1.4 Skywalking Agent 8.14.0 下载并解压 ... </summary> </entry> <entry><title>docker 登录 harbor x509 问题解决</title><link href="https://me.xpzzd.com/posts/docker-login-harbor-x509/" rel="alternate" type="text/html" title="docker 登录 harbor x509 问题解决" /><published>2023-04-20T11:00:00+08:00</published> <updated>2023-04-20T11:09:34+08:00</updated> <id>https://me.xpzzd.com/posts/docker-login-harbor-x509/</id> <content src="https://me.xpzzd.com/posts/docker-login-harbor-x509/" /> <author> <name>zhangzangqian</name> </author> <category term="技术" /> <summary> 当 Docker 客户端尝试连接到私有仓库时，如果出现 x509: certificate signed by unknown authority 错误，通常表示 Docker 客户端没有私有仓库证书的信任链。可以按照以下步骤进行修复： 手动下载证书 首先，可以使用 openssl 命令手动下载私有仓库的证书。假设私有仓库的 URL 为 https://harbor.example.com，则可以运行以下命令： openssl s_client -showcerts -connect harbor.example.com:443 &amp;lt;/dev/null 2&amp;gt;/dev/null | openssl x509 -outform PEM &amp;gt; /path/to/harbor.example.com.crt 该命令将从... </summary> </entry> <entry><title>Kubernetes 学习之基础知识</title><link href="https://me.xpzzd.com/posts/k8s-basic/" rel="alternate" type="text/html" title="Kubernetes 学习之基础知识" /><published>2023-03-18T16:00:00+08:00</published> <updated>2023-03-18T16:00:00+08:00</updated> <id>https://me.xpzzd.com/posts/k8s-basic/</id> <content src="https://me.xpzzd.com/posts/k8s-basic/" /> <author> <name>zhangzangqian</name> </author> <category term="技术" /> <summary> Kubernetes 是一个开源的容器编排平台，用于自动化部署、扩展和管理容器化应用程序。它提供了许多功能，例如服务发现、负载均衡、自动伸缩、滚动更新等，使得运维人员可以轻松地管理大规模的容器化应用程序。本文将介绍 Kubernetes 的核心概念和架构。 Kubernetes 的核心概念 Pod Pod 是 Kubernetes 最小的调度单位，它是一个或多个容器的集合，这些容器共享网络和存储资源。Pod 通常包含一个主容器和一个或多个辅助容器。主容器通常是应用程序容器，而辅助容器通常用于辅助任务，例如日志收集、监控等。每个 Pod 都有一个唯一的 IP 地址和一个 DNS 名称，其他的 Pod 可以通过这个 IP 地址或 DNS 名称来访问它。 Deployment Deployment 是一种 Kubernetes 对象，它用于管理 Pod 的部署和更新。Deploy... </summary> </entry> <entry><title>基于 Gitlab + Harbor + K8s + Kuboard 的 CI 实践</title><link href="https://me.xpzzd.com/posts/ci/" rel="alternate" type="text/html" title="基于 Gitlab + Harbor + K8s + Kuboard 的 CI 实践" /><published>2023-03-12T16:00:00+08:00</published> <updated>2023-04-20T11:09:22+08:00</updated> <id>https://me.xpzzd.com/posts/ci/</id> <content src="https://me.xpzzd.com/posts/ci/" /> <author> <name>zhangzangqian</name> </author> <category term="技术" /> <summary> CI/CD 概念 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一种面向开发和运维团队的解决方案，CI/CD 主要针对在集成新代码时所引发的问题（亦称：“集成地狱”）。 具体而言，CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期（从集成和测试阶段，到交付和部署）。 下图展示了当前比较典型的持续构建集成的一种做法。 大概流程为我们研发工程师代码提交到 GitLab 之后，使用 GitLab 的流水线自动编译打包 docker 镜像，提交到 Harbor，然后通知 Kuboard 进行自动拉取镜像，部署最新代码。 废话不多说，我们进入实战环节。 先决条件 搭建 GitLab 服务 搭建 Harbor 服务 搭建 K8s 集群以及 Kuboard 服务 ... </summary> </entry> <entry><title>金丹被人破坏了</title><link href="https://me.xpzzd.com/posts/20230301neilian/" rel="alternate" type="text/html" title="金丹被人破坏了" /><published>2023-03-01T20:31:00+08:00</published> <updated>2023-03-01T20:31:00+08:00</updated> <id>https://me.xpzzd.com/posts/20230301neilian/</id> <content src="https://me.xpzzd.com/posts/20230301neilian/" /> <author> <name>zhangzangqian</name> </author> <category term="内炼" /> <summary> 昨晚做梦，梦到师兄帮我开天眼，头晕目眩，然后就看到一群小鬼，汗毛炸裂，早晨4点半，发现裤裆湿了，我直接惊呆。简单处理就睡了，5点起床，好累的感觉，金龍有些不在状态，完事财神体也没修。 上午直接调动金龍去了师兄那，他告诉我金龍发怒了，因为我昨天说错了话，被人嫉妒，派小鬼过来把我的金丹戳破了，我立刻意识到应该是在抖音跟人连麦讲梦到金龍的事情，然后有坏人！唉非常后悔，连忙跟金龍道歉，保证以后自己的法术不在炫耀。 回来之后立刻调动酆都兵马护身。 </summary> </entry> </feed>
