石墨文档Go在K8S上微服务的实践-彭友顺石墨文档GO在K8S上微服务的实践 彭友顺 石墨文档 基础设施负责人 目 录 1 架构演进 01 2 微服务的生命周期 02 3 如何管理好微服务 03 架构演进 第一部分 架构演进 单体应用时期 垂直应用时期 微服务时期 快速、简单 耦合强 隔离、稳定 复制多 隔离、稳定 复用高 架构演进 组件增多 架构复杂 维护困难 架构演进 传统模式 K8S模式 统一采用gRPC协议和protobuf编解码 CI check 阶段 • 主要做 pb 的 format、lint、breaking 检查。 CI build 阶段 • 会基于 pb 的注释自动产生文档,并推送至内部的微服务管理系统接口平台中 • 会生成 Go/PHP/Node/Java 桩代码和错误码,推送到指定的仓库 开发阶段 • go get 客户端、服务端的gRPC和错误码的代码 配置 Is来判断根因。 • errors.Is(eerrors.FromError(err), UserErrNotFound()) 微服务的开发阶段 • protobuf lint的注释,利于阅读文档 • 调试gRPC,服务中注入reflection.Register的方法 • 通过K8S API,选择环境、应用、pod, 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具0 码力 | 41 页 | 3.20 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达易于查找和使用的共享组件库和文档。通 常,设计系统的风格指南以代码的形式记录并进行版本控制,比简单的文档记录更加清晰且易于维护。设计系 统已经成为跨团队和学科进行产品开发时的标准方法,每当需要新的视觉组件时,团队不用重新发明轮子,因 此能够集中精力,专注解决产品本身的种种挑战。 我们的经验表明,团队在构建设计系统时很少采用产品为中心的思维方式。共享组件库和文档的主要消费者是 产品开发团队 统决策记录。对我们来说,维护一个良好的设计系统或组件库 不光是技术工作,也同样是社交工作。 2. 轻量级的 RFCs 方法 采纳 Request for Comments(RFC)是一种正式文档,其包含与上下文相关的设计和架构思想,以促进团队协作和 决策。几乎所有数字原生和快速扩张的组织都使用 RFCs 来记录围绕设计、架构、技术和团队协作方式的决策。 成熟的组织已经在自治团队中,特别是在跨团队相关的决策中使用 首先,在测试验证元素时,通过 ARIA 角色或者元素的其它语义化属性查找元素,而不采用元素的 test id 或 class 属性。像 Testing Library 的一些测试库甚至已经在文档中推荐了这一实践。其次,不要仅仅测试点击交互,还 要考虑不能使用鼠标或看不到屏幕的人,并考虑增加针对键盘和其他交互方式的额外测试。在我们的团队中,上 述测试设计实践已十分成熟,并且我们已在不久前将其纳入测试闭环中。0 码力 | 43 页 | 2.76 MB | 1 年前3
k8s操作手册 2.3绿色字体表示注释,有时注释太多就不用绿色表示了 3.注意:本文档的所有操作请先在测环境进行实践,请不要直接在真实的服务 器中操作! 版权声明: 本文档以开源的形式发布,所有条款如下: (1)无担保:作者不保证文档内容的准确无误,亦不承担由于使用此文档所导致的任何后果 (2)自由使用:任何人可以出于任何目的而自由地 阅读/链接/打印/转载/引用/分发/再创作 此文档,无 需任何附加条件 若您 阅读/链接/打印/转载/引用/分发/再创作 阅读/链接/打印/转载/引用/分发/再创作 本文档,则说明接受以上2个条 款。 作者:李茂福 更新日期:2023-12-29 ★第0章、K8S集群搭建准备工作 相关单词原义: docker 码头工人 pod 集装箱 kubernetes 舵手,领航员 helm 舵轮,驾驶盘 calico组件daemonset设置: - name: IP_AUTODETECTION_METHOD valuse: "interface=ens3" ★安装calicoctl命令工具 官方指导文档: h�ps://docs.�gera.io/calico/latest/opera�ons/calicoctl/install 下载地址: h�ps://github.com/projectcalico/calicoctl0 码力 | 126 页 | 4.33 MB | 1 年前3
第1930期:Kubernetes基础介绍Pod 的这些状态信息,是我们判断应用运行情况的重要标准,尤其是 Pod 进入了非“Running”状态后,你一定要能迅速 做出反应,根据它所代表的异常情况开始跟踪和定位,而不是去手忙脚乱地查阅文档。 16 www.h3c.com Confidential 秘密 16 16 K8s基本概念和术语介绍(Label) Label(标签): Lable是一个key-value键值对,由用户自 Kubectl命令行的公共启动参数: 40 www.h3c.com Confidential 秘密 40 40 Kubernetes常见命令介绍 Kubectl输出格式,kubectl可以用多种格式对结果进行显示,输出格式通过-o参数指定: Kubectl [command] [TYPE] [NAME] –o=0 码力 | 49 页 | 4.11 MB | 1 年前3
运维上海2017-Kubernetes与AI相结合架构、落地解析-赵慧智只包含软件环境的配置 • 硬件配置需要运行时去指定 OCI (Open Container Initiative) • From Linux Foundation • 旨在为 Container 格式和运行时创建开放行业标准。 • 该组织于2015年6月22日由Docker,CoreOS等 Container 行 业的领导人推出。 • OCI目前包含两个规范: • 运行时规范(runtime-spec 运行时规范(runtime-spec • Image 规范(image-spec Container 管理工具 (User Space) 如何通过 Docker 启动 Container 并与硬件绑定 官方文档参考: https://docs.docker.com/engine/admin/resource_constraints/ Kubernetes 架构 Kubernetes 基本概念0 码力 | 77 页 | 14.48 MB | 1 年前3
DaoCloud Enterprise 5.0
产品介绍可观测性 10 应用工作台 11 多云编排 11 微服务引擎 12 服务网格 13 中间件 14 镜像仓库 14 云原生网络 15 存储 17 参考文档 18 版权 © 2023 DaoCloud 第 3 页 简介 DaoCloud Enterprise 5.0(DCE 5.0)是一款高性能、可扩展的云原生操作系统。 消息队列:常用于交易数据的传输管道 ➢ Redis 缓存服务:高性能的开源内存数据库 ➢ PostgreSQL 数据库:功能更丰富、扩展性更强的开源关系型数据库 ➢ MongoDB 数据库:面向文档的 NoSQL 数据库管理系统 镜像仓库 镜像仓库是一个支持多实例生命周期管理的云原生镜像托管服务,支持将镜像 仓库实例部署至任意云原生基础环境,同时支持集成外部镜像仓库(Harbor Registry DaoCloud 推出的云原生本地存储天然具备 云原生特性,满足容器场景中高扩展性、高可用性等特点。 版权 © 2023 DaoCloud 第 18 页 参考文档 ➢ DCE 5.0 文档中心 ➢ DCE 5.0 视频教程 ➢ DCE 5.0 下载中心0 码力 | 18 页 | 1.32 MB | 1 年前3
Kubernetes开源书 - 周立r-ui)仍在使⽤v1.2规范。OpenAPI规范在Kubernetes 1.5中,进⼊Beta 阶段。 Kubernetes为主要⽤于集群内通信的API实现了另⼀种基于Protobuf的序列化格式,在 design proposal 有记录,每个 schema的IDL⽂件都存放在定义该API对象的Go语⾔包中。 API版本 为了更容易地消除字段或重组资源表示,Kubernetes⽀持多 ⽽确保API提供清晰、⼀致的系统资源和⾏为视图,以 及控制对终极API/实验API的访问。JSON和Protobuf序列化schema遵循相同的schema更改准则——以下所有描述都涵 盖了两种格式。 请注意,API版本控制和软件版本控制仅仅是间接相关的关系。 API and release versioning proposa(API和版本发布 提案)l 描述了API版本控制和软件版本控制之间的关系。 bernetes-api/ 05-Kubernetes API 20 理解K8s对象 这个⻚⾯描述了Kubernetes对象在Kubernetes API中的表现,以及如何⽤ .yaml 格式表达它们。 理解Kubernetes对象 Kubernetes对象是Kubernetes系统中的持久实体。Kubernetes使⽤这些实体来表示集群的状态。具体来说,它们可描 述: 容器化的0 码力 | 135 页 | 21.02 MB | 1 年前3
高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰• 支持 CAS • 支持快照读 • 高性能 存储层 - 数据格式 etcd KubeBrain 能否使用类似的格式? 1. 否 2. 底层存储引擎全局有序,有写热点那问题 Etcd 以 Revision 为 Key 内存 Btree 索引维护 key 和 revision 的映射关系 存储层 - 数据格式 KubeBrain 逻辑层 逻辑层 – 写 逻辑层 – Watch(1) 行锁,增大了写的并发 写优化 - 2 单点写 -> 多点写 multi raft range 分片,增大写并发 Brain 层无磁盘 io,只有网络 io 写优化 - 3 事务优化 精心设计 key 格式 一个 k8s 对象的索引和数据在同一分区内 跨分区分布式事务 -> 分区内单机事务 读优化 - 1 Range 读 Unary -> Stream 代替分页,降低延迟 内存高效复用,避免0 码力 | 60 页 | 8.02 MB | 1 年前3
张海宁:使用Kubernetes部署超级账本Fabric数字货币系统 通用公有链平台 管理方式 Linux基金会 社区 社区(众筹) 货币 无 BTC 比特币 Ether 以太币 挖矿 无 有 有 状态数据方式 键值数据、文档数据 交易数据 帐号数据 共识网络 PBFT等 PoW PoW, PoS 网络 公开或私有 公开 公开 隐私性 有 无 无 智能合约 Go, Java等多种开发语言 基于Kubernetes容器云平台初步实现BaaS的基础部署步骤。 • 在此之上,增加更多的区块链层运维管理功能,图形化运 维界面,使得开发人员投入更多的精力到应用的业务逻辑 上。 • 详细文档和代码: https://github.com/hainingzhang/articles 44 总结 公众号:亨利笔记 SACC2017 SACC20170 码力 | 45 页 | 2.70 MB | 1 年前3
Kubernetes全栈容器技术剖析集群部署、运维监控增强 ,安全加固 CNCF & Kubenetes 社区 全球TOP3、国内TOP1贡献: 7个maintainer,commits 1200+ OCI 初创成员,是容器镜像格式的规范和实现的主导者 主导核心设计:动态资源调整,各种安全加固措施,增强各种资源 限制,增加ARM64支持,运维增强,容器重启策略 OCI & Docker 社区 CNCF/OCI基金会的初创会员、白金会员, 和主要贡献者。 国内唯一CNCF/OCI基金会的初创会员、白金会员,国内唯一K8S社区技术指导委员成员,12个 Maintainer席位 Kubernetes社区贡献国内第一,全球第四,参与容器格式及运行规范的定义与实现、积极贡献联邦集群、亲和反亲和等重要特性。 华为CCE在裸金属容器集群、windows容器、集群高可用、自动化运维、容器网络/存储、异构计算(ARM、GPU、FPGA)能力方面具有差0 码力 | 26 页 | 3.29 MB | 1 年前3
共 16 条
- 1
- 2













