扩展kubernetes实践

本文整理业界对于Kubernetes在扩展性方面做的一些实践,随着时间的积累,相信会有更多的人在扩展kubernetes作出实践的经验

自定义controller

Fabric8 io

Expose controller
https://github.com/fabric8io/exposecontroller/
Feture-1 auto config services with label
Kubernetes中services暴露的方式很多,包括ingress,loadbalancer,nodeport,routers(only in openshift)等等,通过在定义微服务的时候定义Label(expose=true),将会自动根据特定的场景来创建对应暴露services.
Feture-2 inject into a configmap external URLs to services
使用场景:当你运行像gog或者gitlab这样的git托管服务时,你需要告诉它服务的公共URL,以便它的web应用程序可以告诉你如何从你的笔记本电脑中输入一个git克隆。另外,想要使用OAuth登录客户端的Web控制台需要知道OAuth授权URL的位置。

Configmap controller
https://github.com/fabric8io/configmapcontroller
当configmap变化的时候,自动触发滚动升级应用.当前Kubernetes能够自动更新通过volume mounts的方式注入到pod中的配置文件,但是通过env方式注入到pod中的配置数据所对应的configmap内容改变,但是对应的pod里面的env并不会改变.通过configmap controller可以实现当configmap改变的时候,自动触发deployment的升级
Git controller
https://github.com/fabric8io/gitcontroller
git控制器就像configmap控制器,但是当您的Deployment将一个git版本库修改为一个卷时 配置文件或CMS网页内容。 git控制器的想法是,它将监视所有部署使用的所有git存储库的git存储库,并且如果git提交发生在repo分支中,它将通过指向git存储库在部署上执行滚动升级 卷到新的提交版本。
所以它非常像configmap控制器,但具有更改审计日志,历史记录和恢复更改的简单方法的额外好处。

Operator

coreos提出的,针对有状态应用
“operator”提出的宗旨:将管理分布式应用的操作信息进行编码,让kubernetes管理更加简单.etcd Operator 为集群性能提供新分布式系统的主机,也有管理他们的能力。所以,比如,用户能够为特定集群指定一个设计好的状态, Operator 会过度到最安全状态。
至于, Prometheus Operator ,则负责帮助用户管理、监控他们的 Kubernetes 资源。它跟创建、配置和管理 Prometheus 实例同步运行。 Prometheus 是一款监控、软件度量和报警工具,是 CNCF ( Cloud Native Computing Foundation )旗下的项目。

Etcd-operator
https://github.com/coreos/etcd-operator/tree/master/example
https://github.com/kubernetes/charts/tree/master/stable/etcd-operator
增加etcd实验教程的详细内容

History:
2017/12/30

Link:
https://blog.fabric8.io/additional-kubernetes-controllers-from-fabric8-you-can-use-with-your-microservice-3126a2c4c132 
https://coreos.com/blog/introducing-operators.html
https://coreos.com/blog/prometheus-and-kubernetes-up-and-running.html

Kubernetes是一个用于容器编排和管理的开源平台,它提供了一种灵活、可扩展的方式来管理应用程序的部署、伸缩和升级。Kubernetes实践指南是一个旨在帮助用户快速上手和运用Kubernetes的指南手册。 Kubernetes实践指南首先介绍了Kubernetes的基本概念和架构。它解释了Kubernetes中的重要组件,如Pod、ReplicaSet和Deployment,并说明了它们之间的关系和作用。在理解了Kubernetes的核心概念后,指南进一步讨论了Kubernetes的架构和工作原理,包括Master节点和Worker节点的角色和功能。 接下来,指南详细介绍了在Kubernetes中运行应用程序的过程。它解释了如何创建容器镜像,并使用Kubernetes的命令行工具或YAML文件来定义和部署应用程序。指南还介绍了如何执行应用程序的伸缩和升级,以适应不同的负载和业务需求。 在介绍了应用程序的部署和管理后,指南还涵盖了Kubernetes的高级话题。它提供了一些实用的指导和建议,如如何创建和管理Kubernetes集群、如何进行监控和日志管理、如何配置和管理网络等。指南还介绍了一些常见的Kubernetes最佳实践,以帮助用户提高应用程序的性能和可靠性。 最后,Kubernetes实践指南还包括了一些使用Kubernetes的示例和案例研究。它展示了如何利用Kubernetes来构建和管理各种类型的应用程序,包括Web应用、微服务架构和大数据应用等。这些案例研究可以帮助用户更好地理解和应用Kubernetes,以满足自己的特定业务需求。 总而言之,Kubernetes实践指南是一个全面而实用的手册,旨在帮助用户深入了解和掌握Kubernetes的使用和管理。无论是初学者还是有经验的用户,都可以从中获得有关Kubernetes的必要知识和实践指导,以提高应用程序的部署效率和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值