编写自己的ansible action plugin

趁周末把ansible action plugin 写了一个简单的例子,我们日常工作中可能很少会用到action plugin ,但是如果我们能通过action plugin 做一些初始化的工作,例如设定一些默认值,这样我们的ansible playbook 可能会简介很多 例如我们写了一个module需要传递2个参数,如果我们这个mod……

ansible filter (编写你自己的ansible filter)

有时候我们写自己的playbook的时候变量处理真的是特别让人头大,有些变量的操作在python中就很简单,但是放到ansible playbook中就会很麻烦,所以,我们今天来看一下如何编写自己的ansible filter来帮助我们处理一下变量 直接看例子吧:

我们来分……

如何创建自己的ansible module

  什么是 ansible module? Ansible modules 是一种使用python写成的一些功能块,可以在yaml文件中调用,也就是playbook中可以调用的模块,例如常见的模块 copy , debug Ansible 本身就提供了很多很多的模块 地址 什么时候和什么情况下我们会需要自己写module? 绝大……

如何通过Python 自动寻找代理增加网站的流量(刷流量PV)

好吧,无聊的时候写了一个自动获取免费代理的文章   连接地址 既然我们获得了免费的代理列表,那么有很多事情可以干,比如 , 爬取某个网站并且没有被封IP的风险, 比如, 增加某网站的流量, 下面是第一版, 这个砖就给大家提供个思路,因为之前使用urllib2 来实现,但是问题是没有办法保持他的回话,也就是不能达到真正和浏览器一样的效果,所……

iowait 过高问题的查找及解决linux

I/O问题一直是一个比较难定位的问题,今天线上环境遇到了I/O 引起的CPU负载问题,看到了如下这篇比较好的文章,完饭后的我还在和西红柿和黄瓜在减肥的路上抗争,正好将原文翻译成中文,供广大同胞品鉴   Linux 有许多可用来查找问题的简单工具,也有许多是更高级的   I/O Wait 就是一个需要使用高级的工具来de……

CKA 认证系列课程笔记22 multi containers PODS

我们可以在我们的Pod中存放多个container,

这么做的好处之前也说过,同一个Pod下container共享networks 和存储,可以很方便的收集日志等 如果一个pod里存放多个container,那么就牵扯到启动的先后顺序的问题,有些container我们是希望……

CKA 认证系列课程笔记21 ENV

kubernetes中pod里边的环境变量非常重要,如何设置一个pod的环境变量呢? 最直接的,我们可以写到pod的定义中,通过env来设定:

这是最基础的一种方式,我们还可以通过configmap和secret来设定 config 就是一些key : value 我们可以……

CKA 认证系列课程笔记19 Rolling updates and rollbacks

  rolling update 主要指的是我们应用程序版本的升级 例如上图,我们刚开始用的nginx1.7.0,当有新的版本的image出现的时候,说明修复了一些bug或者安全更新,我们需要升级到1.7.1 ,我们如何升级呢? 我们可以直接修改deployment 通过kubectl edit命令或者修改文件然后通过jkube……

CKA 认证系列课程笔记18 Monitor and Log

首先,我们先来看一下如何监控资源的使用情况,Kubernetes并没有提供完备的监控工具,但是,我们有一系列的第三方工具可以使用   Metrics server 是一个基于内存的监控,也就是无法查看历史情况 cAdvizer是kubelet的一个负责监控的组件,它负责收集node上的信息然后发送给metrics server ……

CKA 认证系列课程笔记17 Multiple Schedulers

  kubernetes中是支持多个scheduler的,也就是说,我们可以在创建pod的时候指定我们想要使用的scheduler  

这个使用到的地方很少,具体参考 https://kubernetes.io/docs/tasks/extend-kub……

CKA 认证系列课程笔记15 Daemon Sets

  Daemon Sets 可以理解为是一种特殊的replica Set 我们正常的deployments , Replicaset 默认情况下,是随机分布的,也就是一个Node 上可以存在多个,也可能一个都没有 但是Daemon Sets 是每个Node上一个,这种特殊的设定,非常完美的解决了监控和日志的问题 对比一下repl……

CKA 认证系列课程笔记14 Resource Requirements and Limits

我们Node上的资源是一定的,CPU和内存都是固定的,例如8CPU 32G 我们的scheduler在schedule pod的时候就会考察Node上是否有足够的CPU 和内存来支撑Pod,如果没有,那么我们会看到Pod 一直是pendding的状态   默认情况下,kubernete 认为一个pod运行至少需要0.5个cpu ……