如果成都软件开发公司希望减轻容器开发人员的生活负担,您应该考虑使用基于Web的管理GUI,它可以减轻仅为启动开发环境而不断运行复杂命令的需要。
Kubernetes和云原生开发的一个更具挑战性的方面就是部署一个集群,您的团队可以开始使用它来构建应用程序和服务。这可能既耗时又费力——尤其是对于那些在该领域没有太多经验的初级开发人员来说。一旦您启动并运行了集群,您可能希望有一个用户友好的GUI工具来管理一切。
复杂情况不断增加。
很快,你就会发现管理Kubernetes非常耗时且复杂。
但情况变得更糟。
当您需要为多个团队提供多个集群时会发生什么?您会为此使用宝贵的第三方托管吗?也许更好的选择(至少对于本地开发环境而言)是内部托管。这样,您可以拥有更多的控制权、隐私权以及更快的部署和复制这些环境的方法。
这不应该那么难,特别是当您需要快速、可靠且具有高度可重复性的部署时。
如果您的情况类似,那么可能是时候利用一个托管的、基于Web的平台来为您的团队承担大部分繁重的工作了。
Portainer就是这样一个平台。该工具可以轻松部署基本的Kubernetes集群,也可以与使用MicroK8s等构建的现有集群配合使用。这样,您无需启动一个成熟的多节点Kubernetes集群,而是可以使用单节点集群来帮助您的开发人员快速上手,这样他们就可以将大部分时间花在专门为您的生产级集群进行开发上,而花更少的时间实际构建和管理集群本身。
可以这样想:您不会让开发人员直接在生产网络上工作。相反,他们通常使用测试网络或单节点机器作为开发环境。他们将构建应用程序、测试、调试和修复它们。一旦他们确定应用程序或服务已准备好全面部署,他们就会将其从测试网络移至生产网络,客户、消费者和客户就可以开始使用新的应用程序或服务。
这是一个非常传统且广泛使用的工作流程。鉴于该流程非常可靠,为什么要为Kubernetes开发而改变它呢?它已被证明,正如那句老话所说,如果它没坏……就不要去修复它。
考虑到这一点,您可以通过两种不同的方式来处理Kubernetes开发环境。
部署Kubernetes开发集群的一种流行方法是使用MicroK8s。这个易于部署的Kubernetes工具可以非常轻松地安装(例如snapinstallmicrok8s–classic)。安装完成后,您所要做的就是启用一些服务,启用社区存储库,然后启用Portainer。只需几个快速命令,您就会拥有一个Kubernetes开发环境,并附带Portainer基于Web的管理器。使用Portainer管理这个Kubernetes集群,您可以使用自定义模板、命名空间、Helm、应用程序和服务部署、Ingress、ConfigMap和secrets以及卷。
有了这样的管理平台,您的开发人员可以使用易于使用的表单和自定义清单创建应用程序和服务,甚至可以在Helm包管理器的帮助下进行部署。
此部署方法适用于Portainer的社区版和付费版。但是,如果您不想弄乱MicroK8s,还有一种更简单的方法。
由于MicroK8s非常易于安装(并且还允许简单部署Portainer),您可以在几分钟内启动并运行这些容器开发环境。通过如此简单的管理,可以比您想象的更快、更轻松地创建可靠、可重复的环境。
再次,您的开发人员将花费更多时间完成您支付给他们的工作,而花更少的时间创建自己的工作流程和环境。他们将完成更多工作,这反过来又有助于提高公司的盈利能力。谁不想要呢?
然而,了解Portainer在其中扮演的角色非常重要。
但是,想象一下,您甚至不必先部署MicroK8s,而是可以打开Portainer,导航到“环境”,单击“添加环境”,选择“创建Kubernetes集群”,然后单击“启动向导”。
只需几分钟,您的开发人员就可以访问完整的Kubernetes集群,他们可以在该集群上开始创建应用程序和服务,这些应用程序和服务(经过全面审查和测试后)最终可以迁移到您的生产机器上。所有这些都是在PortainerGUI中完成的。
使用此方法的一个注意事项是,所有用户都需要是管理员才能使用该平台。这应该不是问题,因为它仅用作开发环境,而不是用于生产。即便如此,也要知道平台上的每个用户都拥有完全的管理员权限。
无需先安装MicroK8s,而是可以使用更简单的Docker来部署Portainer,然后使用点击式PortainerGUI,您的团队就可以部署成熟的Kubernetes开发环境。
步骤更少,工作更少,同时具备容器编排所需的所有功能和灵活性。
如果您曾经使用过Kubernetes,即使只是粗略地了解,您也会知道这个工具有多强大。同时,您也了解建立并运行Kubernetes环境以及GUI管理平台是多么复杂和耗时。尽管您可能拥有一支由Kubernetes开发人员组成的完整团队,他们对kubectl命令了如指掌,但很有可能您的团队成员也更喜欢使用GUI应用程序的旧式点击操作。
与其花时间让所有开发人员都对Kubernetes达成共识,为什么不让每个团队成员都能按照自己的意愿进行开发呢——无论是通过命令行还是GUI?如果这听起来像您想要推广的环境,那么不要花时间从命令行部署成熟的多节点Kubernetes集群,而是利用Portainer等工具提供的强大功能和易用性。有了这样的平台,您可以获得容器化的所有好处,而不必受到使用命令行界面的限制。
如果Portainer不能满足您的需求,或者您正在考虑Docker的替代方案,您可以随时聘请第三方开发团队来创建基于Web的容器管理平台。如果您选择这种方式,您的公司和开发团队应该要求能够快速部署Kubernetes开发环境,这样您的团队就可以更聪明地工作,而不是更努力地工作。
如果您选择这条路,您需要确保构建该工具的团队知道您希望能够管理如下事项:
容器
图片
命名空间
Helm图表
卷
秘密
环境变量
多节点
扩展
如果第三方开发团队能够构建一个包含这些功能(以及任何公司或团队特定需求)的工具,同时遵循最佳实践,那么您可以确信该工具将使您的开发人员和DevOps团队的生活变得更加轻松。
最后,成都软件开发公司节省的时间可以得到更好的利用,而不是启动多个Kubernetes开发环境。一旦您拥有这样一个集成了Kubernetes服务的平台,成都软件开发公司的团队就会对他们的产品感到更加熟悉。他们将能够更快地开发和部署,轻松调试应用程序和服务,并且不必花费大量时间来熟悉他们需要使用的工具。毕竟,点击几乎总是比输入复杂的命令更有效率。