草庐IT

七大姑听不懂K8s,只有对穿肠了!

云昭 2023-03-28 原文

作者 | 云昭

昨天二十八,贴花花。过年的氛围都衬托到这里了,再讨论什么云原生、K8s、Container 了,多少就有点不应景了。

想一想,这个场面:

你带着陪你在“无数战场上厮杀”、引以为傲的神器——笔记本电脑,连着集群回到家,打开 kubectl。发现朋友们兜里掏出一大把钱吃喝玩乐,你带着不可言说的节奏,敲击着键盘,在“相看两厌”却不离不弃的 IDE 和黑终端里,想象着自己也能像雷教主一样敲出“诗一样”的代码,只为处理“一直不知道收敛”的故障。

再想一想,接下来的场面:

亲戚朋友们过来吃饭,问你一年到头,收获了哪些战利品,你说:我实现了云原生,简洁而不平凡,带来改变无数,在这里可以掌控全局。然后,没错——他们懵逼了,你还在心里默默地嘲笑他们:他们不懂 Kubernetes ,不懂 AWS,不懂 Rancher,连 Container 都是云里雾里。没错,自己改变的世界,他们永远无法触及,你便是唯一拥有者。

亲戚终于使出杀手锏,开始拿自己的儿女来进行“炫耀”——“我儿子买了个房,女儿买了个车”,这时候,你的父母略带尴尬,但并不服气,怼上一句:“我孩子用虚拟的容器构建了一片天空,那里创造了一个新的世界。”

那就不如一展我们技术人独有的春节仪式感吧!

图源:知乎

尤其是看到上图这幅春联:

上联:Python Java C++ Line Line So Easy

下联:Years Months Weeks Day Day No Bug

横批:Happy New Year

老铁们纷纷表示按奈不住了:横批怎么不是hello world?

这不,小编也彻底被这么一群被忽视的对联大师们折服了!

1.带发派

上联:需求设计无增改 

下联:开发上线一把过 

横批:带发修行

——【陈彬】

2.加班派

上联:加班加班不停加班

下联:bugbug永无止境

横批:five老板

——【Linpeng】

网友惊到了:委屈你了兄dei,但老板还是要体谅的~阁下当年退出文坛我是一万个不同意的。

3.起早派

上联:废寝忘食编程序

下联:闻机起早保运维

横批:码到成功

4.背锅派

上联:我很喜欢公司的锅

下联:不论火锅还是背锅

横批:背锅侠

——【?Daring-小鄧总:】

5.删库派

上联:rm -rf   

下联:drop delete

横批:跑路跑路

——【Default】

群友们觉得还不够原汁原味儿:差一个“/*”, 不是很利索

6.许愿派

上联:Hello world

下联:building running

横批:0 Errors 0 Warings

——【Signx】

或许,只有同门中人,才能懂得个中秘辛。

7.悲壮派

上联:为系统而生,为框架而死,为Debug奋斗一辈子

下联:吃符号的亏,上大小写的当,最后死在需求上

横批:杯具程序员

一看就平时就没少敲BUG!!!PS:对仗已经不工整了有木有~~网友表示,“Debug”改成“调试”更雅致!

8.数学派

上联:1011001010101101110

下联:0100110101010010001

横批:1010

——【好名字】

上联:1011001010101101112

下联:0100110101010010002

横批:2023

——【小杨】

话说,后者这个横批是咋算的?有明白的可以告诉小编~

9.稳妥派

上联:存数据订接口如探囊取物

下联:锁异步释内存似手到擒来

横批:后方安定

——【The Sun After Tomorrow】

看了上面“九大派”的对子,真是让让小编也由衷的领悟到网上流传的那两幅程序员专属对联——

上联:莫说运维知音少,

下联:谁道研发不风情。

横批:人艰不拆

上联:一个项目两部电脑三餐盒饭只为四千工资搞得五脏俱损六神无主仍然七点起床八点开会处理九个漏洞十分辛苦

下联:十年编码九年加班八面无光忙的七窍生烟到头六亲不认五体投地依旧四肢酸软三更加班只为二个臭钱一生孤苦

横批:苦逼程序员

当然,在圈子里戏谑、自嘲,本身就是对于自身工作生活压力的释放,而对于我们的传统节日而言,平时的“发财”、“吉祥”等字样的春联雷同的太多,打印机不好打印,手写么,书法又不好,所以对对联这种“屠龙之技”,更多会出现在网络上。

那问题来了,现实中真有自带书法技能点的大神,亲笔挥毫写出一副“程序员专属”春联吗?

当然有。小编就在我司发现了这样一位大佬。

最后的彩蛋来了:想知道51CTO的技术大神的春联长什么样子吗?马上揭晓。

明年岂无年,心事恐蹉跎!努力尽今夕,少年犹可夸!新的一年,小编在这里,祝愿各位朋友,“兔”破新高,再铸辉煌,码到成功!

有关七大姑听不懂K8s,只有对穿肠了!的更多相关文章

  1. ruby-on-rails - 只有当不是 nil 时才执行映射? - 2

    如果names为nil,则以下中断。我怎样才能让这个map只有在它不是nil时才执行?self.topics=names.split(",").mapdo|n|Topic.where(name:n.strip).first_or_create!end 最佳答案 其他几个选项:选项1(在其上执行map时检查split的结果):names_list=names.try(:split,",")self.topics=names_list.mapdo|n|Topic.where(name:n.strip).first_or_create!e

  2. ruby-on-rails - 看不懂Ruby的神奇 - 2

    在railscasts项目中你可以看到这段代码:before(:each)dologin_asFactory(:user,:admin=>true)end函数对应的定义是:Factory.define:userdo|f|f.sequence(:github_username){|n|"foo#{n}"}end我不明白admin参数是如何传递给函数的,而函数中没有关于admin参数的字样。谢谢 最佳答案 Factory.define不是一个函数定义,它是一个方法,它接受一个符号或字符串(在本例中是用户)和一个定义你正在制作的工厂的bl

  3. ruby - 如果哈希中只有一个特定键具有真值(所有其他值均为假),如何返回真 - 2

    例如:options={fight:true,use_item:false,run_away:false,save_game:false}我想要一个计算结果为true的bool表达式,当且仅当:fight为true,其余为false(如上图所示)。我可以一起解决这个问题,但我正在努力训练自己编写更优雅的ruby​​。谢谢!编辑:黑客是:(options[:fight]==true&&options.delete(:fight).values.all{|x|!x}) 最佳答案 假设所有值都是严格的bool值,它很简单:options=

  4. Ruby 正则表达式,只有一次捕获(非常简单!) - 2

    我想这将是一个愚蠢的错误,但对我来说,以下返回一个仅包含“M”的数组。看这个:/(.)+?/.match("Manymanycharacters!").captures=>["M"]为什么它不返回每个字符的数组?我一定是错过了一些明显的东西,因为我看不出这有什么问题?编辑:刚刚意识到,我不需要+?但没有它仍然无法工作。编辑:抱歉!我会澄清:我的目标是让用户输入正则表达式和样式以及输入文本文件,只要有匹配项,文本就会被html元素包围并应用样式,我不只是拆分将字符串转换为字符,我只使用了给定的正则表达式,因为它是最简单的,尽管这对我来说很愚蠢。我如何从scan()获取捕获组或者这是不可能

  5. ruby - 一个方法定义以括号开头,看不懂它的用处 - 2

    在Ruby中,我看到这样一个方法的定义:def[](param)#dostuffend这个方法声明是什么意思?它是如何工作的?什么时候使用它?以及如何使用实例对象调用此类方法? 最佳答案 这是方法的名称,[]。您可能已经知道Array#[]或Hash#[]。在您的类(class)中,您也可以定义这样的方法。它会做什么-由您决定。classFoodef[](param)#bodyendendf=Foo.newf[:some_value] 关于ruby-一个方法定义以括号开头,看不懂它的用处

  6. k8s-污点 (Taint)和容忍 (Tolerations) - 2

    文章目录一、污点(Taint)1、污点简介2、污点的组成3、污点的设置和去除二、容忍(Tolerations)1、容忍简介2、容忍的基本用法3、示例4、多污点与多容忍配置三、警戒(cordon)和转移(drain)四、Pod启动阶段(相位phase)五、故障排除步骤一、污点(Taint)节点亲和性,是Pod的一种属性(偏好或硬性要求),它使Pod被吸引到一类特定的节点Taint则相反,它使节点能够排斥一类特定的PodTaint和Toleration相互配合,可以用来避免Pod被分配到不合适的节点上。每个节点上都可以应用一个或多个taint,这表示对于那些不能容忍这些taint的Pod,是不会被

  7. ruby-on-rails - 如果只有一个存在,是否有用于返回第一个数组元素的 ruby​​ 习惯用法? - 2

    如果数组只包含一个值,我想返回数组的第一个元素。目前,我使用:vals.one??vals.first:vals.presence因此:vals=[];vals.one??vals.first:vals.presence#=>nilvals=[2];vals.one??vals.first:vals.presence#=>2vals=[2,'Z'];vals.one??vals.first:vals.presence#=>[2,"Z"]是否有内置的东西可以做到这一点,或者是否有更好的设计考虑?我的用例是特定的,涉及知道从方法(将实现上述代码)中期望什么的演示者。如果这些演示者将所有返回

  8. 云原生(十八) | Kubernetes篇之Kubernetes(k8s)工作负载 - 2

    文章目录Kubernetes(k8s)工作负载一、Workloads二、Pod三、Deployment四、RC、RS、DaemonSet、StatefulSet五、Job、CronJob1、Job2、CronJob六、GCKubernetes(k8s)工作负载一、Workloads什么是工作负载(Workloads)工作负载是运行在Kubernetes上的一个应用程序。一个应用很复杂,可能由单个组件或者多个组件共同完成。无论怎样我们可以用一组Pod来表示一个应用,也就是一个工作负载Pod又是一组容器(Containers)所以关系又像是这样工作负载(Workloads)控制一组PodPod控制

  9. K8s部署PHP项目 - 2

    前言    前端时间PHP项目部署升级需要,需要把Laravel开发的项目部署K8s上,下面以laravel项目为例,讲解采用yaml文件方式部署项目。一、部署步骤1.创建Dockerfile文件Dockerfile是一个用来构建镜像的文本文件,在容器运行时,需要把项目文件和项目运行所必须的组件安装其中。#基础镜像FROMphp:7.4-fpm#时区ARGTZ=Asia/Shanghai#更换容器时区RUNcp"/usr/share/zoneinfo/$TZ"/etc/localtime&&echo"$TZ">/etc/timezone#替换成阿里apt-get源RUNsed-i"s@http

  10. ruby - 为什么只有有限数量的正则表达式捕获存储在 `global_variables` 中? - 2

    如果我用包含十个捕获的正则表达式进行匹配:/(o)(t)(th)(f)(fi)(s)(se)(e)(n)(t)/.match("otthffisseent")然后,对于$10,我得到:$10#=>"t"但global_variables中缺少它。我得到(在irbsession中):[:$;,:$-F,:$@,:$!,:$SAFE,:$~,:$&,:$`,:$',:$+,:$=,:$KCODE,:$-K,:$,,:$/,:$-0,:$\,:$_,:$stdin,:$stdout,:$stderr,:$>,:$这里只列出前九个:$1,:$2,:$3,:$4,:$5,:$6,:$7,:$8,

随机推荐