美文网首页
kubernetes 总结

kubernetes 总结

作者: getsu | 来源:发表于2017-09-15 16:49 被阅读0次

2017/09/26 更新

  • 性能问题查明,是文件系统导致,与服务无关。测试环境上用的是NFS。

2017/09/18 更新

  • kubernetes 1.7.4版本上,go服务并发150,升级到1.7.5后,并发400+。
  1. 系统
  • 尝试过centos和ubuntu,由于网上大部分参考都是centos,最终还是选择了centos 7.3。
  1. 安装工具
  • 尝试过ubuntu下的conjure-up, kubespray,kubeadm,最终选择了kubeadm;
  • 无论什么工具,都严重依赖翻墙下镜像。可以通过docker hub或者其他方式转存镜像。但,直接翻墙最简洁。
  • 工具越智能,出错越难排查。conjure-up和kubespray很方便,但是出错的时候就麻烦了。
  • kubeadm简洁,官方支持,出错也能清楚知道错在哪一步。另外github上有非官方的HA方案,其他工具则只支持单master。
  1. 网络组件选择
  • 尝试过calico, flannel(host-gw, vxlan),weave;
  • calico网络下,服务的端口访问有问题,如dashboard开了30001端口,pod部署在node1上,则:
    • 通过node1的IP+30001,本地和外网都能访问。
    • 通过其他node或者master+30001,本地能访问,外网不能。
  1. docker版本

    • 官方建议是到1.12版本为止,而我尝试的是17.0.6,结果出现问题,需要另外配置防火墙。
  2. 对外端口

    • 尝试过NodePort,性能不好放弃;
    • 尝试过ingree+ nginx,发现后端pod变化时,要相当长的时间在ingress上生效。一段时间内会出现服务访问不到。
    • 尝试过 ingress+ nginx+ keeapalived+ vip, 考虑到上云后无法获得vip,故放弃此方案。
    • 最终决定使用ingress+traefik,本地建nginx模拟LB。上云后使用ELB。
  3. 遗留问题

    • 通过ingress测试java服务和web,性能很不错。但是测试后台go程序,性能只有原先的1/6。通过ingress请求java服务调用其他java服务的情况下,性能损耗也巨大。

相关文章

网友评论

      本文标题:kubernetes 总结

      本文链接:https://www.haomeiwen.com/subject/kntesxtx.html