Zlatan Eevee
Jack of all trades and master of none.
-
kubernetes支持local volume
local volume 创建一个storage class 静态创建PV 使用local volume PV 动态创建PV local volume kubernetes从1.10版本开始支持local volume(本地卷),workload(不仅是statefulsets类型)可以充分利用本地快速SSD,从而获取比remote volume(如cephfs、RBD)更好的性能。 在local volume出现之前,statefulsets也可以利用本地SSD,方法是...
-
小工具:查找哪些clusterRole定义了某个resource
在开启了RBAC的kubernetes集群上,经常会遇到这样一个问题: 应用启动的时候,报了权限不足的错误,想给它的sa加一下rolebinding,但是又不知道到底是哪个clusterRole定义了该权限。 所以我写了个小工具,可以根据resource来反向查找哪些clusterRole定义了该资源: kube-role-finder。 使用起来很简单。 kube-role-finder -resource services Those clusterRole has resource ...
-
炫龙耀9000(Clevo P95)拆机加内存
要说2018年买的最值的电子产品,可能就要数这台 炫龙 耀9000 了。 您可能要问了,炫龙是什么?没关系,您知道神船吗?炫龙呢,就是神船的互联网子品牌,比神船还神船,还要有性价比(因为阉割了线下售后啊)。您可能又要问了,那稳吗,不会上烈士墙吗?别怕,都是蓝天出品,稳的一比。 之所以买这台炫龙耀9000,主要是因为之前用的笔记本显卡配置太差了,玩堡垒之夜,只能开最低画质,路边的树都有雪花屏,必须要升级了。装个台式机还是继续笔记本?按我的生活习惯,肯定还是笔记本。 这台耀9000,厚度比一元硬币...
-
kubernetes上部署Dragonfly
部署supernode 部署df-daemon 修改Docker daemon配置 Dragonfly可以很好的节省kubernetes集群下载镜像的带宽,下文记录了在一个已经配置好的kubernetes集群中如何部署Dragonfly。 Dragonfly分为两部分,均部署到namespace kube-system中: supernode,部署在master节点 df-daemon,部署在所有节点 部署supernode 由于supernode需要在/home...
-
fish shell支持kubectl自动补齐
我在更好用的kubectl里提到,fish shell针对kubectl自动补齐,社区有个项目fish-kubectl-completions可以支持,但是我之前用的时候非常慢,经常需要十几秒才能tab出来结果,试着调试过几次,没找到原因(可能是complete注册太多?),所以姑且先用了zsh。 zsh默认不支持命令行基于历史自动补齐(用过fish的人都知道这个多好用),社区有个插件zsh-autosuggestions,能满足一定的基于历史自动补齐,但是它不完善的一点是,它的历史是所有控制台共...
-
golang如何解析域名
最近遇到了一个问题。 我们的kube-apiserver配置了OIDC认证,OIDC issuer是添加了dns server记录的,但由于某些原因,我需要覆盖掉dns server的解析,改用hostAlias的IP地址,但是实测发现总是走了DNS解析,虽然/etc/hosts文件已经添加了自定义的hosts记录。而那些没有在dns server注册的域名,还是可以通过 /etc/hosts 解析的。 原因是,kube-apiserver的基础镜像是 busybox ,和 centos 不同,...
-
firecracker
AWS开源了一个新的虚拟化技术,叫做 firecracker. Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services that provide serverless operational models. 确实是解决了doc...
-
kubelet如何做GC(Garbage Collection)
生活处处有GC。 在使用kubernetes的时候,可能会有个疑问:用户在k8s上创建、删除了Deployment就走了,那么在node上残留的docker镜像是谁去删除的?不删除的话,日积月累,迟早耗尽node的硬盘空间。 其实k8s是有Image GC的。不知道你注意到了没有,硬盘空间紧张的时候,会发现下载到某个节点上的image会悄悄消失,其实这就是Image GC在工作。 在每个节点的kubelet配置文件/var/lib/kubelet/config.yaml imageGCHig...
-
更好用的kubectl
zsh kubectl auto completion 配置对多集群的访问 kube-ctx/kubens kube-ps1 kubectl是管理kubernetes集群的命令行工具,实际使用的频率非常之高,因此一个更方便的kubectl通常会带来很大的便利性。下面介绍几个很棒的工具。 zsh 其实我更喜欢用fish(传说中90后都在用),但是fish针对kubectl的生态还不够完善(主要是没有auto completion),因此还是先用zsh。 推荐用oh-my-...
-
http cache在Dragonfly中的应用
阿里开源的Dragonfly对k8s集群上多副本应用的镜像分发有很大帮助,通过p2p网络,可以很好的解决docker registry的压力。 有关蜻蜓的介绍,请参见直击阿里双11神秘技术:PB级大规模文件分发系统“蜻蜓” 首先,docker pull命令,会被dfget proxy截获。然后,由dfget proxy向super node(即cluster manager)发送调度请求,super node在收到请求后会检查对应的下载文件是否已经被缓存到本地,如果没有被缓存,则会从Regi...