Tag: kubernetes

记一次kubernetes网络调试

背景过了年leetcode的用户量渐渐起来了,1台服务器已经有点吃力,当高峰的时候经常有些请求超时。而且为了防止服务器的单点问题,需要部署多个replica以保证高可用性。之前的架构已经是在kubernetes集群上了,因此扩容相对而言比较容易。整个webserver的架构如下图所示:

在kubernetes中配置skydns

背景kubernetes中的集群发现有两种方式,一种是环境变量,还有一种就是dns服务。对于环境变量,在使用上有一些限制,它依赖于svc和rc的启动顺序: 如果rc先于svc启动,那么pod里面就没有相关svc的环境变量,这种方式违背了kubernetes的理念,即资源之间是解耦的。推荐的方式是使用dns的服务,这篇文章主要关于部署skydns的过程以及其中遇到的问题和采用的方式。

手动在kubernetes集群中添加minon

背景去年年中我使用ansible给项目部署了一个小型的kubernetes集群,部署源码可以在这里找到:contrib。随着业务的发展,目前的集群规模很有可能在明年迎来瓶颈,因此需要 扩容.当然可以继续通过之前的contrib去部署,不过有几点担忧: 目前的系统稳定地提供着服务,ansible脚本可能会对集群产生不可逆的影响 对于contrib的代码不是特别熟悉,不清楚它具体做了哪些步骤,总体来说还是不放心 同时,作为一个system admin,对于集群必须了如指掌才行。因此,在这里做一次演练,手动为已有集群添加节点,增进了解,也为今年的扩容做好准备工作。

在linode服务器上安装kubernetes集群

前言这篇文章其实主要是记录我在安装kubernetes集群时遇到的坑,然后是如何解决的。关于kubernetes的概念,以及安装kubernetes的详细流程将不在本文涉及。 问题背景我已经在Digital Ocean成功部署了一个小型的kubernetes集群,包含一个master和一个slave。部署的方式是使用ansible,这里有一个项目可以参考contrib,按照里面的配置配一下,就可以一键部署集群了。 由于linode机器比DO的机器性价比高一点($40/month这一档前者是4核的CPU,后者只有2核),所以想把集群迁移到linode上。然而在使用脚本部署的过程中总是报错,查了一下发现kubernetes的flannel网络层插件始终起不来,查看了systemctl的日志,发现flannel无法初始化vxlan的网络,具体症状可以参考这样一个issue。