- 博客(129)
- 收藏
- 关注
原创 我让AI写了一篇kind(kubernetes in docker)是什么的介绍文章,一起学习
前置:需要 Docker(或 Podman/nerdctl),以及可选但建议安装的kubectl。方式一(Go 用户)安装后kind一般在,需保证该目录在PATH中。方式二:从Releases下载对应平台的二进制,改名为kind并放入PATH。包管理器示例、Scoop、Winget 等(见官方 Quick Start)。注意:CI 场景建议使用带稳定 tag 的版本(如 v0.31.0);若需测 K8s 最新源码,可从源码安装。
2026-02-10 15:34:09
838
原创 ZooKeeper 集群部署指南(Kubernetes StatefulSet 方式)
本文介绍了在腾讯云TKE上使用StatefulSet部署3节点ZooKeeper集群的详细方案。重点包括:1) 采用StatefulSet确保稳定的网络标识和存储;2) 关键配置StorageClass使用腾讯云CSI驱动com.tencent.cloud.csi.cbs和Immediate绑定模式避免VolumeBinding超时;3) 提供完整的架构图和资源清单,包含数据(20Gi)和日志(10Gi)的持久化存储;4) 部署过程中遇到的常见问题解决方案。该方案也适用于其他云厂商K8s集群,需相应调整St
2026-01-26 14:49:21
860
原创 ZooKeeper 单机部署指南
本文档提供了ZooKeeper单机部署指南,主要包括:1) 前置准备(环境要求与部署包说明);2) 详细部署步骤(解压包、处理报错、安装Docker/Docker Compose、加载镜像、创建数据目录);3) 功能验证方法(四字命令和zkCli测试);4) 常用运维命令(服务管理、状态查看、数据备份);5) 常见问题排查。部署过程使用Docker Compose方式,强调目录权限设置的重要性,并提供了Ubuntu和CentOS系统的适配方案。
2026-01-26 14:40:35
720
原创 怎么把运维能力沉淀下来?
比如argoCD是用什么语言写的,它具体是怎么个通信的方式,是怎么监听的git仓库,怎么连接的k8s集群,怎么去diff的,怎么去调用k8s的apiserver的,让这个玩意动起来。比如我之前记录的,也是看别人总结的,自己再拿过来,或者加上一些自己的总结,比如之前的git,那么就可以再不会的时候,或者忘了的时候,打开博客,看一下,相当于是笔记。但在这种不在乎的情况下,有人在无利益的情况下,对你的写作或者叫内容输出,或者就是更多的是吐槽,也表示出认可,那么这个东西还是对写作者的心态应该是积极的。
2026-01-26 12:44:37
530
原创 怎么给一个域名的换证书?
摘要:HTTPS访问需443端口及CA证书,腾讯云用户可在控制台管理证书。建议企业用户购买300元/年的付费证书(避免免费证书90天更换的运维风险)。证书更换方法:云CLB在监听器绑定新证书;传统NG模式需替换/usr/local/nginx/conf/ssl目录下的证书文件并reload;云原生模式通过ingress的yaml配置TLS证书。操作时注意备份旧证书,用nginx -t验证配置,通过curl或浏览器检查新证书是否生效。
2026-01-26 12:03:03
339
原创 http状态码体系和相关经验汇总,给以后判断问题提供基础
HTTP状态码解析摘要: 401(未授权)通常由未登录或无效token引起,前端请求缺失uac-token或Docker未登录时常见,可通过浏览器F12检查token问题。 403(禁止访问)表示认证成功但权限不足,需检查账号权限配置,区别于401的身份认证失败。 502(网关错误)多因Nginx代理的后端服务未启动或endpoints配置错误,需检查服务状态和网络连接。 503(服务不可用)是临时状态,常见于Pod重启时的1-2分钟间隔,建议实现重试机制。 快速参考: 401-认证问题|403-权限问题|
2026-01-16 22:48:01
686
原创 什么是有状态无状态?首先要问,你说的什么的状态?会话的状态?还是身份标识、网络标识、顺序语境、固定储存的状态?
本文解答了关于系统状态管理的11个关键问题,涵盖HTTP和Kubernetes两个层面的状态概念差异。主要内容包括:1) HTTP有状态(会话保持)与无状态(RESTful API)的区别;2) Kubernetes StatefulSet中Pod身份与持久存储的特性;3) 状态管理原则(状态下沉与外放);4) JWT认证的本质;5) HTTP会话与AI上下文的相似性。核心观点指出:讨论"状态"必须明确是基础设施层面(K8s Pod身份、存储)还是应用层面(HTTP会话),二者虽术语相同
2026-01-16 22:26:08
636
原创 Jumpserver到底是咋玩的
如果,比如开发申请一台新机器,管理员对于之前的Jumpserver里面怎么配置的不清晰。管理员刚入职一个月,之前的同事也没交代这个Jumpserver是怎么搞的。管理员想用新机器,新规则,搞一套全新的,这个应该怎么弄?这里看不到公钥,接下来需要拿到Jumpserver的公钥才能继续。
2025-12-15 17:49:29
282
原创 curl -v 对于运维来说,比f12可能更适合
hello@abc ~ % curl --help | grep -- -v-v, --verbose Make the operation more talkative
2025-12-01 22:50:44
233
原创 NG配置解释
本文总结了Nginx配置中的几个关键点:1) 文件路径识别不需要后缀名;2) location匹配规则,使用~启用正则表达式,~*表示不区分大小写;3) 重定向方法比较,推荐用try_files替代return或rewrite;4) proxy_pass指令用于反向代理,可指向自定义upstream集群;5) HTTP请求头是键值对集合;6) 状态码分类,4XX为客户端错误,5XX为服务器错误。这些要点涵盖了Nginx配置中路径处理、重定向和代理等核心功能。
2025-12-01 02:09:59
90
原创 kafka的工作原理
感觉最主要的道理就是,生产者不用管上一条发送的消息,有没有被消费者消费,只管自己往消息队列那里发就行了。这样就是一个不管一个,可以全力专心的干好自己的事,只要消息队列本身不挂就行。SDK software develop kit , 软件开发工具箱,通常包含了一个或者多个API,并对其进行了封装和增强,使其更加好用。不同的队列,称为分区,partition是分区,类似于电视上的不同的频道。先要订阅一个发布者的主题,才能消费这个发布者的消息。分区、partition对应的是硬盘上的不同目录。
2025-11-25 02:36:58
307
原创 Java学习笔记2
202511181Java是区分大小写的2创建Java程序前首先需要创建一个项目。项目类似于一个文件夹。用于包含Java程序以及所有的支持文件。只需要创建项目一次。3编辑面板输出面板4计算机是存储和处理数据的电子设备5计算机程序也称为软件。软件控制硬件。6计算机程序设计就是编写让计算机执行的指令即代码7机器语言是一套内嵌。
2025-11-19 10:08:06
215
原创 Java学习笔记1
31. 由于一个错误常常会显示很多行的编译错误,因此,从最上面的行开始向下纠正错误是一个很好的习惯。17. javac Welcome.java,这里面的javac是编译Welcome.java这个源文件的命令。24. 你的Java代码还可能要用到Java库中的代码,那么JVM将执行你的程序代码以及库中的代码。20. 字节码类似机器指令,但它是架构中立的,可以在任何带Java虚拟机(JVM)的平台上运行。4. JDK由一组独立程序构成,每个程序都是从命令行调用的,用于编译、运行和测试Java程序。
2025-11-18 07:46:50
385
原创 nacos是什么?
Nacos作为服务与配置中心,通过客户端集成方式实现应用程序的连接。应用启动时向Nacos注册自身地址(IP:Port),同时从Nacos获取其他服务地址和动态配置信息,实现服务发现与配置管理功能。
2025-11-08 08:07:49
209
原创 kubeadm部署k8s的master节点和node节点都需要什么
master节点部署,用kubeadm init,apiserver api服务器公告ip地址,service服务CIDR无类域间路由,计算节点部署,用kubeadm join。cri socket文件路径。需要master的token。和ca证书的hash哈希码,cri socket文件路径。master节点主机名,pod网络CIDR,
2025-11-05 22:05:25
359
原创 什么是ingress?
所以,ingress真正的实现方式,是定义一个kind为ingress的k8s的资源,这个资源里面说清楚一些规则,和ingress调用的类的名称,也就是ingressClassName,这个类实际调用的是ingress controller,这个ingress controller实际上是一个pod,里面运行的是nginx进程,这个进程也是从镜像里面读到的。而控制器,实际上是一个叫ingress-nginx-controller的pod。先从词语本身的翻译来说,In gress是向里面走的意思。
2025-11-02 00:50:33
299
原创 怎么配置一个kubectl客户端访问多个k8s集群
怎么配置一个kubectl客户端访问多个k8s集群为什么有的客户端用token也访问不了k8s集群因为有的是把kubeconfig文件改为了kubeconfig文件文件设置成隐藏文件了。按照kubectl的寻找配置的逻辑kubectl找不到要访问集群的用户名等信息就会报错没有登录等情况。
2025-04-24 21:06:52
721
原创 docker底层原理
docker底层原理在机器上安装docker服务器端的程序就会在机器上自动创建以下目录默认安装路径是varlibdocker服务器端的工作目录的作用如下镜像的每一层的元数据放在image目录下。镜像的每一层的物理存储数据也就是文件系统放在overlay2目录下docker客户端程序安装的时候会产生如下目录和文件主要是关于可以操作docker服务器的。
2025-04-19 17:08:54
604
原创 zookeeper基本概念和核心作用
场景:例如,当服务配置需要变更时,所有节点可实时从 ZooKeeper 拉取最新配置,避免手动更新的复杂性。功能:在分布式集群中选举一个 Leader 节点,协调集群操作(如 Kafka 的 Broker 选举)。场景:例如,服务注册与发现(如微服务中的服务实例管理)。场景:例如,当某个节点失效时,通知其他节点重新分配任务。
2025-04-05 15:56:07
789
原创 k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路
【代码】k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路。
2025-04-04 13:25:57
624
原创 什么是数据仓库
什么是数据仓库Datawarehouse是面向主题的主要根据各种数据来源来进行历史分析形成一个趋势分析为数据挖掘、预测建模、机器学习提供基础数据与传统数据库比如gaussdb的区别。数据仓库注重历史数据分析guassdb注重实时事务处理数据仓库时企业的战略级数据资产主要是用来做数据分析的整合了各种各样的数据源对业务数据和生产。
2025-04-04 00:01:30
350
原创 如何学习一门计算机技术
开发团队和设计团队对于产品的命名一般是有原因的,不是随便起的,就算是随便起的,也是有原因的。所以明白这些词语的取意,就比较容易理解这个技术架构的设计思想,一般取意于自然界。学习者对于技术方面的架构觉得不容易理解的时候,可能可以考虑从开发者给软件取名称的原因的角度考虑,大部分应该能和自然界的事物和语言联系起来。为什么会有这个东西。比如为什么会有C语言这门编程语言,为什么会有Python,它比在它之前的语言有什么优点,为什么有了别的语言,还会开发出Python解释器,来解释Python语法写出的代码。
2025-04-03 10:49:40
295
原创 git的作用,以及和github的区别
一般应该是,这个目录里面的数据经常改变的时候。而且你和他不想一起把这个文件夹越改越乱的话,两个人想法不一样,或者这个文件夹里面的东西,你是主要的开发者,别人是开源的参与者,那么你就可以不让别人修改主分支,但是可以拉一个新分支出去,就是fork,他在上面随便改,甚至也可以删掉,但是不影响你主分支的修改,如果他改的想合并到你的主分支上,就可以发一个pull request,就是请求你拉他的修改,把他修改的东西和你的分支进行一个合并。所以,git,github,分支都不是必要的,包括tag,看你需不需要而已。
2025-03-30 18:59:39
1533
原创 git在实践使用中的操作流程
拉最新代码,减少修改之后冲突的可能性,比如别人修改了同一个文件,你也修改这个文件,如果你没有git pull拉下来他最新的修改版本的话,不在他改过的基础上再去改的话,你从自己本地的仓库和工作区旧的版本的这个文件上改,等push的时候可能就会有冲突,如果先git pull了,在最新的文件上进行你的修改,再push的时候,冲突的可能性就减少了。3. git add 指定的文件,放到暂存区,或者git add . 所有修改了的数据,从工作区添加到暂存区./git/index和./git/object中。
2025-03-28 01:13:06
295
原创 图片解释git的底层工作原理
不同的分支是不同的指针指向不同的commit的持续变化。7. HEAD_4和branch_d也是同样的理论,区别是,这个commit_2打了一个TAG,这个TAG是给commit_2贴的一个标签,方便人类识别,可以通过这个TAG来访问这个commit_2,打TAG的目的是,在很多的commit中,每一个commit都是用哈希值代表的,人们在工作中,不容易通过hash值和当时commit的msg来确定这个commit是干嘛的,所以对于重要的commit,可以打一个或多个TAG来指定这个commit是干嘛的。
2025-03-28 01:02:20
879
原创 五个步骤,学习技术的小循环,可能还行
这些AI可以给学习者提供验证的命令,学习者自己可以打开Windows git软件,在一个test目录里面做实验,实验的结果就是问题的答案,如果有看源码的习惯,会对这个技术的底层设计和每一个细节的设计有更准确的理解,如果遇到这个技术的疑难问题,教程解决不了,AI不知道,实验也不知道从哪里做起,这个时候看源码,应该是最接近解决问题的方式,或者不一定解决,但是应该能知道问题出现在哪里,因为说白了,计算机相关的东西都是人设计的,使用者看懂设计者是怎么设计的,就知道大概情况了。
2025-03-23 11:36:43
388
原创 git的底层原理
git的每次commit都会产生一个校验和,这个校验和是通过SHA-1算法算的(Secure Hash Algorithm 1),SHA-1是一种加密散列函数,用于生成数据的唯一固定大小的哈希值。在Git中,这个哈希值用于标识对象(如commit、tree、blob等),保证了数据的完整性和版本的唯一性。这个值是唯一的,相当于保存了每一次提交的目录树结构和具体的文件的情况。如果要切换到这个状态,或者使用这个状态,用hash值作为索引就能找到这个快照。算出来的校验和长度越来越长,也越来越安全。
2025-03-22 13:08:04
659
原创 git_version_control_proper_practice
所以在v1.8.5之后不用再打tag,需要等到下个版本准备h-uat测试的时候,开始打v1.8.6-rc0,然后h-uat和压测环境测试的过程中,发生的修改,打v1.8.6-rc1、v1.8.6-rc2这样的tag,然后打包完成生产部署包之后,这个包已经发往生产环境之后,打一个v1.8.6 -a -m "official version for release v1.8.6"的tag。后面需要新环境部署这个版本的时候,可以checkout v1.8.5这个正式版的标签,来使用这个版本的部署仓。
2025-03-22 11:55:14
471
原创 python语法
(自己之前写的python文件的名称,不包含.py的后缀)聚合函数爱写谁写谁,但是非聚合函数中,GROUP。[模块 | 类 | 变量 | 函数 | *](空格、 换行\n、 制表符\t等)
2025-03-16 19:00:10
646
原创 python和devops
改变了的用计算一个新的sha-1值,用指针指向这个对象,同时又有一个目录树的状态对应着每次commit。python的报错,要看最下面一行,最下面一行应该是原始的错误所在行,但是捕获错误可以从最高层捕获。git的存储机制有点类似于copy on write技术,给每一个对象计算一个sha-1值,readlines()读取文件的全部内容,会把读取到的内容赋值给一个列表变量。read()读取文件的全部内容,会把读取到的内容赋给一个字符串变量。网页就是一个文件,是一个在网上的文件。可以把一个图片下载到本地。
2025-03-16 12:25:02
384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅