自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 收藏
  • 关注

原创 k8s metadata.labels,spec.template.metadata.labels,spec.selector 三者之间的关系。

这个字段定义了如何找到你想要该 Kubernetes 对象(例如 Service 或 Deployment)管理的 Pod。:这些标签(labels)附加在你创建的对象(例如 Pod、Service、或 Deployment)上。标签是键值对,可以被用来组织和分类这些对象。在这个示例中,我们创建了一个名为 “my-deployment” 的 Deployment,它的标签为。中,我们定义了这个 Deployment 创建的 Pod 的标签也为。的 Pod,并且它创建的所有新 Pod 的标签都将为。

2023-11-06 14:20:13 666 2

原创 k8s service

在 Kubernetes(K8s)中,Service 是一个抽象的概念,表示一个应用程序的逻辑集合和访问这些应用程序的策略。通常,Service 都通过标签(Label)与 Pod 连接,服务会自动为这些 Pod 创建端口映射关系,有利于流量的负载均衡和服务发现。

2023-11-04 23:49:09 413

原创 k8s:endpoint

k8s endpoint

2023-11-03 00:06:52 745

原创 k8s replicaSet,deployment 学习笔记

k8s replicaSet,deployment 学习笔记。在 Kubernetes 中,ReplicaSet和Deployment都是用来确保某种 Pod 的副本数目。但是,ReplicaSet和Deployment是有差别的,二者的关系可以粗略地理解为Deployment对ReplicaSet的进一步封装。ReplicaSet是为了确保任意时刻都有特定数量的 Pod 副本在运行。换句话说,如果有 Pod 出现故障被删除,ReplicaSet会自动创建新的 Pod 来替代。但ReplicaSet。

2023-10-29 21:37:12 500

原创 k8s statefulSet 学习笔记

k8s statefulSet 学习笔记

2023-10-27 12:06:23 495

原创 golang redis lua脚本 和 lua function

golang redis lua脚本 和 lua function

2023-10-24 10:05:01 644

原创 golang判断文本文件是否是BOM格式

在Go语言中,我们可以通过读取文本文件的前几个字节来识别它是否是BOM格式的文件。BOM(Byte Order Mark)是UTF编码标准中的一部分,用于标示文本文件的编码顺序。对于不同类型的UTF编码(UTF-8, UTF-16, UTF-32),BOM的值是不同的。

2023-10-06 15:55:21 279

原创 Dockerfile RUN

请注意,每个 RUN 指令都会创建一个新的镜像层,因此在 Dockerfile 中使用 RUN 指令时,要注意将多个命令合并到一个 RUN 指令中以减小镜像的层数,这可以提高构建性能并减小镜像大小。例如:RUN [“apt-get”,“update”]例如: RUN apt-get update。

2023-09-16 15:44:08 472

原创 k8s基础概念:port ,targetport,nodeport

k8s基础概念:port ,targetport,nodeport

2023-07-19 15:56:19 2673

原创 k8s基础概念:virtual ip, Endpoint, Endpoints

k8s基础概念笔记

2023-07-11 19:49:46 842

原创 redis pipeline

redis 执行多条连续的命令的时候为了减少网络开销RTT,可以使用pipeline技术。

2023-07-04 10:08:54 304

原创 k8s pod “cpu和内存“ 资源限制

对于 CPU,我们知道计算机里 CPU 的资源是按 “时间片”的方式来进行分配的,系统里的每一个操作都需要 CPU 的处理,所以,哪个任务要是申请的 CPU 时间片越多,那么它得到的 CPU 资源就越多。这里的 m 就是毫、毫核的意思,Kubernetes 集群中的每一个节点可以通过操作系统的命令来确认本节点的 CPU 内核数量,然后将这个数量乘以1000,得到的就是节点总 CPU 总毫数。Pod的资源限制的能力。对于一个pod来说,资源最基础的2个的指标就是:CPU和内存。

2023-06-18 11:23:13 2728

原创 mongodb indexes索引 和 primary Key主键的异同学习笔记

索引是用于提高数据库查询性能的数据结构。它可以在一个或多个字段上创建,以帮助数据库快速定位和访问特定数据。通过创建适当的索引,可以减少查询时的扫描量,提高查询的效率。

2023-06-14 12:45:31 249

原创 k8s pod state terminating学习笔记

当一个 Kubernetes(k8s)Pod 处于 “Terminating”(终止)状态时,意味着该 Pod 正在被优雅地终止或删除。终止过程通常包括多个步骤,以确保 Pod 的容器正确停止并清理任何关联资源。

2023-06-12 12:59:46 769

原创 docker imageid 和 digest区别

docker imageid 和 digest区别

2023-06-07 15:21:05 1783

原创 zlib压缩,原始数据大小对压缩结果的影响

在某些情况下,当数据量较小时,使用Zlib进行压缩可能会导致压缩后的结果变大的情况。这是由于Zlib的压缩算法决定的,它的压缩算法是基于Deflate算法的,而Deflate算法在数据量较小时的效果可能不如数据量较大时显著。

2023-06-04 17:25:50 323

原创 protobuf笔记

protobuf笔记

2023-06-01 12:59:16 662

原创 关于dockerfile CMD 命令的坑

dockerfile 中的 CMD 命令在docker run -it 不会执行 CMD 命令。。

2023-05-23 17:05:05 621

原创 go.mod: checksum mismatch 报错解决办法

go.mod 里的依赖项版本号升级之后,本地下载的缓存并没有清理掉还是旧的版本,所以把go mod缓存清理掉然后删掉go sum重新生成。升级go.mod依赖版本之后会报错。

2023-04-02 11:38:21 1174

转载 go mod机制详解 (搬运)

go mod机制详解

2023-04-02 11:31:26 80

转载 go mod机制详解 (搬运)

go mod机制详解

2023-03-30 15:21:38 153

转载 解读 K8s Pod 的 13 种异常

Pod 的资源请求量是 Pod 中所有容器的资源请求之和,Pod 的资源限制量是 Pod 中所有容器的资源限制之和。而当硬亲和规则不被满足时,Pod 将无法被调度,需要检查 Pod 调度规则和目标节点状态,对调度规则或节点进行合理调整。Pod 通过 NodeSelector 节点选择器指定调度到带有特定 Label 的节点,若不存在满足 NodeSelector 的可用节点,Pod 将无法被调度,需要对 NodeSelector 或节点 Label 进行合理调整。超过 Namespace 资源配额。

2023-03-16 10:28:47 292

原创 docker 报错 error: invalid character ‘\x00‘ looking for beginning of value

执行docker build的时候报错:error: invalid character ‘\x00’ looking for beginning of value。删除 ~/.docker/contexts 目录,然后重启 dockerDesktop导致报错的原因是 meta.json 损坏,被写入了零值。

2023-03-11 11:41:41 2766

原创 16进制的一些学习

16进制,\x 代表字符,0x 代表数字。

2023-03-11 11:18:18 88

原创 recover使用误区

recover使用误区

2023-02-18 17:34:42 100

原创 golang defer

defer会把声明的以及放到栈上,当外部的包含方法return之前,返回参数到调用方法之前调用。在defer语句声明的时候入参就已经确定下来了,所以如果要传入指定参数那么就要在defer前给入参赋值。

2023-02-18 17:18:01 734

原创 go版本升级后 goland debug报错:RNING: undefined behavior version of Delve is too old for Go version

go版本升级后 goland debug报错:RNING: undefined behavior version of Delve is too old for Go version

2023-02-05 16:44:50 1889

原创 golang导入不同文件夹下的自定义包

golang导入不同文件夹下的自定义包

2023-02-05 11:26:02 1192

原创 protoc调用自定义插件

protoc调用自定义插件

2023-01-29 14:26:04 172

原创 golang int转byte数组

golang int转byte数组

2023-01-28 15:12:23 1254

转载 常见汇编指令

常见汇编指令

2023-01-09 23:51:23 349

原创 golang reflect反射之Elem()方法

golang reflect反射之Elem()方法可以看到 对于 Type类型的funcTyp,直接取Kind时,它的类型为ptr,也就是在反射中所有的指针类型都是ptr,但是当我们想要获取指针背后元素的真正数据类型时就需要使用Elem方法,Elem源码如下(省略了多个case,只关注Pointer):可以看到它是把指针类型的保存的地址取出来,然后转换为Type类型。

2022-12-08 12:00:54 1258

原创 mongodb 16M 限制

mongodb 单个document最大限制为16M。验证代码如下调整 sizee大小为16M,ReplaceOne返回错误 “an inserted document is too large”

2022-12-04 20:51:55 2789

原创 win11 删除不要的输入法,删除阿尔巴尼亚语输入法

win11 删除不要的输入法,删除阿尔巴尼亚语输入法。百度的方法是在这里找到阿尔巴尼亚语言包,但是这里没有,哈哈哈,头秃。输入法中有一个这个阿尔巴尼亚语输入法,研究了好久才明白怎么删除!

2022-11-06 09:51:00 5219 3

原创 golang channel 学习笔记

golang channel 学习笔记

2022-11-01 19:33:36 298

原创 golang nil interface 接口接收nil返回值的坑

golang nil interface 接口接收nil返回值的坑

2022-10-31 10:08:03 226

原创 golang gracefully quit优雅退出

golang gracefully quit优雅退出

2022-10-06 08:56:58 191

原创 docker ps --format 和 docker images --format 显示指定的列

docker ps --format 显示指定的列。

2022-09-13 23:55:57 725

原创 Makefile中的‘$’字符

注意 makefile 执行时默认调用的是 bashrc,所以需要将 GOPATH 在bashrc中引入,如果只在profile中export的话,makefile时 $$GOPATH 为空。makefile中的$字符是个变量转义字符,例如放在变量前面,变量名最好用括号括起来。如果想要使用系统的环境变量的话就必须要使用双$,例如。...

2022-08-17 11:11:57 1800

原创 高并发场景下使用redis执行lua脚本

当lua脚本执行时,不会有其它脚本和命令同时被执行,对于其它的redis客户端来说,一个lua脚本要么不可见,要么已经执行完了。高并发场景下,如果使用锁机制的时候会出现频繁的加锁解锁操作,大量消耗cpu资源,而且不同的redis语句之间如果出错的话那么就会造成认为只是执行了一半,则产生了脏数据导致数据库数据的不一致性问题。所以,利用redis执行lua脚本的这种原子性特点,在高并发多线程/协程的场景下可以避免资源竞争的问题。......

2022-08-10 10:19:55 950

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除