以下是对Kubernetes中感兴趣的GitHub问题·Pull Request的集合
我认为 Kubernetes 的开发在 GitHub Issues 上进行得非常开放。如果你看一下这些 Issues,就能了解到用户和开发者对于什么问题感到困扰,以及 Kubernetes 未来将如何应对这些问题的动态。
请说明您指的是哪个身份的读者。
-
- k8sをウォッチしたい
-
- k8sを本気で本番投入したい
WebアプリでSwarm投入とか運用やばいですよね?
Swarmは個人的にはbuilding blockだけど、k8sはトータルソリューション。運用もかなり助けてくれる印象
やばくないよ、って情報があったら教えて下さい
Issue・PRの動向を知りたい
でもとても全部見られない
筆者と好みが似ている人
加强Kubernetes与ELB的整合。
2016/04/29 AWS:针对ELB“高级功能”的建议注释集合 · 问题编号#24978 · kubernetes/kubernetes
通过在Kubernetes上创建Type=LoadBalancer的Service,可以实现创建ELB负载均衡器的功能。这个提案旨在添加ELB的ProxyProtocol支持、内置SSL证书和创建Route53记录等选项功能。一旦实现了这些功能,只需为内部使用的Kubernetes集群和Route 53的托管区域准备好通配符证书,开发人员就可以轻松地在接近生产环境的测试环境中进行开发和测试,只需使用k8s即可(当然,必须学习如何使用k8s)。
分布式CRON→版本1.3?→版本1.4
希望增加类似于Mesos的Chronos的功能,请提出这样的问题。
2014年11月5日,在kubernetes/kubernetes的问题#2156中分发CRON作业。
2015年07月29日,soltysh提交的ScheduledJob控制器建议。
据说计划将于2016年6月发布的k8s v1.3版本中加入。
2016/04/29 定时作业的API,由soltysh提出的拉取请求 #24970 · kubernetes/kubernetes
包括相关API的规范(Swagger Spec),但不包含实现。
2016年7月4日追記:由于未能及时完成1.3版本,计划将其延迟至1.4版本中收录
https://github.com/kubernetes/kubernetes/issues/2156#issuecomment-223385808
2016/10/12添加记录:此功能已于1.4版本中引入。
官方的minikube使得本地k8s更加容易上手。
2016/04/12 提案:改善本地集群体验。由vishh · Pull Request #24106 · kubernetes/kubernetes
基于redspread/localkube,提出了让k8s在本地环境轻松启动的一键命令的想法,类似于Docker Machine的体验。因为实现一键命令的用户体验不像在Vagrant上那么困难,所以有价值。事实上,我试用了很多声称可以快速通过Docker或Vagrant启动k8s的工具,目前来看,我认为localkube做得最好,所以这个提议是一个好的方向。
也有一个GitHub仓库。
https://github.com/kubernetes/minikube
2016年10月12日补充说明:已成为本地k8s的主要选择。其他有趣之处包括对rkt的支持。CoreOS化也被提出为问题。
自动重新安排日程(Controlled Rescheduling)
虽然我找不到一个精确的翻译,但作为语境,可以表述为自动重新安排。
2016/03/01 [WIP/RFC] 由davidopp提出的Kubernetes重新调度设计提案Pull Request #22217 · kubernetes/kubernetes
在k8s 1.2版本中,Pod的重新调度是在用户明确删除Pod或者Pod意外(由于错误等原因)崩溃时进行的。目前,k8s会基于规范和当前集群状态将Pod调度到最佳位置。然而,由于情况不断变化,即使最初的调度是正确的,过一段时间后可能就会变成不合适的位置。因此,我们提出根据当前情况重新调整Pod的提案。如果实现了这一点,用户将能够根据资源状况自动最优地利用资源,而无需执行类似kubectl drain的操作。
节点维护
在引入Kubernetes之后,您肯定不想每次升级版本都感到手忙脚乱吧!您可能希望能够在不停止服务的情况下进行集群升级和维护。
这也是kubectl drain在1.2版本中推出的原因之一。
2015年11月18日,mml提交了一个关于节点维护的提案。Pull Request编号为#17393,存放在kubernetes/kubernetes项目中。
宠物集合(名义服务)
添加新的Service以便在Kubernetes中更轻松地运行能够通过发现对等方并组成集群来工作的服务,就像Etcd、Cassandra和Akka Cluster等常见的无状态Kubernetes服务一样,虽然负载均衡器并非必需品。
PetSet(以前是名义服务)· 提问 #260 · kubernetes/kubernetes
截至2016/05/09,目前只是提议,但预计将会在6月份1.3版本中发布。
支持 Kubernetes 的 PetSet 中的 Kafka · 问题 #23794 · kubernetes/kubernetes
在Kubernetes 1.3中使用的Docker版本。
目前看起来是1.10或1.11的版本。
确定Kubernetes 1.3发布版本的Docker版本(s) · 问题 #25893 · kubernetes/kubernetes
在Docker 1.11中,有一些已知的问题,比如cAdvisor的API不再返回Docker容器的标签,所以不能保证Docker是向后兼容的。
[docker v1.11.0-rc2] 容器信息丢失元数据 · Issue #1185 · google/cadvisor
Kubernetes v1.2推荐使用Docker 1.9.1,但CHANGELOG中仍有许多注意事项。
验证Docker 1.10 · 问题#19720 · kubernetes/kubernetes
此外,对我来说,cAdvisor的API不返回Docker容器标签的问题导致在Datadog中,Kubernetes pod的指标没有附带Pod名称的标签,这让我相当困扰。
使用滚动更新方法将配置映射(Config Map)应用于Pod。
简化ConfigMap的卷挂载/管理·问题#22368·kubernetes/kubernetes。如果要更改Pod等中通过卷挂载以外的方式读取的ConfigMap的值以反映在Pod中,需要按照以下步骤进行。
-
- 创建一个新的ConfigMap。
-
- 重新创建部署。
-
- 等待滚动更新完成。
- 删除旧的ConfigMap。
这个问题是想要通过一个单一命令来完成。尽管这是我们的第三个目标,但由于没有人着手,已被推迟。
使用卷挂载时,据说会在kubelet的同步循环中反映出来。(source: http://qiita.com/tkusumi/items/8e31fddda77f93ccfdd8#pod%E3%81%8B%E3%82%89configmap%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BD%BF%E3%81%86)
使得可以在运行时进行Kubelet的配置。
在启动集群时,使用最基本的配置启动kubelet,然后使用ConfigMap动态地更改配置,这是指该内容。
动态Kubelet设置 · 问题#27980 · kubernetes / kubernetes
自动生成kubelet的TLS证书等。
为了加密kubelet和apiserver之间的通信路径,使用TLS进行加密,但是为此需要提前创建证书,并将其部署到启动kubelet等的主机上。这个步骤可能会有些繁琐,可能会将部署自动化的责任转移到类似kube-aws的自动化部署工具上,因此Kubernetes希望解决这个问题,这是一个Issue。
预计将进行的更新:v1.4
克隆TLS引导程序 · 问题 #43 · kubernetes/features
挂空/解挂
提案是在等待访问到来之前,将Pod副本数设置为0(保持空闲),一旦访问到来,则将其增加到1或更多(取消空闲)。这样可以减少对使用频率倾斜或很少使用的服务Pod的资源使用,从而节约资源。
《Kubernetes/Kubernetes》中的《pmorie·Pull Request #3247》提案:引入DirectXMan12的《Kubernetes/Kubernetes》中的《Pull Request #29471》:引入空闲和非空闲的提案。
模板
通过使用模板来描述Kubernetes对象,使得可以像PetSet一样基于特定模式生成多个类似的Pod… 尝试简洁地执行此任务。
提案:
在Kubernetes项目的GitHub存储库中,有一个关于模板的提案,编号为#23896,提案的目标是为项目中的实现部分提供一个框架。这个提案的主要内容是引入一种新的模板系统用于管理和控制实现的过程。
基本上,我觉得使用Helm就可以了,但不知道有何不同之处…。
向Pod发送信号
严格来说,希望能够将任意的信号发送给“Pod的任一或所有容器”。
功能请求:一种信号 pod 的方法 · Issue #24957 · kubernetes/kubernetes
kube-dns性能的提升
对比直接向GCE的DNS服务器查询和通过kube-dns查询,后者的吞吐量要低于直接查询的5倍到10倍。
提高Kubedns每秒查询率,使其更接近GCE DNS服务器的性能 · 问题#28366 · kubernetes/kubernetes
使用kubectl cp / kubectl rsync命令将文件复制到Pod中,或者挂载本地卷。
添加一个kubectl cp … 命令 · 问题 #13776 · kubernetes/kubernetes
创意:kubectl导出本地卷 · 问题 #18007 · kubernetes/kubernetes
将文件同步到Kubernetes Pod – 服务器故障
看起来OpenShift上有类似的命令,但是否可以将其引入到k8s中呢?这是一个Issue。
现在,如果rsync在本地和容器中都存在,可以使用一些hacky的命令来实现,但更方便地使用是关键所在吗?