请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

   思科 CCO 登录 推荐
 找回密码
 立即注册

搜索
热搜: 邮件服务器
查看: 416|回复: 1

【原创翻译】多种云服务模式下Kubernetes的最佳实践(1)

[复制链接]
发表于 2019-7-29 17:21:02 | 显示全部楼层 |阅读模式
引言:在本文中讨论多种云服务的模式下,成功部署和运行Kubernetes群集的关键操作难点与最佳实践。

根据2018年云计算状况报告显示:如今81%的企业都使用了多种云服务的模式,他们通过采用公有云服务、现代基础构造平台、以及公/私有云的持续混合,在快速、灵活地调整自身规模和容量的同时,能够更快地给客户提供价值。实际上,根据IDC的最新数据,2018年第一季度,全球服务器出货量同比增加了20.7%,高达270万台,整体收入则增长了38.6%,这是连续第三个季度达到两位数的增长。
另一个令人振奋的趋势是:容器的出现为应用组件的打包和管理提供了最佳的实现方式。Kubernetes也已被广泛地接受为部署和操作容器化应用的最佳方案。而且,Kubernetes的关键价值就在于它能够协助标准化多种云供应商所提供的服务功能。
当然,上述优势也带来了一定的复杂性。容器虽然解决了DevOps的相关问题,但同时也引入了一个新的、需要管理的抽象层。由于Kubernetes本身就是一个需要管理的分布式应用,因此它只能解决运营上的部分问题,而非全部。
我们将在本文中讨论多种云服务的模式下,成功部署和运行Kubernetes群集的关键操作难点与最佳实践。总的说来,我们所持的观点是:IT运营团队应当为多个内部其他团队构建出一套企业级的Kubernetes整体策略。

1. 使用最佳的基础设施
与传统的内部基础设施供应商相同,所有云服务供应商都能够提供存储和网络等方面的服务。在考虑多种云服务模式的策略时,我们值得注意的是:到底是使用各个供应商所提供的现有功能?或是要用到一个抽象层。虽然这两种方法都可行,但是您应当谨慎地尽量最小化抽象层、且使用供应商自己提供的方案。例如:不要在AWS中运行覆盖网络(overlay network,译者注:是一种面向应用层,而不必或减少考虑网络层与物理层的网络协议),而最好去使用AWS提供的Kubernetes CNI(容器网络接口,Container Network Interface)插件,为Kubernetes提供原生的网络功能。此方法还可以使用诸如安全组和IAM(译者注:身份识别与访问管理,Identity and Access Management)等其他服务。
2. 管理自己的Kubernetes版本
Kubernetes是一个快速推进的项目,它每三月都有一个更新版本的发布。因此您需要决定的是:由供应商为您测试和管理Kubernetes的各个发布版本,还是希望允许自己的团队直接使用那些版本。
凡事都有利弊两面值得考虑。如果您使用供应商去管理Kubernetes,那么他们会带来额外的测试和验证方面的帮助。当然,云原生计算基金会(Cloud Native Computing FoundationCNCF)Kubernetes社区本身就具有成熟的开发、测试与发布流程。Kubernetes项目是由一个特殊兴趣小组(Special Interest GroupsSIGs)所管理,Release SIGhttps://github.com/kubernetes/sig-release#mission)负责通过各种流程,来确保每个新版本的质量和稳定性。CNCF还为各个供应商提供了Kubernetes软件一致性(https://www.cncf.io/certification/software-conformance/)计划,以证明他们的软件能与Kubernetes的各个API实现100%兼容。
对于企业内部而言,我们最好将稳定的版本使用到生产环境之中。但是,有些团队可能需要具有pre-GA(译者注:pre-General Availability, 发布正式版本之前)功能的群集。因此,最好的办法就是:让团队灵活地选择多种经过验证的Upstream版本,或者让他们根据需要去尝试新的版本,但是需要风险自担。
3. 通过策略来规范群集的部署
安装Kubernetes群集时,我们需要做出如下重要的决定:
1.版本:要使用的Kubernetes组件版本。
2.网络:要使用的网络技术,通过CNIContainer Networking Interface,容器网络接口,https://github.com/containernetworking/cni)插件来配置。
3.存储:要使用的存储技术,通过 CSIContainerStorage Interface,容器存储接口,https://github.com/container-storage-interface/spec)插件来配置。
4.入口:入口控制器(Ingress Controller)可被用于负载平衡器,以及将各种外部请求反向代理到您的不同应用服务上。
5.监控:可用于监控群集中Kubernetes组件和工作负载的加载项。
6.日志记录:一种集中式日志方案,可用于从群集的Kubernetes组件和应用负载中收集、聚合并转发日志到集中式日志记录系统中。
7.其他加载项:其他需要作为群集的一部分运行的服务,如DNS和安全组件。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分5 (2 评价)
发表于 2019-7-29 19:43:19 | 显示全部楼层
感谢版主分享,谢谢~在此把此篇相关链接贴出来,方便大家阅读
【原创翻译】多种云服务模式下Kubernetes的最佳实践(2)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分5 (1 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2019-8-24 17:57 , Processed in 0.082422 second(s), 30 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表