Best practices for building Kubernetes Operators
Best practices for building Kubernetes Operators Patryk WasielewskiAbout me ● DevOps Consultant at Amazon Web Services (AWS) ● 6 years professional experience as DevOps / SRE / Developer ● Cloud-native json-patch/merge-patch support ○ Finalizers ○ Built-in Authz/AuthnControllers https://able8.medium.com/kubernetes-controllers-overview-b6ec086c1fbControllers ● Controller tracks at least one resource type ● backup, failover, recovery, etc.), for a software running within the Kubernetes cluster, https://www.cncf.io/blog/2022/06/15/kubernetes-operators-what-are-they-some-examples/Framework - Kubebuilder/Operator-sdkCapability0 码力 | 36 页 | 2.19 MB | 5 月前3Practices of Go Microservices on Post-Kubernetes-Wei Zheng
on Post-Kubernetes 郑伟 ⽯墨⽂档 Background in Shimo Language • Go • Node • Rust Background in Shimo Framework • Gin • Echo • gRPC • … Background in Shimo Platform • All in Kubernetes • Ingress IDL Debug IDL Mock ... API Gateway Framework(Ego) Auth Interceptor Metrics IDL Docs Kubernetes Redis CMP DB CMP Log Interceptor Err Interceptor Metric Interceptor MQ CMP Mongo Debugging • How to debugging service with dependencies? • Use VPN to connect develop kubernetes cluster. • With Kubernetes API server Resolver, we can resolve dependent services. IDL Tool Chain - gRPC Local0 码力 | 59 页 | 5.66 MB | 1 年前33.云原生边云协同AI框架实践
language, such as Go. “Kubernetes Operator 是一种特定于应用的控制器,可扩展 Kubernetes API 的功能,来代表 Kubernetes 用 户创建、配置和管理复杂应用的实例。” https://www.redhat.com/zh/topics/containers/what-is-a-kubernetes-operator https://developers com/articles/2021/06/22/kubernetes-operators-101-part-2-how-operators-work 为什么使用Operator? • Kubernetes生态系统 比如监控、日志、Dashboard等 • Kubernetes集群基础能力 比如自动化安装、配置、更新等。 • Kubernetes API 避免了重复开发资源的增删改查等框架代码 informer-gen: 生成informer,提供事件机制 (AddFunc,UpdateFunc,DeleteFunc)来响应 kubernetes的event lister-gen: 为get和list方法提供只读缓存层 https://github.com/kubernetes/code-generator 根据定义的结构,利用code-generator生成对应 的operator代码 CR0 码力 | 37 页 | 2.36 MB | 1 年前3Casdoor · An Open Source UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform supporting OAuth 2.0, OIDC, SAML and CAS
oduction Now we show how to deploy Casdoor on Kubernetes using Helm for easy and scalable management. Pr Prer erequisit equisites es • A running Kubernetes cluster • Helm v3 installed Installation St Accessing Casdoor Once installed, Casdoor can be accessed at the provided service URL by your Kubernetes cluster. helm install casdoor oci://registry-1.docker.io/casbin/casdoor- helm-charts --version and Kubernetes documentation. Conclusion Conclusion Using Helm to deploy Casdoor on Kubernetes simplifies the management and scalability of your authentication services within your Kubernetes environment0 码力 | 825 页 | 58.31 MB | 1 年前304. GraphQL in Chaos Mesh 2.0 - 李晨曦
项目中的实践落地。 目录 1. Chaos Mesh 介绍 2. 问题与解决方案 3. 设计思路与实现 4. 后续的工作 Chaos Mesh 介绍 Chaos Mesh 是什么 ● Kubernetes 上的云原生混沌工程平台 ● 最初目标是作为 TiDB 的内部测试平台 ● 提供对 Pod 或者具体容器的错误注入, 包括网络、系统 IO、内核以及一些应用层注入 chaos-mesh 在实际混沌实验过程中,可能会出现注入的错误不符合预期,甚至完全没有效果的情况。能否高效 地获取各种状态则决定了故障诊断的效率。 集群状态大致可以分为两类,主要分类依据是能否通过 kubernetes API 直接查询。 k8s 可直接查询的状态 Kubernetes 和 Chaos Mesh 组件运行的状态均可直接通过 k8s API 查询。 cluster status Components Controller cluster status Target Pods Mounts Processes ipset iptables Pid Command Fds 状态查询的障碍1 对于可通过 kubernetes API 直接查询的状态,使用过程存在的一大障碍是噪音 过多。很多情况下 需要配合文本查询工具一起使用才能找到想要的信息。 当然,kubectl 提供了 json path 功能以对查询0 码力 | 30 页 | 1.29 MB | 1 年前3Go 构建大型开源分布式数据库技术内幕
Python and R ○ Machine Learning Libraries ○ Spark Streaming TiDB on K8S TiDB with Kubernetes 1/3 ● Kubernetes 是容器编排的最佳方案 ● 难点 ○ Stateless is Easy, Stateful is Hard ○ Application domain knowledge (Inspired by etcd-operator) TiDB with Kubernetes 2/3 kubectl tidb-operator PD TiKV Cluster Delete a tikv node Delete a tikv node Data Movement TiDB with Kubernetes 3/3 ● Create ● Rolling update update ● Scale out ● Failover ● Backup Kubernetes TPR Operator TiDB-Operator One more thing … ... Document Store is coming ● Document store for TiDB ○ MySQL 5.7.12 Document Store ○ Json Type ○ Index0 码力 | 44 页 | 649.68 KB | 1 年前3微服务容灾治理
00qps的情况下,P99甚⾄P90都已经到了1s 的超时阈值了,服务基本已经开始不可⽤了。 3.6跟KubernetesHPA的协同 当我们在使⽤Kubernetes并设置了HPA根据CPU使⽤率⾃动伸缩的时候,Kubernetes默认会在4 个连续的15秒探测周期探测到CPU使⽤率超标(有0.9-1.1的容忍幅度)时,启动增加pod来应对 系统容量不⾜,但这需要分钟级扩容,且当系统资源不够或者pod数达到最⼤设置时不⽣效。此时, 过载保护可以在Kubernetes未来得及扩容或者集群容量不⾜时保护我们的系统不被打到卡死。 但这⾥有个点需要注意,go-zero默认设置的过载保护触发的CPU阈值是90%,KubernetesHPA⾃ 动扩容默认CPU阈值是80%,当你在设置这两个参数的时候,不要让HPA的CPU阈值⼤于go-zero0 码力 | 13 页 | 1.68 MB | 1 年前302. Service Mesh落地之后_为sidecar注入灵魂 - 周群力
Runtime API 28 如何解决厂商绑定的 ABC 问题? 遥想谷歌当年,如何推广 Kubernetes ? • 联盟。联合众多厂商成立、参与 CNCF,让企业用户相信 Kubernetes 完全可 信且『不受 Google 控制』 • 中立 API。让用户在各种环境中用 Kubernetes,这样更便于迁移到云上 Runtime API 29 中立的 Runtime API spec0 码力 | 63 页 | 880.85 KB | 1 年前305. OpenKruise镜像预热实践_王思宇
前言:OpenKruise 简介 第一部分 Cloud Native & Kubernetes & Go OpenKruise 是什么 OpenKruise( https://github.com/openkruise/kruise ): • CNCF 托管的 Sandbox 项目 • 阿里云开源的基于 Kubernetes 的云原生应用自动化套件 • 阿里巴巴经济体上云全面使用的部署基座0 码力 | 28 页 | 5.78 MB | 1 年前31.6 resource scheduling & container technology for financial service_yujun
是否已经存在类似的解? n 传统: HPC中的PBS 和 Condor n 现代: Hadoop YARN,Apache Mesos,Google Kubernetes Gopher China 2015 求解之路的探索 n 他们是否解决了我们的问题? n No Gopher China 2015 YARN的调度器的扩展和定制在开发上都比较繁琐。 Gopher China 2015 求解之路的探索 n 他们是否解决了我们的问题? n No ① Kubernetes 仅仅是实现了一个极其简单的调度器。鼓励开发者编写自己的调度器注册进框架 ② 调度策略分为两大类:Predicates和Priorities,其中Predicates判断是否将pod调度到特定0 码力 | 21 页 | 27.20 MB | 1 年前3
共 22 条
- 1
- 2
- 3
相关搜索词
BestpracticesforbuildingKubernetesOperatorsPracticesofGoMicroservicesonPostWeiZheng原生边云协同AI框架实践CasdoorAnOpenSourceUIfirstIdentityAccessManagementIAMSingleSignOnSSOplatformsupportingOAuth2.0OIDCSAMLandCAS04GraphQLinChaosMesh晨曦构建大型开源分布布式分布式数据据库数据库技术内幕服务容灾治理02Service落地之后sidecar注入灵魂群力05OpenKruise镜像预热王思宇1.6resourceschedulingcontainertechnologyfinancialserviceyujun