• 说说我的homelab

    宽带 网件WNDR无线交换 HP Gen8 虚拟化 公网访问 玩客云 DLNA TODO 说说我的homelab。 宽带 宽带是电信200M下行,光纤入户,电信提供的光猫,带无线功能。光猫的无线也会开启,备用。电信的光猫只有2.4G。 网件WNDR无线交换 家里的无线设备比较多,手机若干,MBP,Windows笔记本,Linux笔记本,Switch,天猫魔盒,Sony/Sharp电视。大部分无线设备并没有连接电信光猫的无线信号,而是连接了网件WNDR430...


  • 小贴士:如何在线关闭一个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可以扩容吗? kubernetes的bug 从v1.11开始,kubernetes默认开启resize feature 和 PersistentVolumeClaimResize admission controller,如果用户创建的存储卷容量不够,可以进行扩容,原有数据不会丢失。目前支持resize的存储卷AWS-EBS, GCE-PD, Azure Disk, Azure File, Glusterfs, Ci...


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

    Azure 中国 提供了 gcr.io 及k8s.gcr.io容器仓库的镜像代理服务,安装kubernetes时拉取镜像失败的同学有福了。 测试了下,服务很稳定,速度也不错,基本>1MB/s(杭州电信),推荐。 拉取时需要改一下前缀,等pull完了以后再tag为新的镜像名。 docker pull gcr.azk8s.cn/google_containers/<imagename>:<version> Azure开源镜像站点提供了很多镜像服务。运营主体是Az...

    Azure 中国 提供了 gcr.iok8s.gcr.io容器仓库的镜像代理服务,安装kubernetes时拉取镜像失败的同学有福了。

    测试了下,服务很稳定,速度也不错,基本>1MB/s(杭州电信),推荐。

    拉取时需要改一下前缀,等pull完了以后再tag为新的镜像名。

    docker pull gcr.azk8s.cn/google_containers/<imagename>:<version>
    

    Azure开源镜像站点提供了很多镜像服务。运营主体是Azure中国,也就是世纪互联,应该能持续维护下去。


    我写了一个python脚本 docker-wrapper ,可以替代系统的docker命令,自动从Azure拉取镜像、tag为目的镜像、删除Azure镜像,一气呵成,懒的写脚本的同学可以拿来用用。

    install

    git clone https://github.com/silenceshell/docker-wrapper.git
    sudo cp docker-wrapper/docker-wrapper.py /usr/local/bin/
    

    usage

    You can use docker-wrapper to pull images not only from gcr.io/k8s.gcr.io and also from hub.docker.com. In the later condition, It will directly pull from hub.docker.com.

    docker-wrapper pull k8s.gcr.io/kube-apiserver:v1.14.1
    docker-wrapper pull gcr.io/google_containers/kube-apiserver:v1.14.1
    docker-wrapper pull nginx
    docker-wrapper pull silenceshell/godaddy:0.0.2
    

    -->

  • 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,厚度比一元硬币...