1. 内核在有些关键的资源隔离还不支持,或者需要比较高的版本,例如slab 内存,文件描述符,inode等等,容器环境独立的root,有待于内核功能的进一步完善;当然有些问题在容器这种轻量级虚拟化方案中很难解决。例如当内核发现物理页不足时,需要优化回收page cache,然而这些page可能归属于某些容器的进程,回收可能导致容器中应用进程cache miss,性能急剧下降。
  2. k8s之类编排和调度引擎,暂时缺少优先级的概念,例如在业务高峰期kill掉一些低优先级的容器,释放资源来扩展高优先级任务。
  3. k8s在运行时尚无法调整容器的物理资源,不清楚是cgroup的限制还是k8s自己的限制;理论上说运行时的物理资源再分配,cgroup实现比hyperversor要简单;
  4. k8s在运行时无法动态的调整pod的配置;
  5. 容器网络尚未形成一种事实上的标准;
  6. 容器编排尚未支持复杂的工作流引擎或者job调度。当然也可以说这些事情本身就不该容器关心,而是mesos/yarn之类来做的。
  7. 容器究竟能否用来跑一些有状态的服务,nosql,rdbms,hadoop?目前看git hub上有不少hadoop/spark on docker的共享。
  8. paas+docker,or paas+vm,理论上说docker更合适,redhat看到了这个方向,用docker重构其openshift的paas平台
  9. docker+服务治理框架,看起来很美,目前还没有落地的现成方案;阿里的edas是基于vm做scale;
  10. 分布式系统的容器话部署和安装。mirantis已经开始做openstack的容器话部署了; rancher则实现了k8s/mesos的容器话部署,app商店也很丰富;将来的应用运维的兄弟,只需要把rancher安装好就行了,接下来从nginx到redis到mysql,再到hadoop/spark,点击鼠标署即可完成部署。
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐