更加多技术干货请戳:听云博客

迄今截止,接触kubernetes也有一段时间了,而小编辈的一大半工作也早已平静地运维在不一致规模的kubernetes集群上,不得不说,无论是从使用计划、迭代,依旧从能源调度管理等地点都有其难以言喻的优势,但是随着业务的无休止增进,以及劳动的多元化,容器的体积与治本的难度也跟着提升。

浅述Kubernetes集群经常管理尊崇中的一些痛点:

1.较为庞大的集群规模及容器数量维护管理。

我们合营社的业务场景属于典型的多业务线并行。同时为了有利于分类管理,避免端口争论和能源合理使用。大家也使用了部分政策,如:

标签
label:通过标签,一方面可以标识哪个产品线的哪些应用坐落于哪些node之上,或然有人会想干什么要那样做,如果你有多个数额落盘的行使而该使用总是每一回随着运营变来变去就糟糕玩了。一方面通过标签可以平衡设备负载,比如将相比较耗cpu和相比较耗内存的映衬在一起,不但能源充足利用而且还有效的严防同种类(比如高耗cpu)偶然间跑五个node上造成财富掠夺及端口争持。

这就是说难题来了,如何让2个运行人员面对广大多的竹签并对其保险管理(kubectl
get node –show-labels
?),又怎么让3个运营人士,故障发生时,面对广大多的nodes/pods,即时神速地稳住两者的照应关系,从而化解难题。

2. 测试环境维护管理难题。   

相似的施用计划与上线流程相比较麻烦

图片 1

那种形式下,让逐个研发人士在每一回调试beta环境时,无论是更改配置大概代码更新都亟待交换运营人士授予操作,让种种运营人员都要用更加多的肥力额外的维护一套甚至越多系统环境,每一天游走于beta,线上中间。不免某些令人胃疼。

更期待有这么的一种情势

图片 2

如此大大减弱了部门时期的联络费用。可是难点来了,如何让3个研发人士可以单独的花费珍视属于自身的beta环境,且不须要过多的关怀除代码调试外的有的东西啊?(如怎样去写二个依照kubernetes服务的yaml或json)

借此,于是萌生出了多个品尝写一个管理服务的想法,意在让运行人员进一步方便的治本本身的kubernetes线下线上集群,让研发人士也可以自主的编排与保证属于本人的测试环境应用,初期阶段,仅供参考,若有不足之处,欢迎大家随时予以宝贵意见。

Python
Admin(测试版)是依照Python+Django与kubernetes
Api的运转管理体系。前端拔取开源SB(start bootstrap)
Admin-2模板(清新,简约)。

1.版本音讯:

Python2.7.5+Django1.8.13+Kubernetes1.2.4+docker1.10.3

2.Kubernetes
Api相关:

创制与更新label

curl -X PATCH -i -H \
"Content-Type:application/merge-patch+json" \
http://k8smaster:8080/api/v1/nodes/{ nodename } \
-d  '{"metadata":{"labels":{"标签":"应用"}}}'

创建configmap

curl -X POST -i -H  \
"Content-Type:application/json" \
http://k8smaster:8080/api/v1/namespaces/default/configmaps/ \
 -d "$(cat configmaptest.json)"

更新configmap

curl -X PATCH -i -H \
"Content-Type:application/merge-patch+json" \
http://k8smaster:8080/api/v1/namespaces/default/configmaps/{ configmapname } \
-d "$(cat configmapupdate.json)"

删除configmap

curl -X DELETE \
http://k8smaster:8080/api/v1/namespaces/default/configmaps/{ configmapname }

Configmap的基本Json模板

图片 3

创建daemonset

curl -X POST -i –H \
"Content-Type:application/json" \
http://k8smaster:8080 /apis/extensions/v1beta1/namespaces/default/daemonsets \
-d "$(cat daemonset.json)"

更新daemonset

curl -X PATCH -i -H \
"Content-Type:application/merge-patch+json" \
http://k8smaster:8080/apis/extensions/v1beta1/namespaces/default/daemonsets/{daemonsetname} -d "$(cat daemonsetupdate.json)"

删除daemonset

curl -X DELETE  \
http://k8smaster:8080/apis/extensions/v1beta1/namespaces/default/daemonsets/{daemonsetname}

daemonset
基本json模板

图片 4

如上列举为局地api操作,其余有关操作请参见kubernetes官方文档

http://kubernetes.io/docs/api-reference/v1/operations/

3.平台操作界面概览

1..Kubernets集群财富管理界面(清晰显示集群能源消息及所属种类组,便于分类管理)

图片 5

2.门类应用配置管理界面(配置文件单独管理,采取数据库存储配置文件内容。成立和创新configmap时重新reload,并实时同步计划文件使用情状。)

图片 6

图片 7

3.劳务配置与治本界面(应用模板创立,同时扩展系统日志功用,服务运转后记录各个阶段的执行景况,方便错误追踪,具有自然的操作审计效能)

图片 8

图片 9

4.Kubernetes容器财富管理界面(逐个集群拥有node,以及各种node所有pods音信,并采取websocket方式exec进入容器内部防止权限决定不当难题)

图片 10

若果不认账劳动是或不是能不奇怪运维,Container建立落成后,可以经过debug方式(command:
[“sleep”,
“丰盛长日子”])进去容器内部执行./run.sh调节服务,待没难题后,再已健康格局运行。

前景优化的有些小想法:

1.kubernets集群一键安插,节点财富即时参预。

2.监督方面,在系统级别监控的根基上,伸张容器服务级别监控及相应告警策略。

3.结缘融入jenkins接口,让服务配置与立异,更简约透明化。

相关文章

网站地图xml地图