共计 1961 个字符,预计需要花费 5 分钟才能阅读完成。
外部开发者平台(或 IDP)是使开发团队可能更快、更轻松、更统一地交付应用程序的基础设施。Kubernetes 自身是一个功能强大的平台,但它引入了太多复杂性和性能,因而不能简略地将其作为 IDP 交给开发团队。若要冀望他们能取得成功,十分重要的一点是要设置一些防护措施,使他们可能无效地应用 K8s,而不会减少与可靠性、老本效益和安全性相干的危险。
尽管 Kubernetes 自身并不适宜作为 IDP,但它是构建 IDP 的坚实基础。Kubernetes 为平台工程师提供了许多工具,例如,它能够为开发人员构建 IDP、提供更简化的构建和运行应用程序的形式。因而须要思考的问题是,如何构建一个既能为开发人员提供良好体验,又不会障碍部署到生产环境的平台。通过应用策略和治理、基于角色的访问控制(RBAC)和默认网络策略利用安全措施,有一些很好的办法能够避免集群中产生谬误。
Kubernetes 平台的形成
基于 Kubernetes 的 IDP 不仅包含 Kubernetes,还包含开发人员所需的工具和流程。作为 Kubernetes 的平安限度,IDP 还须要您心愿在 Kubernetes 中建设的策略和治理。这种组合使您可能为开发人员提供一条 “ 黄金门路 ”,让他们可能更快地部署应用程序。Kubernetes 平台由四个次要局部组成:
插件
插件是 提供默认“开箱即用”性能所需的工具,可扩大 Kubernetes 的性能,包含 DNS、TLS、Ingress、日志记录、跟踪等。这些工具能够是开源我的项目也能够是来自供应商的软件。
创立治理
Kubernetes 治理是 创立策略、程序和一组规范策略的过程,用于定义和施行 Kubernetes 平台中的最佳实际,以及资源管理、调度、降级和基于角色的访问控制。
启用部署(CI/CD)
这是应用程序从代码进入平台的形式。在 IDP 中,您为开发人员创立了一条 “ 黄金门路”,让他们能更轻松地将新应用程序和服务部署到平台中,同时放弃 高效 和平安。
提供反馈
IDP 的一个重要组成部分是向开发团队提供及时反馈。平台的这一部分必须包含 疾速检测 和问题告诉,并与他们曾经应用的工具集成。同时还应在代码审查过程中为开发人员提供倡议的修复选项。
治理和策略:三个阶段
当您思考如何在 Kubernetes 中利用治理和策略时,这的确是一个过程。首先,您须要 抉择或创立必要的策略 。接下来,您须要一种主动的形式来 辨认违反政策的行为 ,而后领导如何 修复这些违反策略的行为 。最初,须要可能 主动阻止 这些违规行为进入集群。
团队在开始部署 Kubernetes 的时候往往没有遇到什么初始问题,也就是说在这个阶段开发团队在内容、编码和交付应用程序和服务时没有什么显著的问题。但平台团队起初发现开发团队疏忽了一些重要的安全措施来帮忙保护平安并继续利用最佳实际。因为在开发者平台中,开发人员能够轻松地在须要时部署他们想要的内容。除非团队中有人返回并手动查看所有设置,否则在呈现问题之前可能不会有任何意识。
能够应用开源策略引擎(如 Polaris 或 Open Policy Agent (OPA))在 Kubernetes 中主动利用策略。应用相似的解决方案,您能够确保您的配置与环境中的策略保持一致,帮忙您放弃一切顺利运行。
抉择策略
在开始应用策略执行与老本效益、安全性和可靠性相干的 Kubernetes 最佳实际时,开发人员往往不晓得从哪里开始,也不晓得应该关注什么。最好的入门办法是确定什么对您来说最重要,这就是创立策略的办法。如果老本对你来说是最重要的,那么就把重点放在影响老本的策略上,如资源申请和限度。如果平安是你的首要关注点,那就解决以 root 身份运行的容器或生成网络策略。咱们的倡议是从小处着手,筛选一两个能实现目标的策略,而后全面实施这些策略。
辨认、修复和阻止违规行为
接下来,须要找出以后集群中违反策略的中央,并开始逐个纠正这些问题。修复要害类别中的问题后,您就能够开始在拜访时执行策略了。当开始执行策略并胜利阻止违反策略的行为之后就能够释怀了,因为这些问题不会再次弹出,你能够对要强制执行的下一组策略反复该过程。随之也就变得更加高效和平安了。
构建弱小的 IDP
对于外部开发人员平台而言,利用 Kubernetes 治理和策略使您可能高效地治理资源,帮忙管制老本,确保应用程序获得最佳运行所需的资源。它还能帮忙您通过管制拜访和施行最佳实际来确保安全性和合规性,并通过建设规范、自动化的利用部署和扩大流程来进步可靠性和弹性。持重的 Kubernetes 治理和策略是构建平安、高效、牢靠的外部开发人员平台的要害组成部分,可满足开发人员和整个组织的需要。
参考链接:
https://cloudnativenow.com/features/enable-a-great-kubernetes…