构建容器的七大最佳实践
Mugrage指出, “在起步阶段,大家就应该考虑到可观察性与监控需求。对分布式应用程序进行故障排查往往极为困难,这方面需求必须被包含在应用程序设计当中。后续添加的监管解决方案,往往效果不佳。” 红帽公司技术专业布道师Gordon Haff表示,“使用多种云原生技术工具方案,可以在应用程序当中建立起复杂的监控、跟踪、服务网格以及仪表板。例如Prometheus、Jaeger、Kiali以及Istio等等都在此列,不过,工具种类繁多,这也让技术选型成为一项挑战。” 考虑从无状态应用程序起步 一般而言,运行无状态应用程序,往往比运行有状态应用程序(例如数据库)要容易得多。随着Kubernetes运营商的增加,情况开始有所不同。不过,对于刚刚上手Kubernetes的团队来说,运行无状态应用程序可能是更好的选择。 Plotly公司联合创始人Chris Parmer指出,“如果只能挑选一条最佳实践的话,我建议从无状态应用程序入手,通过无状态后端,开发团队可以确保没有需要长期运行的连接,或者可变状态,从而极大降低扩展的难度。开发人员还能够在零停机时间的前提下,轻松部署应用程序,确保最终用户的请求可以并行被传递至不同的容器处。” Parmer指出,可扩展性是在Kubernetes上运行容器的主要优势,而使用无状态应用程序更有利于发挥这项优势。 “无状态应用程序意味着开发团队能够更轻松地迁移及扩展容器以满足组织的业务需求,包括随意添加或删除容器。通过使用基于无状态后端的Web应用程序框架,我们可以从Kubernetes集群当中获取最大收益。”Parmer说。 构建容器化不容易 时至今日,Kubernetes中仍然没有哪种抽象可以让其底层系统变得真正易于理解——或者说,目前的方案只能使其更易于使用。红帽OpenShift首席技术营销经理Chris Short指出,“这当然不容易,否则每个人都能打造出Kubernetes了。我们在进行容器编排的同时,还消除集群状态及底层基础设施的「存在感」,甚至消除了管理方面的需求。Etcd是一个巨大的Kubernetes依赖项,很多厂商都在想办法将其隐藏起来。Kubernetes涉及网络、安全性以及其他一系列复杂内容。只有做好失败的准备,您的团队才能真正迈出探索Kubernetse的脚步,为迎接真正的「现代」架构摆正心态。” (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |