自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang string转化byte数组一定会发生内存拷贝吗

实际原因:是golang 编译器的优化。Go 1.22版本中(测试使用go版本为go 1.22),编译器对string到byte切片的转换进行了优化。明显,两者string和byte切片的底层指向的字符数组起始地址时一致的,这与一定会发生拷贝的现象描述并不符合。结果是byte切换指向的内存地址发生改变,这表明byte切片底层起始指向的byte数组跟string是同一个,编辑后发生了改变。使用go 1.21版本测试,发现输出结果中指向的底层byte数组不一致,说明编译器并没有对转化操作进行优化。

2024-05-19 21:43:06 155

原创 k8s aggregator api 扩展实战记录

aggregator api作为k8 api扩展的两种方式之一(另外一种为CRD),其原理是通过GVR的形式向apiserver 注册aggregator apiserver(k8s service服务),当外部访问GVR时,通过kube-apiserver转发请求到aggregator apiserver上。1、aggregator apiserver部署过程中需要手动生成aggregator apiserver对kube-apiserver认证的CA证书,可以通过cfssl和openssl方式生成。

2024-05-03 23:24:35 154

原创 k8s 使用本地镜像技巧

一般来说配置为ifnotpresent或者never就可以使用,但有时依然不成功,还会向镜像仓库拉取。很多时候搭建k8s应用时都需要使用二次创作的镜像,但镜像build完成后保存在本地(docker image ls可以查看),此时如果要在k8s yml中使用该镜像,一般yml中无镜像拉取策略或者配置。一般使用者会使用docker image ls查看本地镜像,这只是表示docker引擎本地存在该镜像,不代表containerd本地也有,使用crictl images查看,如果没有,可以使用。

2024-04-26 20:41:25 406 1

原创 使用centos docker镜像时踩坑记录

尝试过各种帖子给出的解决方案均不奏效,如:docker run --privileged --v /sys/fs/cgroup:/sys/fs/cgroup:rw。更换为centos:8镜像或者更高版本后,使用docker run --privileged和 /usr/sbin/init后便没有此问题。原因大致是:docker为了保持容器的轻量性和单一用途性,默认不开启D-bus服务。需要更换yum镜像源,添加即可。

2024-04-26 17:04:53 195 1

原创 ingress安装使用踩坑记录

坑3(backend 服务 service和pod namespace必须一致):ingress 的backend service,service和代理的pod必须在同一个namespace下,不然网络不通(endpoint controller在生成service对应endpoint时,需要获取label绑定的pod来生成endpoint的subset,此时watch的service所在namespace的pod,跨namespace下,endpoint对应的subnet为空)(暂未找到什么原因)

2024-04-25 14:35:18 836 4

原创 xshell连接vmware虚拟机突然断联分析

在使用vmware虚拟机过程中,为了方便操作,使用xshell连接vmware虚拟机,但是常常会出现以下情况,电脑休眠重新唤醒后,xshell断联,重新连接也失败。2、window上ping虚拟机ip,如果不通,则表示网络不通,此时查看下网卡vmnet1和vnnet8网段是否跟虚拟机在同一网段内,如果不在同一网段内,参考。1、查看虚拟机上ssh服务是否正常(ubuntu系统 systemctl status ssh,状态为running为正常)

2024-04-24 13:24:13 288 1

原创 ubuntu系统kubeadm搭建k8s集群

现有kube-flannel.yml将ns创建、serviceaccount创建、rbac申请绑定、configmap、deamonset资源创建一起执行,这样会出现一个问题: Failed to create SubnetManager: error retrieving pod spec for : the server doe…网络问题可以通过:https://blog.csdn.net/qq_22409661/article/details/136274442 解决,但这并不能彻底解决问题。

2024-04-17 00:04:50 297

原创 ubuntu安装docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg(下载并生成gpg密钥)无论是搭建k8s系统还是仅运行docker容器,都需要安装docker和docker-deamon,不同的linux系统安装方式不一样,本文章只展示ubuntu上安装docker的方式。1、安装之前先更新本地apt仓库和远程apt仓库的软件信息,使其保持一致。

2024-04-15 12:54:07 138

原创 cfssl安装及使用

安装方式有很多中,可以通过wget、curl等指令安装,由于本人虚拟机网速及CA认证问题,选择在虚拟机外下载,然后上传操作。cfssl是本地生成CA证书的一种重要方式,另外一种openssl,是搭建k8s集群中不可缺少的一步。下载后将应用上传到系统/usr/local/bin/目录下,并。现在之前需要确认待安装的系统的信息,使用uname -m查看。2、返回i686、i386等,下载适配32bit的应用。下载地址:https://pkg.cfssl.org。1、返回x86-64,下载适配64bit的应用。

2024-04-13 17:57:22 408

转载 Golang中的nil

不同的nilnil其实甚至不是golang的关键词,只是一个变量名。定义在 buildin/buildin.go 中// nil is a predeclared identifier representing the zero value for a// pointer, channel, func, interface, map, or slice type.var nil Type // Type must be a pointer, channel, func, interface, map

2021-12-18 16:37:36 958

转载 Go Interface 源码剖析

Go源码

2021-12-18 15:13:48 117

原创 什么是架构及架构的本质?

转自:IT架构师联盟https://mp.weixin.qq.com/s?__biz=MzU1NTAwOTk5NQ==&mid=2247487228&idx=2&sn=8fbe95f1426856ed6db8253001865608&chksm=fbdb9c58ccac154e48ad2659d8400e46b59d6ec9d2a9d3bf88fa6ccd48942e347317c7c55ef9&scene=0&subscene=91&session

2021-11-24 12:32:21 1309

原创 使用redis实现延迟队列

场景:1、淘宝,京东等购物平台上下单,超时未支付,订单自动取消。2、打车或者点外卖时规定时间内没有接单,平台会取消订单3、网购商品后,一段时间没有确认收货,平台自动确认…为什么这样做?因为这样可以保证释放商品或者服务给其他人。你也及时更换另外的商家。技术栈及实现详情:消息延迟的处理流程图:...

2021-09-09 20:01:44 127

空空如也

空空如也

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

TA关注的人

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