• 一个可以查看linux当前缓存了哪些大文件的小工具

    linux用户可能经常遇到的一个问题是,机器有16GB内存,开的进程也不多,但是剩下的free内存并不多,大部分都被buff/cache掉了(比如下面我的PC),但是cache了些什么东西并不清楚,linux也没有个命令能查看。 $ free -h total used free shared buff/cache available Mem: 15G 6.4G 2.3G ...


  • centos上docker使用devicemapper的注意点:小心磁盘满了

    devicemapper的经验 再说点题外话 再再说点题外话 devicemapper的经验 Docker需要union fs来做容器的存储,各个发行版不一样,ubuntu上使用AUFS,centos上默认使用devicemapper(关于这俩的对比,可以参加infoQ的文章)。AUFS据说因为代码写的太糟糕,一直被linus拒绝接纳进内核,所以在Redhat系列上,需要留神,比如我们就有几次遇到了这么一个问题。 在centos 7.2上,默认配置安装docker,当运行的doc...


  • 在kubernetes上使用flume TAILDIR收集日志到HDFS上

    需求分析 实现细节 需求分析 我们的应用以前直接跑在物理机上,应用日志使用flume ng 的exec方式(即tail -F)收集后,写到HDFS上。如下图: 在flume.conf中定义sources、channels、sinks: agent1.sources = source1 agent1.channels = ch1 agent1.sinks = sink1 agent1.sources.source1.type = exec agent1.sources.sour...


  • 杀死一只小鲸鱼

    docker容器退出会收到哪些信号? docker stop docker kill docker rm -f 应用应该处理哪个信号? 应用是怎么接收到信号的 之所以会有这个主题,是因为这几天我给mysql集群前置了一个keepalived,为了方便也做成了docker镜像,丢给k8s来部署。但实际测试时发现,当停止或者删除keepalived容器后,网卡上还残余之前keepalived下发的virtual ip。 直...


  • kubernetes如何解决服务依赖呢?

    如何知道Pod已经Ready 延迟应用的部署 结论 原文链接在此。写的比较通俗易懂,做个笔记,有一些是我自己的理解。 在微服务的世界里,任何应用都需要注意,其所依赖的服务是会中断的。所以当应用发现某服务(如数据库)出现了故障,应该每隔一端时间去重试。而上层框架(如k8s)会检测到服务故障,并尝试恢复这个服务。 但在现实世界里,有些旧应用并没有处理这种情况,但我们还是希望能将他们也跑在微服务框架里,以期得到微服务的红利(例如应用故障重启),所以,需要定义服务依赖关系,从而保障旧应用...


  • 如何给kube-dns插一条自定义的域名记录

    kube-dns原理解析 如何增加一条记录呢? kube-dns原理解析 在我们用的kubernetes 1.5.4版本里,kube-dns与之前版本的实现有所不同。 旧版本中,kube-dns由4个容器组成: etcd,存储dns数据 kube2sky,作为桥梁,监控kubernetes api server,向skydns写入DNS规则 skydns,提供DNS服务 healthz,健康检测 但在我们的1.5.4版本中,kube-dns只有3个容器: ...


  • k8s镜像:安装kubernetes,访问不了gcr.io怎么办?

    github开启对docker hub的读授权 Dockerfile上github Docker Hub上创建Automated build 取到本地并push到private Registry 补 如何使用 之前在安装k8s的时候,我们提到了依赖的gcr.io/google_containers里的镜像因为GFW的原因取不到,但是暂时没有gcr.io的国内镜像,怎么办呢? 方法1:如果有aws上的EC2虚拟机,远程到虚拟机上docker...


  • kubernets: Persistent Volume & Persistent Volume Claim

    安装NFS 创建一个5GB的PV 创建一个带PVC的nginx RC 验证 k8s 1.5版本支持了有状态应用StatefullSet,其中一个很重要的技术支撑点就是,持久化存储。 在前面介绍Statefull的时候,我把涉及到PV的地方改为使用HostPath+nodeSelector来代替了,虽然可以达到“有状态”的目的,但是应用如果要保证数据的HA,需要应用本身起多副本,并且副本之间需要能够自行完成数据的备份。 要求有点高。 更好的做法是什么呢?回过头来看,如果将应用...


  • 多说要关闭了

    我的讨论框插件用的是多说,其实也说不上多满意,因为故障率还是挺高的,后台有时会打不开。但总归还是可以用的,所以也没有去关注有没有其他的讨论框插件。 结果今天一开邮箱,看到了这么封邮件: 尼玛。 多说是如何盈利的,一直是个未解之谜。知乎上有几个相关的问题,但都是0回答,侧面也反映了多说的现状,关闭也就不奇怪了。 多说关闭了以后,评论框可以用谁家的呢? 推荐下网易的 云跟帖 ,使用方法跟多说类似,获取代码然后贴到自己blog里就好了,具体效果你拉倒本文最后就可以看到了。 网易云跟帖有导入 ...


  • kubernets: Headless Services

    我知道Service,但Headless Services 是用来做什么的呢? Headless Service也是一种Service,但不同的是会定义spec:clusterIP: None,也就是不需要Cluster IP的Service。 还记得Service的Cluster IP是做什么的吗?对,一个Service可能对应多个EndPoint(Pod),client访问的是Cluster IP,通过iptables规则转到Real Server,从而达到负载均衡的效果(实现原理请见这里)。...