Kubernetes插件或扩展是任何Kubernetes堆栈的重要组成部分。对一些开发人员来说,扩展Kubernetes插件还是比较需要思考的问题,今天小编就给大家讲讲,扩展Kubernetes插件,从哪6个方向开始。
1、安全管理和治理框架扩展
对企业来说,安全管理和治理框架至关重要,但这也是比较困难的部分。由于不同的企业的安全要求不同,因此安全插件也面临挑战。
所以,首先定义要求并确定正确的扩展;其次,在使覆盖范围最大化的同时,最小化所需的框架。一些安全框架将与覆盖网络扩展集成,或者可以利用某些Kubernetes安全功能,包括网络策略,pod安全策略等。
2、云原生存储扩展
开始使用无状态应用程序进行Kubernetes时,经常会接触到有状态应用程序领域。此时,需要一种使用特定扩展来管理云原生存储的方法。
Kubernetes提供基本的本地存储功能。但它们可能在诸如存储配置,访问管理或针对不同存储类型的SLA等方面不足。为了通过状态应用程序支持,可扩展的Kubernetes集群,需要自动执行云原生存储管理,操作和治理,比如Portworx,Storage OS和Robin都是不错的选择,开源项目还可以选择Ceph和Rook。
3、覆盖网络插件
由于容器必须以某种方式进行通信,因此覆盖网络(Overlay network)插件很重要。尽管集群可以独立于覆盖网络运行,但使用此覆盖网络的扩展,能够提升灵活性。覆盖网络插件的有不少,比如Calico,Weave,Flannel,Canal(Calico + Flannel)和Kube Router。每个集群可以手动安装,也可以针对每个集群分别安装。
4、CI/CD管道插件
可以选择各种持续集成和持续交付(CI/CD)扩展。有些是特定于云原生的,而另一些是通用的,可以与Kubernetes或其他部署工具一起使用。这些工具中的每一个都有不同程度的可定制性。有些包装与预配置的管道打包在一起,这限制了自定义,而另一些限制较少,但需要更多的设置工作。在查看选项时,请考虑开发团队正在使用的工具及其体验。可以通过插件,将CI/CD管道与Kubernetes和云原生堆栈集成在一起。如果没有,请考虑使用开源工具,如Jenkins,Spinnaker或两者的组合。
5、入口管理扩展
入口管理扩展可以将Kubernetes集群服务提供给外部用户。为此,可以利用集群中的入口控制器。但更复杂的场景可能需要多个入口控制器并与API管理系统(如NGINX或Kong)集成。这两个工具都与Kubernetes,云原生工具和不同的API管理系统集成在一起。
6、运行时框架
运行时扩展框架有很多,使用这些工具时,请务必注意,它们会从应用程序中收集其他指标维度,并应与Kubernetes日志收集和监控集成。例如,服务网格可以为监控和解决各种问题,提供有价值的跟踪信息。