XuXinkun Blog

科学引导思想 技术改变生活

etcd使用之ttl不准确问题

TTL for etcd

问题现象 部署有一个etcd集群,分别是10.8.65.106,10.8.65.107和10.8.65.108。 然后我使用etcdctl为一个值设置ttl,然后通过watch观察,发现失效时间不准确,而且时间随机。 比如我设置/mytest/test的ttl时间为10秒 [root@node-106 ~]# date && etcdctl set --ttl 10 ...

spark单机部署及样例运行

Deploy spark in local host.

spark单机运行部署 环境预装 需要预先下载jdk和spark。机器使用centos6.6(推荐)。然后依次运行 [root@spark-master root]# cd /root #安装必要的软件 [root@spark-master root]# yum install -y tar git curl wget #下载jdk [root@spark-master root]...

kubernetes源码阅读及编译

Build kubernetes from source.

kubernetes源码阅读 工欲善其事,必先利其器。在阅读kubernetes源码时,我也先后使用过多个IDE,最终还是停留在IDEA上。 我惯用的是pycharm(IDEA的python IDE版本),配上go的插件,把源码目录进行合理组织后,加入到go的lib,即可实现跳转。更多的方法可以参看这里。 kubernetes源码编译 kubernetes的源码编译可以分为两种方式。...

kubernetes入门之kube-proxy实现原理

kube-proxy of kubernetes.

kube-proxy service是一组pod的服务抽象,相当于一组pod的LB,负责将请求分发给对应的pod。service会为这个LB提供一个IP,一般称为cluster IP。 kube-proxy的作用主要是负责service的实现,具体来说,就是实现了内部从pod到service和外部的从node port向service的访问。 举个例子,现在有podA,podB,podC...

docker的网络-Container network interface(CNI)与Container network model(CNM)

Container network interface(CNI) and Container network model(CNM)

Overview 目前围绕着docker的网络,目前有两种比较主流的声音,docker主导的Container network model(CNM)和社区主导的Container network interface(CNI)。本文就针对两者模型进行分别介绍。 Container Networking Interface 概述 Container Networking Interfac...

kubernetes入门之skydns

Skydns of kubernetes.

部署kubernetes dns服务 kubernetes可以为pod提供dns内部域名解析服务。其主要作用是为pod提供可以直接通过service的名字解析为对应service的ip的功能。 部署kubernetes dns服务主要需要两部分。 kubelet 在kubelet中增加启动项,修改 $ vi /etc/kubernetes/kubelet KUBELET_ARGS=...

浅析flannel与docker结合的机制和原理

Analysis of flannel

flannel flannel可以为容器提供网络服务。 其模型为全部的容器使用一个network,然后在每个host上从network中划分一个子网subnet。 为host上的容器创建网络时,从subnet中划分一个ip给容器。 其采用目前比较流行的no server的方式,即不存在所谓的控制节点,而是每个host上的flanneld从一个etcd中获取相关数据,然后声明自己的子网网段...

kubernetes入门之快速部署

Deploy kubernetes.

角色说明 这里主要有三个角色,分别部署不同的服务。 角色 服务 etcd etcd master kube-apiserver/kube-scheduler/kube-controller node ku...

python并发获取snmp信息及性能测试

Get snmp info with python

python & snmp 用python获取snmp信息有多个现成的库可以使用,其中比较常用的是netsnmp和pysnmp两个库。网上有较多的关于两个库的例子。 本文重点在于如何并发的获取snmp的数据,即同时获取多台机器的snmp信息。 netsnmp 先说netsnmp。python的netsnmp,其实是来自于net-snmp包。 python通过一个c文件调用net...

Facebook开源的基于SQL的操作系统检测和监控框架:osquery daemon详解

Analysis of osquery daemon

osqueryd osqueryd(osquery daemon)是可以定期执行SQL查询和记录系统状态改变的驻守程序。 osqueryd能够根据配置手机归档查询结果,并产生日志。 同时也可以使用系统事件的API来记录文件、文件夹的变化,硬件事件,网络事件等等。 osqueryd启动默认读取/var/osquery/osqueryd.conf配置文件。 当然也可以使用osqueryd -...