Docker+k8s容器云建设中常见难点分析.docx
《Docker+k8s容器云建设中常见难点分析.docx》由会员分享,可在线阅读,更多相关《Docker+k8s容器云建设中常见难点分析.docx(11页珍藏版)》请在优知文库上搜索。
1、随着云计算、DeVOPS和微服务应用架构的发展,容器云成为IT的主要基础设施平台之一。以DOCker为代表的容器技术,是目前有效的应用交付模式之一;以Kubernetes为代表的容器编排技术,是目前流行的应用部署方案。云平台的基础设施、DeVc)PS的工程体系和微服务应用架构是IT技术转型的底座。而容器云又是这个底座下的一块基石。下面几个问题是在DOCker+K8S容器云建设过程中,最常被问起和需要解决的难点问题。1、企业是应该选择原生的DOCker还是定制化的DOCker,比如胖容器/富容器?【问题描述】Docker是当前企业在进行容器化时首选的容器技术,但是原生的DOCker在实际使用的过
2、程中,特别是在传统虚机运维到容器化运维的过渡中,会碰到以下类似问题:1、如何SSh登录到容器,像登录虚机那样,可以通过SSh进行管理2、对于普通用户来说,如何从容器中拷贝文件到外部3、虚机中一般会配置定时任务,在容器中如何实现4、虚机中一般会安装各种agent,容器中怎么去安装若企业直接采用原生的Docker,那么以上问题是比较棘手的。因此企业在容器技术选型上,是否应该为了最大程度兼容虚机运维模式,对DoCker进行定制化改造,满足实际需求呢?是使用原生还是定制就要看企业实力了。一一般的企业不会去动原生的东西,不愿意将人力花在这个方面。很多企业是通过应用的改造来适配容器化的方案,包括运维上的问
3、题。4个问题:1dockerexec可以进入容器,如果是k8s或者ocp,还有有相应的叩i2、方便拷贝的方式第一个容器中应用产生的文件目录挂载到本地;第二个使用相应的命令如dockercp;也许你说的不仅限一些简单场景,其实都是有方法的,不仅以上两种3、容器中也是可以使用Crontab定时任务操作的4、agent的功能要先说清楚,如果上k8s或者OCp,一个POd可以完成你要说的内容。如果仅仅是用docker,根据功能需要应该也是有方法的。1dockerexec可以满足要求2、最直接就是挂在本地磁盘存储到容器上3、可以考虑一下,定时调度起一个DOCker执行任务4、主要是这些Agent是用来干
4、什么的?DOCker实例本来就是作为一种一次性的,不可变的运行实例,传统虚拟机的那个操作Agent,不符合容器的设计理定制化最大的问题在于,目前技术升级比较快,一旦定制,就锁定在几个版本了,后续升级维护工作量会很大。2、容器云平台选型及如何制定相关的标准和规范探讨?【问题描述】在引入容器平台时,需先了解当前主流的容器平台技术和成熟产品,然后制定相关的标准和规范。具体如下:1、想了解当前主流容器平台如何选型?2、除了资金成本,容器平台后期的使用和运维需要如何考虑,目前公司自己对容器平台的开发能力不在,运维人员需要具体具备哪些能力,运维与开发如何协作,投入运维人员的规模如何估算?3、容器平台早期实
5、施的过程中需要做哪些规划,避免哪些坑?1现在的容器平台,基本都是基于KUberneteS做的产品化,最基本的功能上没有太大的差别,主要是看一些附加的能力,如云管工具,对IaaS的支持还有安全,对开发人员的友好性这些方面。选型是还要考虑厂商的支持能力,还有就是厂商在开源社区的影响力等。具体的功能性能对比没有做过,每个厂商都会提供,综合对比一下。2、不考虑自己开发和增量开发,后期的运维主要就是容器平台的日常运维(监控,告警处理和问题定位等),还有容器平台属于更新比较快的产品,平台升级和补丁也会比普通应用多。运维人员对LinUX的基础,自动化脚本能力要求比较高。3、这边真没有什么规则,如果说有,就是
6、尽量各层解耦,选择主流的技术路线。选型还要看企业实际情况、实际需求而来,既然容器的引擎是docker,集群编排靠k8s,其实不同服务商大家优缺点可能不太一样。但核心就是容器及k8s,其他的外围生态、服务质量,产品公司服务的可持续性,服务商自身技术等都决定最后的选择。建议可以多找几家了解一下他们产品,最好能够逐一进行PoC需要关注的点:第一就是规划,你的容器是直接部署在baremetal上还是虚拟机上,因为虚拟化软件本身就有10%-20%对于硬件的消耗,因为容器本身消耗理论值在5%以内。第二就是你对于容器网络的选择,网络将是你在使用容器时候的一个很大的一个坑。比如Vxlan等技术由于对于数据包的
7、反复封装会导致网络性能下降,kube-proxy默认使用的iptables在条目过多的情况下性能也是衰减的,当然要结合你的部署架构。第三就是你的存储,是通过传统FC-SAN,还是通过NFS、还是对象存储等等方式,如果是网络存储这将影响你的数据读取速度。第四就是你的微服务的设计和拆分。第五就是你的CI/CD的设计。第五就看你们在建设的时候的需求了,如果你需要对象存储,你可能还需要选择ceph,如果你选择ABteSt、蓝绿部署、或是灰度发布那么就考验发布方案和编排能力了。会不会写dockerfile、会不会写ClePIoyment.yaml,jenkinsfile,这些可能需要和开发团队、IT领导
8、,服务商一起去探讨,如果需要引入代码审核,安全扫描等。事前的规划很重要:关键是上容器有没有最好相应的准备,业务类型是什么,稳态还是敏态,是否频繁变化;有没有做好做的技术储备和技术积累,不光是人;有没有做好团队重塑的准备。产品能力不是唯一的维度:容器云的上线,跟微服务有千丝万缕的联系,不是简单产品的堆砌,更是需要大量服务的结合。最重要的是要结合自身的实际情况,谨慎一点没大错!3、KUbeneteS在金融多安全域的环境中,架构规划问题?【问题描述】金融行业网络架构中存在多安全域的设计,kubenetes在多安全域网络隔离的情况下,每个安全域都部署一套k8s集群吗?生产环境k8s集群中calico有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Docker k8s 容器 建设中 常见 难点 分析