13
回答
OSC 第 107 期高手问答 —— Kubernetes 与容器集群管理
华为云实践训练营,热门技术免费实践!>>>   

OSCHINA 本期高手问答( 1月6日- 1月12日)我们请来了时速云开发工程师 @Oscarzhaosl 来解答 Kubernetes 与容器集群管理 方面的问题。

赵帅龙,@Oscarzhaosl ,容器云平台后端攻城狮,kubernetes文档译者。在服务容器化、服务编排方面有一定的实战经验,对kubernetes、docker有一定的研究。目前就职于时速云,专注于云平台后端的产品和性能优化。

高手语录

Docker容器屏蔽了OS底层杂乱的指令集,为app提供了更高层次的抽象,解决了运维难题;而kubernetes突破了docker容器单机的局限性,能够对海量的容器进行管理和编排,实现“加速开发,简化运维”(DevOps)。

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 Kubernetes 与容器集群管理 方面的问题向 @Oscarzhaosl 提问,请直接回帖提问。

举报
叶秀兰
发帖于2年前 13回/3K+阅
共有13个答案 最后回答: 2年前

引用来自“wulibin163”的评论

有没有kubernetes的性能测试数据

目前单个kubernetes集群支持100个节点,每个节点30个pod,这个规模下,能够下面两条性能指标:

  1. “API-responsiveness”:99%的API调用能够在1秒内返回(list, get, update, patch, delete)
  2. “Pod startup time”: 99%的pod能够在5秒内启动(镜像提前下载好)

下面是官方博客给出的性能数据:


更详细的信息可以查看 kubernetes官方博客给出的文章 Kubernetes性能指标与发展计划 (需翻墙)

@Oscarzhaosl :kubernetes在搭建大数据集群时,尤其在zookeeper等关键组件时,是否有比较优选的建立方式,本身组件内部选举机制,是否和kubernetes的管理机制是否有冲突? 感觉配置在 kube上配置 大数据集群会非常复杂~~有什么经验可借鉴么~谢谢
--- 共有 2 条评论 ---
超哥好? 2年前 回复
Oscarzhaosl这个还没有尝试过,如果zookeeper等组件容器化运行没有问题,并且zookeeper有状态存储设置合理,应该没有问题。kubernetes首选用etcd来做一致性存储和高可用,如果是在kubernetes容器平台上搭建hadoop之类,zookeeper应该不受影响 2年前 回复

引用来自“knightseal”的评论

@Oscarzhaosl :请问 kubernetes Flannel网络插件,性能方面有什么测试嘛?以及和calico 对比测试,建议是用哪种?
之前浙大的张磊做过相关方案的性能测试,不过只有flannel(udp和vxlan),Weave,Socketplane和原生网络性能的对比(参考 ppt http://www.stuq.org/ppt/show/326/397ce7f36109c09132dd2304d92a24c6),因为calico比较新,所以还没有。calico没有采用overlay network,理论上性能比flannel好一些,但flannel成熟度更高,推荐生产环境采用flannel vxlan,对calico持续关注

引用来自“root2000xyz”的评论

@Oscarzhaosl :如何外部访问k8s管理容器?有什么kubernetes的负载均衡方案?

管理容器主要是通过 api server进行的,主要有下面几种方式:

1. 通过命令行工具 kubectl,这个方法可用于简单的查看和调试,具体的文档点这里。下面是windows上使用kubectl查看 pod信息的例子:

powershell >kubectl.exe describe pods <pod-name> --server=https://<api-server_ip>:<port> --token=<bearer token> --insecure-skip-tls-verify



2. 通过 api client 库,目前支持golang、nodejs、Java、ruby、php,不过还没有提供python支持。通过api client,自由度比较大,做私有云的话肯定要用到。这里给出链接

这里你提到的 负载均衡方案,是指 k8s master的高可用负载均衡,还是集群中的容器应用的负载均衡?

@Oscarzhaosl :请问是怎么搭建kubernetes的

不通过其他公司提供的公有云的方式,我目前测试是按照官方文档上在一台机器上安装api server,sheculer,controller,并且都是通过docker的方式,然后在安装proxy,就可以用kubectl客户端进行提交了

请问还又没有其他方式

这些包都是我自己编译的,直接都是可执行文件,并不需要安装,请问还有安装包这种东西么

--- 共有 2 条评论 ---
Oscarzhaosl在本地搭建可以参考官方文档,http://kubernetes.io/v1.1/gs-localmachine.html,把所有组件都运行在 容器里面是比较简单的方式 2年前 回复
Oscarzhaosl不需要自己编译的,github上有编译好的,在压缩包里面https://github.com/kubernetes/kubernetes/releases 2年前 回复

引用来自“土卫十六”的评论

@Oscarzhaosl :请问FTP集群是什么概念,怎么搭建?谢谢
对ftp集群不是特别了解,倾向于把它看成一个 frontend proxy+多个 backend ftp server + 一个或多个storage 架构,采用kubernetes部署在容器中的话,可以考虑将多个backend server放到多个pod中运行,pod挂载同一个数据卷, k8s service作为frontend proxy。顺便广告一下时速云的持久数据卷,在时速云平台上搭建的话,只需要做一个ftp backend server的镜像,创建数据卷,创建服务等简单几步即可部署一个ftp集群。
--- 共有 2 条评论 ---
Oscarzhaosl回复 @土卫十六 : 提供稳定的下载服务的话,可以考虑使用专门的云存储服务,现在各大iaas厂商几乎都有专门的存储服务。自己搭建的话,最好事先测试下云服务器的性能 2年前 回复
土卫十六是另外一个朋友向我推荐FTP集群的。另外有个问题,虽然用云搭建服务器很方便,扩展更是很方便,但是云应该不适合服务器的重度使用者(比如提供文件下载服务),而只适用于轻度使用者,因为这样更便宜、管理更方便,是这样吗? 2年前 回复
顶部