- 博客(129)
- 收藏
- 关注
原创 【Kubernetes】Kubernetes 在云平台(AWS EKS、GCP GKE、Azure AKS)的使用有何不同
特性AWS EKSGCP GKEAzure AKS管理模式完全托管,管理控制平面(master 节点)完全托管,管理控制平面(master 节点)完全托管,管理控制平面(master 节点)控制台gcloudCLIkubectl集成服务AWS EC2、IAM、CloudWatch、RDS 等GCP Cloud Storage、BigQuery、Cloud Pub/Sub 等Azure Blob Storage、Azure SQL、Active Directory 等网络与服务发现。
2025-04-02 20:47:29
184
原创 【Kubernetes】如何使用 kubeadm 搭建 Kubernetes 集群?还有哪些部署工具?
使用kubeadm搭建 Kubernetes 集群是一个比较常见的方式。kubeadm是 Kubernetes 提供的一个命令行工具,它可以简化 Kubernetes 集群的初始化和管理。下面是使用kubeadm。
2025-04-02 20:46:05
476
原创 【docker】Dockerfile中ENTRYPOINT和CMD区别理解
ENTRYPOINT适用于指定容器启动时始终执行的主命令或程序,适合核心应用程序。CMD用于提供默认参数或默认命令,具有更高的灵活性,可以通过运行时参数覆盖。
2025-03-27 17:17:11
858
1
原创 【docker】Dockerfile中COPY和ADD的区别理解,多阶段构建中COPY的用法
COPY是最基础的文件复制操作,语义明确,推荐用于文件复制。ADD除了复制文件外,支持自动解压和从 URL 下载,但增加了不必要的复杂性,除非有解压或下载需求,否则优先使用COPY。
2025-03-27 16:39:32
672
原创 【netstat和ss】Windows和Linux下的,网络连接排查简单案例
netstat。和findstrnetstat-a-n-o这个命令的作用是。
2025-03-25 21:12:01
896
原创 【PostgreSQL】pg各版本选用取舍逻辑与docker安装postgres:15
MERGEUPSERT在-alpine版本基于,它是一个极小的 Linux 发行版(基础镜像通常只有 5MB 左右)。与标准版20MB200MB+muslbusyboxglibcpostgislibpqmuslglibcpostgispostgisplpythonmusl。
2025-03-24 22:22:58
1147
原创 【Kubernetes】Kubelet 的职责是什么?如果 Kubelet 失败了会发生什么?
【代码】【Kubernets】Kubelet 的职责是什么?如果 Kubelet 失败了会发生什么?
2025-03-18 22:07:55
989
原创 【Kubernetes】CNI(容器网络接口)是什么?Kubernetes 如何管理网络通信?etcd 在 Kubernetes 中的作用是什么?它存储了哪些关键信息?
CNI 是一种标准化的接口规范,定义了容器创建和删除时,网络插件如何为容器分配网络资源。
2025-03-17 22:34:36
905
21
原创 【Kubernetes】Kubernetes 如何进行容器编排和调度?如何使用 kubectl`创建和管理 Pod、Deployment、Service?
Kubernetes 调度器负责决定将 Pod 分配到哪个 Node 节点。(Desired State)来管理容器,确保实际运行状态与期望状态保持一致。类型,使用节点 IP 和端口访问;Kubernetes 通过定义。类型,需要在集群内部访问。
2025-03-17 22:31:59
661
6
原创 【Kubernetes】Service 的类型有哪些?ClusterIP、NodePort 和 LoadBalancer 的区别?
类型访问范围适用场景是否支持外部访问使用场景例子ClusterIP集群内部访问集群内服务间的通信否微服务之间的内部通信NodePort集群内外访问,外部通过 Node IP 和端口访问需要从集群外部访问服务是测试环境或开发环境中访问服务集群内外访问,提供外部负载均衡器从外部访问服务,需要高可用、负载均衡是生产环境中需要外部访问的 Web 应用外部 DNS 名称映射将外部服务映射为 Kubernetes 内部服务是访问外部的数据库或 API 服务。
2025-03-16 22:13:54
1101
1
原创 【Redis】缓存穿透、缓存击穿、缓存雪崩
异常类型触发场景解决方案缓存穿透请求的数据不存在缓存空值、布隆过滤器缓存击穿热点数据过期的瞬间加锁、缓存预热缓存雪崩大量缓存同时失效过期时间随机化、多级缓存。
2025-03-16 15:37:10
644
原创 【Kubernets】Kubernetes 的基础知识,Pod是什么? 和容器的关系?多个容器如何在同一个 Pod 里协作?
在同一个 Pod 里的容器,可以通过以下。,需要协作完成任务。,可以用于日志处理。
2025-03-10 22:46:21
938
原创 【Kubernetes】Kubernetes是什么? 是如何工作的?它的核心组件有哪些?以及实际工作案例理解
【代码】【Kubernetes】Kubernetes是什么?是如何工作的?它的核心组件有哪些?以及实际工作案例理解。
2025-03-10 22:33:44
1119
原创 【MySQL】与MongoDB的区别,字符集,三范式,存储引擎InnoDB、MyISAM
三范式(1NF、2NF、3NF)是数据库设计的基本要求,满足。,要么全部执行,要么全部不执行,保证数据一致性(ACID)。,索引和数据分开存储,查询主键时需要两次访问磁盘。先通过索引找到数据位置,再去查询数据,查询慢。的数据库,数据重复率越低,但查询可能变复杂。,主键索引和数据存储在一起,查询主键时性能高。属于谁时,需要拆分字符串,影响查询效率。不支持这种外键约束,可能导致数据不一致。失败,也无法回滚,导致数据可能出错。的主键索引直接定位到数据,查询快。的应用(如支付、订单、银行系统)。
2025-03-04 11:36:51
1163
原创 【计算机网络】HTTP1.0/1.1/2.0对比,常用请求方式总结,HTTPS加密过程,浏览器访问域名详细过程
同时,如果你关闭网页后的一段时间内再次访问,同一个服务器可能仍会复用之前的 TCP 连接(只要服务器未超时关闭),这样可以减少。客户端收到并验证证书,证书是不是CA发的、证书中的提到的域名和实际发来的一不一样、证书是否过期,出现异常时向访问者发送警告,就是我们有时访问网站弹出来的不安全警告,如果都没问题,那么就由客户端随机一个。例,一个网页中的各种图片,css,文件要加载时都会触发短连接,你关了这个网页就把他们全部关了,就好像没有缓存一样。,即如果 75 秒内没有新的请求,服务器会主动关闭连接。
2025-03-01 21:59:56
1139
原创 【计算机网络】TCP协议相关总结,TCP可靠性的生动讲解
SYN洪泛攻击属于 DOS 攻击的一种,它利用 TCP 协议缺陷,通过发送大量的半连接请求,耗费 CPU 和内存资源。1. 什么是半连接(Half-Open Connect)在 TCP 三次握手过程中,服务器发送[SYN/ACK]后(第二次握手后),进入SYN_RECV 状态,等待客户端的[ACK]。若收到[ACK],连接建立。若未收到,服务器会重发[SYN/ACK]直至超时,占用资源。2. SYN 攻击原理攻击者伪造大量不存在的 IP 地址,向服务器发送[SYN],服务器回复[SYN/ACK]
2025-02-28 19:52:34
916
原创 【计算机网络】TCP三次握手,四次挥手以及SYN,ACK,seq,以及握手次数理解
三次握手让双方确认通信能力:所谓确认通信能力就是双方都确认。
2025-02-28 18:22:07
1578
原创 【docker】docker swarm lock和unlock的区别,以及旧节点重启的隐患
Docker Swarm 提供了**加密集群状态(Encrypted Raft logs)**的功能,可以防止 Swarm 集群的管理数据(如任务分配、集群配置等)在磁盘上被未授权访问。,这样即使主机被攻击,攻击者也无法直接访问 Swarm 状态数据。,除非你强制重新创建 Swarm 集群(会导致数据丢失)。(默认开启),Swarm 状态会加密存储,管理节点重启时。(Swarm 初始化时生成的)。如果丢失解锁密钥,Swarm。这样 Swarm 以后重启时。如果你的 Swarm 集群。
2025-02-25 17:16:51
375
原创 【docker】docker pull拉取中不断重复下载问题,解决方案之一,磁盘空间扩容
如果 Docker 运行环境的磁盘空间不足,拉取的镜像可能会被自动清理,导致重复下载。在df-h之后可以看到:你的 / 根分区(/dev/mapper/ubuntu–vg-ubuntu–lv)总共 9.8G,已经用了 7.2G,只剩下 2.2G 可用空间,使用率 78%。虽然空间还没满,但 GitLab CE 镜像通常比较大(可能超过 2GB),所以 磁盘空间可能不够,导致 docker pull 失败并重新下载。
2025-02-25 12:33:05
1044
原创 【gitlab】认识 持续集成与部署
持续部署(Continuous Deployment,CD)是将构建后的制品自动部署到不同环境(测试、预生产、生产)的过程。它的目标是让开发的功能尽快交付给用户。CD 的关键特性特性说明自动化部署代码通过 CI 流程后,自动化推送到部署环境。版本管理明确版本控制,支持回滚。快速反馈让测试和运维团队尽早介入,降低风险。最终用户可见生产环境部署后,用户可以直接使用新功能。
2025-02-21 22:35:20
1254
原创 【git】提交修改、回撤、回滚、Tag 操作讲解,与reset (--soft、--mixed、--hard) 的区别
的修改加进上一次提交,而不会创建新的 commit。过程中遇到冲突,手动修改后执行此命令继续回滚。过程中遇到冲突,放弃回滚,恢复到原来的状态。:修改上一次提交的说明,不影响文件内容。:修改最近一次提交的信息或内容。:生成一个新的提交来撤销。的修改,而不会修改历史。Tag 推送到远程仓库。里后面的提交都不见了。(原来的最新提交)。
2025-02-20 23:21:39
2380
原创 【git】工作流实战:从本地仓库到远程仓库,git pull 与git rebase使用讲解,案例解析
将代码从本地仓库推送到远程仓库,并模拟公司团队协作的场景。如果还没有连接远程仓库可以注册一下Gitee新建仓库复制httpsgit initgit remote add origin 粘贴https。
2025-02-20 15:52:45
1375
原创 【git】工作场景下的 工作区 <-> 暂存区<-> 本地仓库 命令实战 具体案例
Git 的是:👉→git add→→git commit→如果想回退,可以从会创建一个.git目录,用于管理 Git 版本控制信息。此时,hello.txt在,但 Git 还不知道它的存在。git statusGit 发现hello.txt,但它还没有被跟踪。git status进入了,但还没有提交到本地仓库。现在存储到了,Git 记录了它的快照。git status在被修改了。再次git status回到了。add这样hello.txt又变回未add之前的状态。
2025-02-17 11:51:33
1029
原创 【git】初识git概念及命令,工作场景流程
你是否曾经因为误删代码而懊恼不已?是否在团队协作中遇到过版本混乱的困扰?Git 就是来解决这些问题的!它就像一台时光机,可以记录你对代码的每一次修改,让你随时回退到任意版本。文件夹,用来存储 Git 的版本控制信息。这会在当前目录下创建一个隐藏的。简单来说,Git 是一个。
2025-02-17 11:30:01
990
原创 【etcd】etcd_go操作与etcd锁实现原理
是一个分布式的键值存储系统,提供了丰富的 API 用于操作和管理键值对。etcd 的 API 基于。,支持多种编程语言。以下是 etcd API 的详细讲解,包括核心功能和示例。:etcd 适合小规模锁,大量并发加锁可能影响性能。:基于 Raft,保证锁的唯一性和数据安全。:客户端崩溃时,锁会自动释放,避免死锁。:etcd 可集群部署,保证系统稳定。etcd 的分布式锁基于。:网络分区可能导致锁失效。
2025-02-16 22:57:53
964
2
原创 【etcd】etcd_APIs 简单KV、watch、lease、txn命令
etcdPutGetDeleteetcdetcdetcd在中,kv(键值操作)、watch(监听)、lease(租约)和txn(事务)是核心功能。以下是这些功能的的详细讲解,包括命令的用法和示例。put用于设置或更新键值对。localhost--leaseget用于获取键的值。--prefix--limitdel用于删除键值对。--prefixwatch用于监听键的变化。--prefix用于创建一个租约。将键绑定到租约。1234abcd用于续约,防止租约过期。1234abcd用于撤销租约,绑定的键会被删除。
2025-02-16 21:28:50
902
原创 【etcd】ubuntu22安装,与redis对比的区别
更新软件包列表:安装 etcd:启动 etcd 服务:验证安装:如果输出类似以下内容,表示安装成功:设置开机自启(可选):方法 2:通过二进制文件安装(推荐,支持最新版本)适用于需要最新版本或自定义配置的场景。下载 etcd 二进制文件:解压文件:移动文件到系统路径:创建 etcd 配置和数据目录:创建 systemd 服务文件:写入以下内容(按需修改配置):启动 etcd 服务:验证服务状态:输出应显示 。测试 etcd:
2025-02-15 22:21:27
965
2
原创 【Viper】文件、Etcd应用配置与配置热更新,go案例
Viper 的核心功能之一是能够将配置应用到 Go 应用程序中。它支持从多种数据源加载配置,并将这些配置。在某些应用场景下,我们希望,而不需要重启程序。这在微服务、长时间运行的应用程序中非常有用。
2025-02-15 20:22:42
403
原创 【Viper】配置格式与支持的数据源与go案例
文件:适合本地开发和静态配置。环境变量:适合容器化或云原生环境。io.Reader:适合从内存或网络流中加载配置。etcd:适合分布式系统的动态配置管理。
2025-02-14 23:32:33
986
原创 【gRPC-gateway】是否有拦截器的情况添加健康检查的细节,与多路复用runtime.NewServeMux和gRPC区别讲解,与跨域功能,go案例
特性http.rulesin.yaml文件注册方式手动在代码中注册在配置文件中定义依赖关系独立于gRPC服务定义基于gRPC服务定义灵活性高,适合动态路由较低,但更稳定适用场景自定义HTTP API、动态路由gRPC网关、HTTP与gRPC接口一致性维护。
2025-02-14 17:25:46
854
原创 【gRPC-gateway】auth-通过拦截器从上下文中提取元数据用于认证,与从http header转发待认证数据到上下文进行验证,go案例
main.go。
2025-02-13 22:06:25
469
原创 【gRPC-gateway】option定义规则及HttpBody响应
基础路由定义// 必须导入// 返回 HttpBody 类型// 根据文件扩展名动态设置 Content-Type。
2025-01-30 18:23:19
1445
原创 【gRPC-gateway】初探grpc网关,插件安装,默认实现,go案例
main包:应用程序的入口点,负责启动 gRPC 服务器和 gRPC-Gateway,并处理信号以优雅地关闭服务器。server包:实现了 gRPC 服务的具体逻辑,提供了GetDelete方法。proto包:定义了 gRPC 服务的消息格式和服务接口,确保客户端和服务器之间的通信协议一致。gateway包:配置并启动 gRPC-Gateway,将 HTTP 请求转换为 gRPC 调用,提供 RESTful API 接口。
2025-01-30 16:17:57
1237
原创 【Validator】universal-translator,实现动态多语言切换,go案例根据Accept-Language 动态设置 locale
根据locale设置动态语言翻译,具体包括初始化翻译器、注册多语言翻译规则、动态选择语言、以及输出本地化错误提示。locale。
2025-01-28 09:09:21
407
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人