Fork me on GitHub
摘要: 问题的来由 在kubernetes集群的生产中,经常遇到这样的一个问题,就是在应用大规模更新时,大量容器删除而后大量容器创建,创建的容器需要很长时间才能就绪。这其中一个可能的原因,就是大量容器删除释放ip过于缓慢,导致新创建的容器无法及时获取ip,从而无法及时启动。 这种情况普遍存在于ip池较小或者 阅读全文
posted @ 2019-03-25 11:16 xinkun 阅读(2108) 评论(0) 推荐(0) 编辑
摘要: littleTools littleTools是我根据日常运维时编写的一个小工具,开源在了 "https://github.com/xuxinkun/littleTools" 上。 littleTools包含一组简短命令,主要用于简化某些命令的输入。目前littleTools有docker tool 阅读全文
posted @ 2019-03-21 11:24 xinkun 阅读(670) 评论(0) 推荐(0) 编辑
摘要: ansible kubectl connection plugin ansible是目前业界非常火热的自动化运维工具。ansible可以通过ssh连接到目标机器上,从而完成指定的命令或者操作。 在kubernetes集群中,因为并不是所有的服务都是那么容器化。有时候也会用到ansible进行一些批量 阅读全文
posted @ 2019-03-19 12:25 xinkun 阅读(2344) 评论(0) 推荐(0) 编辑
摘要: docker容器中的环境变量 docker可以为容器配置环境变量。配置的途径有两种: 1. 在制作镜像时,通过 命令为镜像增加环境变量。在容器启动时使用该环境变量。 2. 在容器启动时候,通过参数配置环境变量,如果与镜像中有重复的环境变量,会覆盖镜像的环境变量。 使用 即可查看容器中生效的环境变量。 阅读全文
posted @ 2019-03-14 17:00 xinkun 阅读(31923) 评论(1) 推荐(3) 编辑
摘要: kubesql kubesql( "https://github.com/xuxinkun/kubesql" )是我最近开发的一个使用sql查询kubernetes资源的工具。诸如node,pod等kubernetes的资源被处理为table。而后可以使用sql语句对其进行查询。 例如,所有pod都 阅读全文
posted @ 2019-03-12 16:34 xinkun 阅读(1356) 评论(0) 推荐(1) 编辑
摘要: hostname在docker中是使用UTS namespace进行隔离的。docker中主要有两种ns的用法, 一种是 。这种会新创建一个新的uts ns。 一种是 。这种创建的容器将会使用物理机的uts ns。 在k8s中,是这样处理的uts的ns的: 这里我们可以关注几个事情: 1. paus 阅读全文
posted @ 2019-01-10 16:40 xinkun 阅读(8437) 评论(0) 推荐(0) 编辑
摘要: grafana provisioning grafana provisioning (http://docs.grafana.org/administration/provisioning/ provisioning grafana)是grafana 5.0后引入的功能,用以支持通过配置的方式进行d 阅读全文
posted @ 2018-11-28 15:27 xinkun 阅读(2559) 评论(0) 推荐(0) 编辑
摘要: 在使用jieba分词时,发现分词准确度不高。特别是一些专业词汇,比如 ,只能分出 ,并不能分出 。这样导致的问题是很多时候检索并不准确。 经过对比测试,发现 "nlpir" 进行分词效果更好。但是nlpir的效率和各种支持又没有jieba那么好,因此采用了一种折中的方案。 就是先用nlpir生成字典 阅读全文
posted @ 2018-10-09 10:24 xinkun 阅读(2696) 评论(0) 推荐(0) 编辑
摘要: graph easy 日常我们经常需要画一些简易流程图,但是如果使用visio等工具来作图,一则略显大材小用,二则图片导出后再要粘贴。相比下,如果可以简单的用一些text的图来表达,则会简单的多。比如这种: graph easy的语法相对来说比较宽松, ,`[hello] [world] [ hel 阅读全文
posted @ 2018-09-07 18:21 xinkun 阅读(952) 评论(0) 推荐(0) 编辑
摘要: kubernetes版本融合背景 在kubernetes 1.6版本的基础上进行了深度的定制。而且该版本已经相当稳定。但是随着kubernetes版本迭代,后期使用的如service mesh/kubeflow项目依赖于高版本的kubernetes,比如1.8或者1.10以上的版本。这样就产生了一定 阅读全文
posted @ 2018-09-06 09:45 xinkun 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 这几个月参与了几场面试,设计了多道面试题,觉得可以综合考察应聘人对kubernetes的掌握情况。在这里分享下,供应聘人自查以及其他面试官参考。 这些面试题的设计初衷并不是考察kubernetes的使用。这种笔者认为较为流于表面,因为这些使用大多可以通过查看文档获得。笔者更多更多考察的是对于kube 阅读全文
posted @ 2018-07-24 09:39 xinkun 阅读(3414) 评论(0) 推荐(1) 编辑
摘要: `kubectl get o json o yaml go template`来进行实现。 是golang的一种模板,可以参考 "template的相关说明" 。 比如仅仅想要查看获取的pods中的各个pod的uid,则可以使用以下命令: 因为get pods的返回结果是List类型,获取的pods 阅读全文
posted @ 2018-01-17 18:20 xinkun 阅读(2449) 评论(0) 推荐(0) 编辑
摘要: 容器无疑是近年来云计算中最火热的关键词。随着docker的大热,docker、oci、runc、containerd等等名词也逐渐传播开来。这么多的名词,也容易让人混淆。本文对相关名词和其之间的联系进行一下梳理和总结,方便大家更好地理解。 container 首先说的是 container 容器。随 阅读全文
posted @ 2017-12-14 11:33 xinkun 阅读(15197) 评论(1) 推荐(3) 编辑
摘要: 错误出现 在一台物理机重启后,以前创建的容器无法启动了。一启动,则会报出错误。 错误原因 这个错误的主要原因是因为selinux enable的时候,创建了该容器。而后修改了 ,修改成selinux为disabled。 物理机重启后,selinux处于关闭状态,则原先在selinux enable时 阅读全文
posted @ 2017-11-30 16:13 xinkun 阅读(1919) 评论(0) 推荐(0) 编辑
摘要: 问题现象 发现某个service的后端endpoint一会显示有后端,一会显示没有。显示没有后端,意味着后端的address被判定为notready。 endpoint不正常的时候: endpoint正常的时候: 问题分析 查看源码,可以看到endpoint是根据pod的status中的condit 阅读全文
posted @ 2017-09-19 17:40 xinkun 阅读(1419) 评论(0) 推荐(0) 编辑