- 博客(8)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
原创 记一次线上服务迁移方案调研
前言对于任何一个模块或服务或框架来说都需要具备可升级性。升级背后的诉求可能是多种: 版本的升级,寻求更安全的代码或者享用更强大的功能。 当前服务已经不能承担目前的用户量,急需要横向扩容升级。 其他外界因素引发的升级需求,如机房迁移等。 正文本文要讲的Kafka架构的升级,原因是上述讲的第二种。在kafka横向扩容中,首先调研了kafka本身架构具备的横向扩容能力。即将新broker加入到新的集群即可,新broke...
2020-07-26 18:37:02 320
原创 kafka集群机器数目计算
前言:如何在业务上敲定kafka的机器数目!需要遵循的前提是,单数原则,就是zookeeper和broker的节点数目最好是单数!分区分配给消费者有三个策略,默认是第一个。RangeAssignor策略:假设n=分区数/消费者数量,m=分区数%消费者数量,那么前m个消费者每个分配n+1个分区,后面的(消费者数量-m)个消费者每个分配n个分区。@hxx 针对于单个topic分区的分配,如果一个consumer同时订阅了多个topic,那么对于多个topic而言,某个consumer可能分配
2020-07-15 20:21:50 1756
原创 kubernetes 自定义调度器
todo:1: 修改proiority 打分逻辑,加上load的权重2: 编译新的调度器,打包推上线3: 为某些deployment 指定使用新的调度器正文2:编译新的调度器,打包上线参考 https://k8smeetup.github.io/docs/tasks/administer-cluster/configure-multiple-schedulers/3:指定调度器通过提供调度器名称作为spec.schedulerName参考同上连接...
2020-07-14 20:14:33 1032
原创 kubernetes 自定义调度器-02
背景加上machine_load 的打分权重,需要调研其他维度的分值区间,将load在其中的的地位加重!正文balanced_resource_allocation计算资源(request cpu和mem)的均衡情况,分值大小为0-10分,10分为最佳均衡image_locality镜像是否在本地存在,是根据镜像大小之和来计算,越大分值越高,分值区间是0-10interpod_affinitypod间亲和力和反亲和力打分,需要考虑是pref...
2020-07-14 20:13:39 606
原创 k8s node 和pod匹配的几种方式
nodeSelector强制匹配,是podSpec的一个字段,键值对匹配,先为node打上标签,再为node指定标签,如proxy。Affinity and anti-affinitynodeAffinitynodeAffinity操作方式也和nodeSelect相同,优势是:语法更具表现力(不仅仅支持“与(AND)”完全匹配)可以指明规则是“soft/preference”而不是强制要求,所以如果不满足调度条件,pods依然可以被调度。可以将规则限制在运行在一个节点上的pods
2020-07-13 20:03:55 1043
原创 从零搭建kubernetes集群之etcd搭建中的一些坑总结
etcdctl --endpoints "http://10.16.**.**:2377" member listexport ETCDCTL_API=3#etcdctl --endpoints "http://10.16.**.**:2377" --prefix --keys-only=true get /etcdctl --endpoints "http://10.16.**.**:2377" get /registry/configmaps/wcs-online/indexproxy.
2020-07-13 20:03:08 582
原创 在实际项目中如何组织docker容器和进程的关系
前言1: 在日常启动中,一个容器含有多个进程。那么哪个才是与容器生命周期相关的进程呢?2: 在容器的dockerfile文件中,CMD可以指定容器需要执行的命令(或者entrypoint),其实这就是docker容器的住进程3: 其实docker容器建议使用单进程,但是我们经常使用多进程,并且采取了讲多个命令写到pod的一个脚本中。然后在Dockerfile中,将start-kubernetes.sh指定为Docker容器默认执行的命令即可:CMD ["start-kubernetes.
2020-07-13 19:59:47 860
原创 docker 容器身份设置详解
前言遇到好几个问题1: docker push 到仓库后,docker run 进去看到的文件的权限,是源目录的文件权限相似还是与执行push命令的权限相似? 目前看不是与源目录的权限相同2: docker运行的账户怎么指定?3: kubernetes中docker运行的账户怎么指定?正文1: 对应上面第一点在镜像源目录下,对所有的源文件修改了账户和分组,push 后,使用docker run依然看到的是root权限。 整个打镜像的过程都是使用root操作镜像的!..
2020-07-13 19:57:57 425
Php面试知识点整理
2013-09-17
ffmpeg音频视频转换软件
2013-06-23
tomcat server.xml设置host name不生效
2015-12-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人