季兴 发布的文章

水一篇,公司从前年上thoughts后,编辑md文档还是很爽的,但也仅限于标题、分割、缩进、引用,今天花了点时间尝试了所有md支持的格式,原来各个编辑器还是有差异,常用的typora居然收费了。
有道云笔记默认的md格式就很好用了。
花10分钟学习工具使用,方便一生 :smile:

一键三连1,我们再测一个2
把大象放冰箱

  1. 打开冰箱
  2. 塞进去大象
  3. 关上冰箱门

- 阅读剩余部分 -

《2002年的第一场雪》已经是20年前的歌了,还真挺让人意外的。小朋友2岁半了,从一出生的惊喜、无感、逃避、苦闷、烦恼、和解、欣喜、期盼,体会了当父亲的不易与责任。
由于工作的关系,每天到家都20:00以后了,吃个热乎饭(在这要感谢我丈母娘,帮我带娃还负责一家人晚上的伙食),陪小朋友玩1小时,给他讲故事,有时还不爱听我讲,必须找妈妈。我太太在教育方面还是非常用心,给娃清淡饮食,不抱自然睡习惯 - -。小朋友各种翻腾、找借口,用着仅会的几个词:“楼上吵”“妈妈抱”折腾到十点半,有时甚至十一点。

  • 11月时,有位国内著名网站的实习编辑,预约我做一些运维自动化课程,我还是比较怀疑的,大牛、专职老师多的是,找我这玩票儿的干啥,随口说要到12月底,没想到对方一口答应了。定了个友情价,网签合同了。要求以平台名义、格式发出,在创作上有点影响,好在只是PPT和课题的要求,大纲没有做过多干涉。录制的时候也是状况频出,麦克风收音太好,小朋友不睡的咿咿呀呀声,楼上厕所洗漱声(吐槽一下老房子的楼板太薄,隔音性差强人意)外加我还不太会剪辑,妄图一遍过,课程短一点还行,长的课程最后收尾阶段,“哇哇一嗓子”全给我干废。看到小朋友又不忍心训,又趁机进去摸摸他,趁机玩他喜欢的我“哼”他“哈”的游戏。也就学乖了,一小节一小节录。哪怕这样,搞到凌晨1点2点时常态,不知道哪来的动力。熬了一周左右,课程通过审核,发布。完成了“云账户”注册,看起来这玩意专门给IT工作者准备的,大概意思是自己注册成个体户,扣税比例很低,同时不影响薪资的扣税额度。giftcard.jpeg
  • 今年的专升本也完成了,还被评为“优秀毕业生”,只是正常完成了练习、课程、毕设自己写。答辩时有个事快赶上段子了,前面哥们的课题大致是“大数据”方面的,老师问到数据来源,说是公司内部机密- -,给老师整懵逼了,自然没给过。
  • 和前同事打赌软考中级,花了不少精力把近十年的真题刷了遍,最后还把选择题当简答题写完了,分数还行,同行的张总没过,这211水货:),当时还约定的谁没过请吃饭。回头想我这一年过的还是很充实的⛽️

22年给自己定两个目标,首先是在口语上要进步,不能再哑巴英语。去年的目标完成度一般,起码阅读英文文档障碍不大。基本每天都能坚持15个单词,百词斩中《专升本》程度已经完成(顺便说一下,我也是以优异的成绩考上了大专:)相应的,职场软技能也要提升;其次,在技术层面也要投精力,暂定的课题是API网关相关,输出文档或者课程。
就俩吧,工作已经很忙了!与君共勉

又到年底,回顾一下今年的身边事

  1. 初衷很好的分享制度,平日里见不到一篇,最近被密集刷榜。虽然是公司内部的贴吧,大家的帖子质量属实不高。上来没头没尾直接贴代码片段,上下文、解决什么问题都不写清
  2. 内部贴吧逐渐沦为吐槽办
  3. 正式承接了IT部门,以往的管理水平实在太低。供应商价格不合理,等保做了100多W,服务器、网络设备平均高15%;维保厂商屌的一笔。两个月内全部换掉,拉内审、采购的兄弟与我们制约,防大家碰红线。内部系统完全依赖供应商、缺乏监控,owner连服务宕机的处理规则都不清楚,2个月内梳理个大概,让问题能先于用户报出来- -,虚拟化也启动了
    当然也有IT兄弟们不理解离开了,可能是我的管理风格,对以往的“遗产”深恶痛绝,明明能通过公网解析,非要买两台硬件服务器搭建DNS,关键还要线上每一次域名更改手动告诉他,他再手动加到公司内的DNS服务器。这不纯纯脱裤子放屁行为!这类例子不胜枚举!

    其次我把采购这肥差变成清水衙门,让大家把自己的供应商都晒出来,同质价低者得。想起某部门要做ISO认证,明明3W能做的事情硬是整成10W+,本来我不想参与的,毕竟没花我部门预算,可IT并过来之后我就必须管:)

  4. 每天的时间被各种管理任务、绩效、安全、审计、提供资料等等填满。需求必须经过我,觉得合理之后才会路由给小伙伴,这也是我比较累的根因
  5. 近段时间有某网站的编辑付费邀约我录制课程,赶巧嗓子咳嗽,多次拉扯后以5000/2小时成交。每天晚上下班后等小孩睡了才能录,经常搞到1点以后。被这编辑的彩虹屁吹的头晕

下班途中刷手机,看到抖音有晒淘宝人生,算是淘宝第一批用户了。回想起首次购物在易趣,全程无担保买过mp4,2004年的1500块,大家都说我上当了,直到两周后收到来自广州的邮政快件^_^
ACA9C4E3-A782-40A6-BC6F-A5EA40BB93B0.jpeg

我的海外主机悉数被墙,每次连接异常麻烦,中转多次才能连接。
在使用finalshell过程中,忽然发现有这个设置,勾选即可连接。分享一下!这种没重点宣传却被用户发现的功能让人印象深刻!
snap.png

近期遇到个折腾需求,客户的安全管理制度严格,设备端出方向也需要经过加白才能访问。当我们使用了大量的CDN时,无法告知其准确的IP。
收到这个需求时我是崩溃的,都2021年了,客户防火墙还不能添加域名白名单。

  • 将我们产品本地化部署,我们不支持
  • 针对客户出口IP做智能解析,经验证后,其DNS不支持EDNS,出口IP中有ipv6地址,不支持
  • 我们部署nginx反向代理,针对单域名进行重定向,比如设备仅在访问a.baidu.com 被影响,其余 x.baidu.com正常解析。客户无法支持。

经过一段时间的折腾,发现dnsmasq支持单域名重定向,配置也相当简单。在dnsmasq的 /etc/hosts中添加即可。

192.168.1.10 a.baidu.com web01
192.168.1.20 b.baidu.com web02



忙起来了,沉迷在组织架构升级,对业务支撑。明年的部门规划、预算
早上和产品总监聊了支付业务,这位同学有着非常丰富的创业经历,中途遇到的问题也非常有共鸣,本来是就框架略微展开。最后提了嘴安全,聊到了他在支付行业创业中动了其他厂商的蛋糕,被ddos、CC,被用户要求赔款,在这块非常有感受。我也就以前遇到的相同经历,被刷短信接口、社工、甚至被拖库。安全不能仅靠运维,业务侧的审计日志、安全开发都要跟上,难得能和非技术人员聊到这儿,第一位!
非常欣慰!

产品经理反馈海外某地工厂停工,原因是产线有道环节是设备开机上传key至加密机。经与研发沟通后,链路:客户-CDN-源站api-上海机房加密机。头天凌晨2点出的问题,销售同学帮挡了一道。
第二天上班看了源站日志,下意识以为CDN问题,更换两次节点后,客户反馈仍有问题,视频里桌子上一排商米设备,国内15秒激活,这里要1分钟,还有超时。客户的极度不配合加上已经是半夜1点,群里的产品经理不断催促、强调问题严重性,心烦意乱,还要和他battle。
查看日志,没一条非200的。判断用户网络到CDN间的问题,直接去掉CDN回源

事后产品追着大家要长短解,
我:缩短网络距离,智能解析切换CDN、激活服务就近部署
深圳研发:传key动作后置,不在生产环节做,牺牲一部分设备掌控性
大家畅所欲言时,被批评 “不专业、开会效率低,应该只提痛点,专业的事交给专业的人,不要替其他人做决定!”
CTO:加密机批量生成sn、key对应关系,保存在当地IDC,异步申请key,不再怕弱网、间歇被墙

高下立判,我深陷“知识的诅咒”,完全从自己的视角出发;研发多少带了业务场景,用较低的售后成本避开问题;CTO则结合了技术与业务,创新性的引入“异步前置仓”

优势:
对网络轻车熟路,日志、变量因素,发现多项关键线索,快速定位

反思:
容易被情绪左右,对待“刷存在感”的同学不能无视
还是缺乏系统性思考,只能站在技术的狭小角度

业务镜像往往是非常精简、基础(处于安全考虑也不应该安装非业务内容)。不含常见的curl、ping、tcping、tcpdump等工具,甚至没有sh,kubectl-debug太重,需要在node安装agent,有更简单的方法:nsenter,是大多数系统自带的用于进入指定命令空间的工具。

#查看容器位置
kubectl get pod xxx -n xxx -o wide

2021-09-14T02:02:42.png

#在容器所在物理机查看容器id
docker ps |grep nginx-new-57f8fcdc7d-6r69n
#容器内查看Pid
docker inspect c5decf942415|grep -w Pid

2021-09-14T02:02:58.png
2021-09-14T02:03:08.png

#nsenter进入,此时和容器处于相同进程空间,可以使用宿主机的所有命令
nsenter -n -t 87296 #可以看到只能看到容器本身IP

2021-09-14T02:03:23.png

#从抓包内容验证,只有访问此container ip的请求才能被抓到
#使用完成记得ctrl+d退出

image.png

混沌工程(Chaos Engineering)到底是啥?

现实世界比demo更复杂,系统的正常运行需要网络、存储、虚拟化层、OS、中间件、数据、应用的多项配合,每天都会遇到各式各样的故障,这些真实世界的故障信息就是最好的混沌工程变量。
我认为的混沌工程,和安全领域的零信任颇为类似,无论处于网络边界之内或之外,都不应该自动信任任何事务。任何组件都有发生故障的可能。

混沌工程是测试工作的超集,虽然混沌工程和传统测试通常会有很多共性,比如都使用“错误注入故障注入”,测试是使用测试工具都某块进行测试,混沌工程更像实验,通过不断模拟故障,观察系统的”反应”,追求在真实环境中演练。
在真实世界中,常见的故障:
硬件,硬盘老化、电源掉电、内存ECC等
网络,延迟、丢包、阻断等
系统,资源耗尽、内核bug等
拜占庭错误,集群脑裂、影响选举制度等
上下游服务故障,比如三方接口故障、服务循环依赖等

没必要对所有的风险点进行测试,要考虑故障比例,把较为频繁的故障列为第一优先级。比如没必要测试内网间的延时、OSS的文件损坏、SLB的转发失效等,应该模拟自身服务调用延迟、依赖厂商的支付接口、外部被墙等,这样的模拟是非常有效果。

接下来是争议最大的部分,混沌工程追求在生产环境模拟,大部分厂商是没魄力的,传说网飞就很猛,有自信直接停掉aws的一个可用区(个人觉得夸张)。常见的做法是录制线上流量,成倍数、倍速回放到测试环境、或者在金丝雀环境。失效也仅影响一小部分用户。btw,阿里云的AHAS年初已经正式版,全自动的故障模拟,包装了大部分复杂度👍🏻

给自己定个OKR,下半年把以往做过的故障注入、流量管理串起来形成文字💪🏻