自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 istio服务治理实际落地后,边缘应用存在的问题

比如像我司这样的,应用特别多,网关做了大量的转发配置,从网关出来的南北向流量分支复杂,如果也采用ingress作为入口网关,则需要对网关诸多上游及路径配置进行修改,实际落地成本比较高。即网关在服务网格中,而网关所调用的上游应用一部分在服务网格里,一部分在服务网格外。ingress作为入口后,ingress就成为了服务网格的边缘,而a1,b1,c1成为了服务网格的内部应用,所以可以做灰度发布。比如,istiod宕机,此刻重启服务网格外的应用d,网关对应用d的调用会出现超时,并且要几分钟才能恢复。

2024-03-15 14:37:42 477 1

原创 关于婚姻的一点思考:一位程序员婚后一年的自我反思与总结

这个并不是想太多,笔者曾经有过几次,熟人一听单身就一脸揶揄道“还单着呢,明儿给你介绍几个”,然后没下文,却又经常拿你没对象这件事情来调侃的。这种往往不是真心给你介绍的,远离即可。

2024-03-06 12:16:40 533 1

原创 在一次技术调研中理解istio流量拦截原理

当我们调用kube-apiserver为创建pod时,会调用webhook,webhook会检查pod的标签(istio-injection=enabled),如果匹配则注入istio-proxy容器。在部署好istio后,只需要对namespace加一个标签istio-injection=enabled,即可将此namespace下的pod纳入istio服务网关,对istio而言,istio-proxy组件就是sidecar,跟业务容器伴生,非侵入式地将业务容器纳入服务网格中。可以通过如下命令查看。

2024-03-02 18:45:34 1017 1

原创 顺境好好干,逆境多学习

由此可见平台的重要性,好风凭借力,送我上青云,咱们程序员要懂【借势】,身处顺境,比如公司业务发展好,团队的项目受青睐,此时就应该好好干,多参与产品在一线的实际交付,多争取与客户直接沟通交流的机会,多增强自己在团队中的影响力与话语权,让自己成为团队core,这些借势得来的“身价”最终会能成为为你背书的资本。例如当下的笔者,一方面尝试接触其他方向的技术研究,一方面牺牲了自己的娱乐时间写一些博客文章,在总结梳理的过程中倒是让很多以前零散的知识成了体系,同时自己看着路人粉丝数的上涨而欣喜不已。

2024-03-01 16:46:20 291 1

原创 从一次故障探究etcd的多版本机制

v2版本的etcd作为纯内存的数据库,有一个stop the world的大锁来保证并发下的数据一致性,这其实是悲观锁的一种实现方式,这种方式中,读写会互相阻塞,长时间的读操作或写操作将降低整体的并发性能;众所周知,磁盘的读写需要旋转磁盘和读写磁头,相对于内存来说是很慢的,但是etcd v3采用了boltDB作为底层数据库的实现,boltDB这个项目笔者曾简单看过,麻雀虽小,五脏俱全,感兴趣可以读读。一方面解决了v2版本watch机制的弊端,一方面,解决了v2版本数据竞争引发的性能问题。

2024-03-01 08:22:54 900 1

原创 用nsenter排查容器网络问题及原理

A、容器的本质是进程,这个进程用linux的namespace机制实现资源的隔离,其包括6类namespace------- network namespace(网络资源)、mount namespace(文件系统挂载点)、uts namespace(主机名和域名)、ipc namespace(共享内存和信号量)、pid namspace(进程ID)、user namespace(用户和用户组);1、获取容器的id,登录到这个容器所在的宿主机k8s-node-02。2、在宿主机上获取容器的Pid。

2024-02-29 15:55:14 354

原创 从一次apisix限流故障窥探kube-proxy原理

具体地,kube-proxy通过netlink接口与内核中的IPVS子系统通信,以便动态地创建、更新或删除IPVS规则,从而控制Kubernetes集群中的服务流量路由,netlink是Linux内核与用户空间进程之间进行通信的一种机制,它允许内核与用户空间之间传递消息,netlink直接工作在内核态,所以在性能上比 iptables 更优。笔者在项目上用apisix网关limit-count插件对接口限流时,发现在k8s环境下,用nodeport 请求接口,无法按客户端IP进行限流。让我们实际探究一下。

2024-02-29 09:14:38 1001

apache-tomcat-8.0.47

apache-tomcat-8.0.47

2024-03-15

etcd 3.5.6-linux-amd64

etcd 3.5.6-linux-amd64 版本:3.5.6-linux-amd64 安装: ETCD_VERSION='3.5.6' tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && \ cd etcd-v${ETCD_VERSION}-linux-amd64 && \ sudo cp -a etcd etcdctl /usr/bin/ nohup etcd >/tmp/etcd.log 2>&1 &

2024-03-15

jlesage/firefox docker镜像

jlesage/firefox docker镜像 镜像加载: docker load -i firefox.tar 国内主流镜像仓库无此资源,可在这里下载 适配极空间docker

2024-03-15

istio-1.11.5

服务治理istio安装包 istio-1.11.5-linux-amd64 版本: 1.11.5 使用方法 进入bin目录 参考官网:https://istio.io/latest/zh/docs/setup/install/istioctl/ $ istioctl install 此命令在 Kubernetes 集群上安装 default 配置档。 default 配置档是建立生产环境的一个良好起点, 这和较大的 demo 配置档不同,后者常用于评估一组广泛的 Istio 特性。 可以配置各种设置来修改安装。比如,要启动访问日志: $ istioctl install --set meshConfig.accessLogFile=/dev/stdout

2024-03-15

sealos 3.3.9-rc.11

sealos 版本:3.3.9-rc.11 安装: 参考官网 https://sealos.io/zh-Hans/docs/self-hosting/lifecycle-management/quick-start/deploy-kubernetes

2024-03-15

空空如也

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

TA关注的人

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