如何基于 Kubernetes 实现优质开发者平台体验?
内部开发者平台(或 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-developer-platform-experience/
如何基于 Kubernetes 实现优质开发者平台体验?的更多相关文章
- 涂鸦基于OAuth2在开发者平台上的探索与实践
前言 开发授权(OAuth2)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资料(如照片.视频.联系人列表),而无需将用户名和密码提供给第三方应用. OAuth2允许用户提供一 ...
- 云无关、桌面端、基于Kubernetes的平台Otomi
一.Otomi介绍 Otomi官网:https://otomi.io/ Otomi-core核心模块Github地址:https://github.com/redkubes/otomi-core Ot ...
- 基于Python+Django的Kubernetes集群管理平台
➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...
- 白瑜庆:知乎基于Kubernetes的kafka平台的设计和实现
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云+社区,未经许可,不得转载. 自我介绍 我是知乎的技术中台工程师,现在是负责知乎的存储相关组件.我的分享主要基于三个,一个是简单 ...
- 腾讯基于Kubernetes的企业级容器云平台GaiaStack (转)
GaiaStack介绍 GaiaStack是腾讯基于Kubernetes打造的容器私有云平台.这里有几个关键词: 腾讯:GaiaStack可服务腾讯内部所有BG的业务: Kubernetes:Gaia ...
- 基于kubernetes自研容器管理平台的技术实践
一.容器云的背景 伴随着微服务的架构的普及,结合开源的Dubbo和Spring Cloud等微服务框架,宜信内部很多业务线逐渐了从原来的单体架构逐渐转移到微服务架构.应用从有状态到无状态,具体来说将业 ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1 Jenkins的Master-Slave分布式构建 什么是Master-Slave分布式构建 Jenkins的Master-S ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(下)
基于Kubernetes/K8S构建Jenkins持续集成平台(下) Jenkins-Master-Slave架构图回顾: 安装和配置NFS NFS简介 NFS(Network File System ...
- 基于kubernetes平台微服务的部署
基于kubernetes平台微服务的部署 首先下载插件: kubernetes Continuous Deploy 然后去找 .kube/ 里的config 复制里面的内容 去添加凭据: 然后就是脚本 ...
随机推荐
- 2021-06-21:贩卖机只支持硬币支付,且收退都只支持10 ,50,100三种面额。一次购买只能出一瓶可乐,且投钱和找零都遵循优先使用大钱的原则,需要购买的可乐数量是m, 其中手头拥有的10、50
2021-06-21:贩卖机只支持硬币支付,且收退都只支持10 ,50,100三种面额.一次购买只能出一瓶可乐,且投钱和找零都遵循优先使用大钱的原则,需要购买的可乐数量是m, 其中手头拥有的10.50 ...
- java.sql.SQLException: The connection property 'useSSL' only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 'true;' is not in this set.
错误说明: 数据库连接属性"useSSL"的值只能为'true','false','yes','no',多余的都不行 因此我们要到数据库的连接属性(properties)里找答案 ...
- Java商城网站系统设计与实现(带源码)
基于Java的商城网站系统设计与实现 功能介绍 平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发. 整个平台包括前台和后台两个部分. 前台功能包括 ...
- 快速上手kettle(二)小试牛刀
目录 一 .前言 二 .两个小目标 三. kettle核心概念介绍 3.1 转换 3.1.1 步骤(Step) 3.1.2 跳(Hop) 3.1.3 元素据 3.1.4 数据类型 3.1.5 并发执行 ...
- Pycharm激活码,Pycharm稳定专属激活码(持续更新)
分享一下 PyCharm 2023.1.2 最新激活注册码,破解教程如下,可免费永久激活,亲测有效,下面是详细文档哦~ 申明:本教程 PyCharm 激活码收集于网络,请勿商用,仅供个人学习使用,如有 ...
- 沉痛悼念 pip search 一路走好
不知道最近大家有没有发现在使用 pip search 的时候,总是出现一个 XMLRPC 的报错. $ pip search xlrdERROR: XMLRPC request failed [cod ...
- WWDC2023 Session系列:探索XCode15新特性
一.版本说明 XCode 15 beta 发布于 2023 年 6月5日, 可支持 macOS 13.3 或以上版本, 你可以按需下载需要的平台. 二.新增特性 1.代码智能提示 (Code comp ...
- chatgpt入口,免费在线chatgpt--与人工智能聊天?尝试chatgpt入口,免费在线chatgpt吧!
介绍一款人工智能聊天机器人--chatgpt入口 chatgpt是一款智能聊天机器人,它能够与人类进行自然语言对话,可以回答问题.提供建议,还可以玩游戏和聊天互动,是当前最受欢迎的人工智能聊天工具之一 ...
- Linux系统运维之Zookeeper集群配置
一.简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.ZooKeeper的目标就是封装好复杂易 ...
- LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读
LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读 KDD 2023 原文 ...