石墨文档Go在K8S上微服务的实践-彭友顺• 调试gRPC • 调试信息 • 错误定位 问题:每种开源组件的配置、调用方式、debug方式、记录日志方式都不一样 微服务的开发阶段 问题:gRPC未设置连接错误,阻塞模式报错不正确 Redis、MySQL连接数配置未设置?超时未设置? 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 资源信息 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 配置版本,发布,回滚,可以更加方便 微服务的开发阶段 统一采用gRPC协议和protobuf编解码 CI check 阶段 • 主要做 pb 的 format、lint、breaking 检查。 CI build get 客户端、服务端的gRPC和错误码的代码 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 微服务的开发阶段 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位0 码力 | 41 页 | 3.20 MB | 1 年前3
Go Programming Pattern in Kubernetes Philosophycom/kubernetes/kubernetes/tree/master/cmd/libs/go2idl Pattern 3: gRPC based Interface • Decouple Kubernetes from external dependencies • kubelet -> gRPC -> dockershim -> dockerd • go2idl: gogoprotobuf based kubelet SyncLoop Scheduling api-server Etcd bind pod, node list pod GenericRuntime SyncPod CRI grpc dockershim remote (no-op) Sandbox Create Delete List Container Create Start Exec Image Pull Controller with CRD 4.code gen for deep copy, API conversion, API doc, encoding/decoding etc 5.gRPC based interface (e.g. CRI) 2.How we can do better to use Kubernetes? 1.Programming Patterns in0 码力 | 29 页 | 2.12 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达构建异步 API,我们非常喜欢用它的服务装饰 器来解决跨切面关注点,例如分布式跟踪或断路器。该框架支持 gRPC 和 REST 流量的端口复用以及其他巧妙 的设计选择。借助 Armeria,我们可以在现有 REST 代码库之上逐步添加新的 gRPC 功能,或者反过来,在现有 的 gRPC 代码库之上逐步增加新的 REST 功能。总的来说,我们发现 Armeria 是一个灵活的微服务框架,具有 elemetry 的灵活性和与多 样化环境的兼容性使其成为我们工具包中有价值的补充。目前,我们对最近发布的 OpenTelemetry Protocol (OTLP)特别感兴趣,该规范包括了 gRPC 和 HTTP 两种协议。这一协议标准化了遥测数据的格式和传输方式, 促进了互操作性并简化了与其他监控和分析工具的集成。随着我们继续探索该协议的集成潜力,我们正在评估 它对我们的监控和可观察性策略以及整个监控领域的长期影响。0 码力 | 43 页 | 2.76 MB | 1 年前3
k8s操作手册 2.3.sock 接口 #信任私有镜像仓库ssl证书,添加或修改以下几行配置 [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.configs."cof-lee.com:5443".tls] insecure_skip_verify insecure_skip_verify = true #跳过安全认证 #如果下载镜像需要身份验证则配置下面3行,不需要身份验证则不用配置 [plugins."io.containerd.grpc.v1.cri".registry.configs."cof-lee.com:5443".auth] username = "userxx" password 这个配置文件是给crictl和kubelet使用的,ctr不使用 这 个 配 置 文 件 , 因 为 ctr 不 使 用 CRI , 所 以 它 不 读 取 plugins."io.containerd.grpc.v1.cri" 配置。 # systemctl enable containerd # systemctl restart containerd ★如果不想配置信任私有镜像仓库,也可将服务器证书添加到操作系统的ca证0 码力 | 126 页 | 4.33 MB | 1 年前3
GPU Resource Management On JDOSgit 的 commit-id 发起任务 任务详情 可以查看具体的容器列表,以及查看容器的日志和事件 Serving 服务 提供统一便捷的 Serving 服务,只需用户指定模型,即可提供 grpc 和 rest 服务,同时使用 GPU 复用 +HPA 提高 GPU 利用率 创建 Serving 与训练集成 • 用户只需要简单选择机房和 镜像填写模型名即可完成 Serving 服务创建0 码力 | 11 页 | 13.40 MB | 1 年前3
Kubernetes & YARN: a hybrid container cloud
YARN-NM Apiserver Scheduler Co-location YARN-RM NODE Online service Console Offline jobs L&W L&W GRPC RPC: VTRON RPC: VTRON RPC Resource management VTRON: Virtual Total Resources Of Node cgroup0 码力 | 42 页 | 25.48 MB | 1 年前3
2.2.4 基于Kubernetes的私有云实战•资源需求暴涨 •部署效率急需提高 •研发期望独占资源 服务治理现状 •Homebrew microservice •配置手工管理 •L7划分不清,耦合业务逻辑 •SDK能发现grpc发现不了http 部署环境现状 •复杂的环境管理和大量的AB服 务产生了复杂的部署系统 •AB服务是中短期资源消耗型服 务,要求交付快释放快 上云前的现状 •大量物理机部署 •技术栈单一,90%为golang0 码力 | 47 页 | 10.67 MB | 1 年前3
Alluxio 助力 Kubernetes, 加速云端深度学习4000 6000 8000 10000 12000 1 2 4 8 ResNet50, V100(Image/Second) Synthetic Alluxio 1.缓存元数据减少gRPC交互 Client Master getStatus() open() read() …() Client Master Meta Cache First Access LRU0 码力 | 22 页 | 11.79 MB | 1 年前3
逐灵&木苏-阿里巴巴 K8S 超大规模实践经验UnitedDeployment (coming soon) https://openkruise.iok8s 规模及性能优化实践性能优化 RT/QPS 资源使用率 链路RT/QPS 服务异常 队列长度 gRPC监控 长连接分布 请求分布 限流 Authorization Authenticatio n 序列化 压缩 版本转换 Admission Cache Storage Filter Chain0 码力 | 33 页 | 8.67 MB | 6 月前3
共 9 条
- 1













