• 小贴士:如何在线关闭一个tcp socket连接

    如何在线关闭一个tcp socket连接? 你可能会说,简单,netstat -antp找到连接,kill掉这个进程就行了。 # netstat -antp|grep 6789 tcp 0 0 1.1.1.1:59950 1.1.1.2:6789 ESTABLISHED 45059/ceph-fuse # kill 45059 连接确实关掉了,进程也跟着一起杀死了。达不到“在线”的要求。 有没有办法不杀死进程,但还是可以关闭socket连接呢...


  • kubernetes PVC支持resize扩容

    1、扩容前准备 2、扩容操作 3、在线扩容 4、cephfs可以扩容吗? 从v1.11开始,kubernetes默认开启resize feature 和 PersistentVolumeClaimResize admission controller,如果用户创建的存储卷容量不够,可以进行扩容,原有数据不会丢失。目前支持resize的存储卷AWS-EBS, GCE-PD, Azure Disk, Azure File, Glusterfs, Cinder, Portworx, 以...


  • Azure中国提供了gcr.io/k8s.gcr.io镜像代理服务

    Azure 中国 提供了 gcr.io 及k8s.gcr.io容器仓库的镜像代理服务。 测试了下,服务很稳定,速度也不错,基本>1MB/s(杭州电信),推荐。 docker pull gcr.azk8s.cn/google_containers/<imagename>:<version> Azure开源镜像站点提供了很多镜像服务。运营主体是Azure中国,也就是世纪互联,应该能持续维护下去。


  • yummy: 基于LVM的local volume完全自动动态供给

    在kubernetes支持local volume中我有提到,目前local volume还无法完全自动完成动态供给。 为了解决这个问题,我在春节期间撸了一个小项目:yummy。 yummy会监听local volume类型的PVC,在创建LVM的机器上,动态创建LV并挂载,然后再通过external storage发现新挂载的目录、创建PV,从而自动完成动态供给。 yummy分为schedule和agent,其中scheduler负责监听将PVC调度到合适的node上,而各个node上的ag...


  • golang.org镜像代理

    golang写代码,有个地方特别不爽:没有一个成熟的包管理机制。前文 Golang官方包依赖管理工具 go mod 简明教程里介绍了golang 1.11版本推出的go module功能,但是实际使用时还是会遇到网络原因无法访问golang.org上的包的问题,我们可以通过配置镜像代理来解决。 众所周知,golang是google推出的,而google又长期处于404状态;我们有时会遇到一些托管在golang.org, k8s.gcr.io的库,在go mod之前可以从github拖下来改下名字,...


  • kubernetes支持PodSecurityPolicy

    PodSecurityPolicy是什么 开启PodSecurityPolicy 授权策略 示例 PodSecurityPolicy是什么 PodSecurityPolicy是一种用来控制Pod安全相关配置的全局资源。 在开启RBAC的kubernetes集群上,如果允许用户使用kubectl,那么必须开启PodSecurityPolicy,否则用户可能会使用一些特权资源(例如privileged,hostNetwork,hostPath等等),影响node机器的稳定性。 ...


  • 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...