Cointime

Download App
iOS & Android

The Graph Indexer线上会议 #180

Validated Project

TL;DR: 开放讨论的焦点是Kubernetes,由Pinax的Guillaume和Matthew主持。他们讨论了使用kind对Kubernetes应用程序进行测试、使用FluxCD初始化集群以及使用Helm和Flux部署Launchpad图表等话题。讨论还涉及将LXC容器桥接到Kubernetes以及使用Crossplane管理外部端点等内容。

大家好,欢迎阅览 Indexer Office Hours 会议纪要,第 180 场!

视频链接:https://youtu.be/0VrotuD6zWU

观看 GRTiQ 播客,与先驱企业家、联合创始人和投资者 Ben Huh 一起。

Ben 是 Cheezburger 取得巨大成功背后的远见卓识者,Cheezburger 是互联网上的轰动者,将meme和用户生成的内容转变为商业巨头。

重要存储库的最新更新

  • sfeth/fireeth:新版本 v2.7.5:
  • 修复了 set_sum 存储策略操作中的数据损坏,需要删除缓存;改进了开发模式请求的启动时间。
  • Nethermind:新版本 v1.29.1 :
  • 此版本是强制性验证器升级,解决了 Linux 内存回归、OP Stack 同步性能问题和 Gnosis 链区块生产边缘情况。
  • Avalanche:新版本 v1.11.12 :
  • 可选但强烈建议的更新,其中包含许多改进,包括 ACP-77 费用计算、OP 堆栈同步优化和增强的 P2P 处理;插件版本仍为 37。

有关不同客户端的信息

  • Prysm:新版本:
  • 5.1.1 版:
  • 推荐的更新,默认使用选择退出标志打开实验性状态管理,并通过 libp2p 更新提高带宽稳定性。此版本弃用了 gRPC 网关,转而使用信标 API。
  • 5.1.2 版:
  • 修复了影响 v5.1.1 REST 模式验证程序和第三方集成的信标 API 流式处理事件终端节点中的紧急恢复问题;对于那些使用 beacon API 而不是 gRPC 的人来说至关重要。
  • Teku:新版本 v24.10.2 :
  • 此版本是一个修补程序,用于解决影响使用版本 24.10.0 和 24.10.1 的 Windows 用户阻止 Teku 启动的问题。

索引器服务和点击代理(RS):新版本发布:

  • 索引器-tap-agent-v1.2.0 :
  • 改进了将回退移至跟踪器的错误处理。
  • 通过并发 RAV 请求和使用 latest_rav 优化费用计算来增强性能。
  • indexer-tap-agent-v1.2.1 :
  • 包括错误修复,以使用 INFO 作为日志的默认级别。

Matthew |Pinax 发布: Pinax 正在进行 Firehose 升级。

推文链接:https://x.com/PinaxNetwork/status/1848787654520852921

协议重要变更的最新更新

  • Chiliz Chain 集成

Matthew  |Pinax:Johnathan 很忙......适用于 Chiliz 的 EVM RPC

Johnathan |Pinax:Pinax 已经支持 Chiliz。Firehose 、Substreams 将很快受支持。

  • chore(deps):将 SECP256K1 从 4.0.3 升级到 4.0.4 #1063(open)
  • 修复:为部署脚本添加了缺少的参数,并将 SubgraphService 的运行次数减少到 50 次 #1062(open)
  • 修复(Horizon):为 TAPCollector 部署添加了缺少的参数 #1061(closed)

继续!由Pinax的Guillaume和Matthew主持的Kubernetes办公时间的更详细。

  • 使用 kind 测试 Kubernetes 应用程序
  • 使用 FluxCD 引导集群
  • 将 Helm 与 Flux 结合使用以部署 launchpad 图表

Guillaume:这周我将慢一点地演示。希望您有时间查看 Kubernetes IOH 演示代码库并尝试一下。如果有任何问题,欢迎询问。

作为上周的复习,此代码库是以简单方式使用 Kubernetes 的起点。生态系统正在向 Kubernetes 发展,因此部署它而不是一堆 Docker Compose 文件更具可扩展性。

Matthew Darwin |Pinax: Marc-André,有任何 k8s 问题。😉 (我看到你在问 Launchpad 问题)

Marc-André |Ellipfra: 我在听!寻找前沿链的解决方案。可能必须学习构建 Helm 图表并回馈社会。

chris.eth |GraphOps:谁伤害了你,你为什么选择 Kubernetes 来应对它?

Vince |Nodeify:我很快就会为这些做出贡献。🙂

Matthew Darwin |Pinax:Vince 和 Johnathan 希望能在这方面有所帮助。

kind 是一种使用 Docker 容器“节点”运行本地 Kubernetes 集群的工具。kind 主要用于测试 Kubernetes 本身,但也可用于本地开发或 CI。

Guillaume:kind 不是生产级的,但它对于以最简单的方式开发、尝试和部署 Kubernetes 集群非常有用。您唯一需要做的就是在您的机器上安装 Docker,然后它将创建控制平面、工作节点 — Docker 容器中的所有 Kubernetes 组件,您可以通过设置多个 Docker 容器来创建多个节点。然后,您可以在本地环境中复制整个集群,并且可以从同类集群中使用它来执行一系列操作,例如外部负载均衡、入口和本地 DNS。

在 Pinax,我们为服务建立了自己的 DNS 提供商,因此我能够使用 kind 在 kind 内部引导 DNS 基础设施,然后使用它来测试服务,然后我们可以将其部署到生产环境中。

设置集群非常简单 [12:09]。

一切都是从 tiltfile 部署的,你可以把它看作是一个 makefile,但专门针对 Kubernetes。这样,如果你有一个想要编码的应用程序,并且你想在集群内进行实时更新,你可以使用 tiltfile 重新加载和重新编译你的应用程序,并自动更新你的集群。

kind cluster 配置基本上只是一个 YAML 文件,你设置了很多东西。在视频 12:48 处观看。

观看 Guillaume 在 13:48 创建集群。

将为您的集群部署的工具:

  • 控制器管理器
  • Kube 调度器
  • API 服务器

通常,它还会部署内部 DNS。kind 使用 Flannel 来执行容器网络接口 (CNI),该工具能够链接集群内的 Pod 和容器,因此,如果一个 Pod 想要向集群中运行的另一个 Pod 发送请求,它们需要能够相互通信,也称为 kube-dns 或 CoreDNS。

在这个演示中,我们请求禁用 CNI,因为我们不想使用 flannel。我们想使用 Cilium。

观看 15:40 从 tiltfile 部署的内容。

在此演示中,我们将 Flux 用于集群中的持续部署 (CD)。

集群等待 CNI 和本地存储预置程序,因为本地路径预置程序需要 CNI 才能在您的机器上预置存储。所以有了 tiltfile,我们部署了 Cilium,所以 Cilium 使用了 cilium-envoy, cilium-operator。部署后,CoreDNS 和本地路径配置程序将工作,因此您拥有一个完全可操作的 Kubernetes 集群。

Matthew:为什么要选择 Cilium?

Guillaume:因为 Cilium 可以做 cluster mesh,这是一种跨数据中心的集群之间提供服务的方式。这是我们在 Pinax 需要的,因为我们有多个数据中心,我们希望服务可以从一个集群访问到另一个集群,而无需使用某种速度很慢的 WireGuard 隧道。Cilium 不使用 WireGuard 隧道,它的核心使用 eBPF,因此它直接挂接到 Linux 内核中,您可以直接在内核中注入代码,以跨数据中心重新路由数据包。它比隧道更快、更灵活。

我认为在 Kubernetes 世界的这一点上,Cilium 就像 Kubernetes 和 CNI 的黄金标准。几乎每个云提供商都在转向 Cilium。

CJ |GraphOps:集群网格不是通过集群之间的隧道建立的吗?Cilium 可以使用 IPSec 或 WireGuard 来做什么?我认为是的,但可能是错的。

Guillaume:不确定,我已经有一段时间没有玩 cluster mesh 了。

Vince |Nodeify:您可以自动使用:Talos KubeSpan [学习使用 KubeSpan 跨网络安全地连接 Talos Linux 机器。自动魔术 WireGuard。

Matthew |Pinax:根据 Vince 的说法,一切都是 Talos。Abel |GraphOps 听起来像是 Vince 的未来演示。😉

AbelsAbstracts.eth |GraphOps:是的,先生,Vince 和我已经在谈判😎了,他将在 11 月 5 日发表演讲。🥳

还有已部署的 Flux。我们这里有一个命名空间:flux – system。

Flux 部署了一堆控制器:helm-controller、image-automation-controller 为您提供自动更新、image-reflector,它也是 image-automation-controller 的一部分——这两个控制器协同工作。

然后,您有 kustomize-controller,它允许您从自定义项创建部署。

你可以告诉通知控制器在有更新时在 Discord 或 Slack 上通知你。您可以将 Webhook 与 notification-controller 一起使用,以便您可以跟踪每个部署或是否有新版本的应用程序并发出警报。

源控制器拉取 GitHub 或 Helm 存储库或应用程序将使用的任何容器映象代码库,甚至是应用程序的存储位置。

Flux 部署的屏幕截图

我们选择 Pinax 的 Flux,因为从操作员的角度来看,它很容易。引导、使用和扩展都很简单,因为它变得简单且没有主见。它只做一件事:CD(持续部署),但它很容易扩展。您可以使用 Flux 创建具有多租户的多个集群。

还有 Argo,它类似于 Flux,但更注重一体化工具包,而不是能够为整个集群的不同部分扩展和使用不同的解决方案。Argo 的主要优点是其漂亮的 UI,而 Flux UI 是 kubectl 命令和工具。

您可以一起使用它们。假设您希望有 500 个聚类进行协调;您可以将 Flux 用于基础设施,然后使用 Argo 管理您的应用程序和租户。

Vince |Nodeify:您可以使用一个 Argo 实例管理 1000 个集群。

calinah |GraphOps:但你试过吗?因为光是想想我就头疼。

Vince |Nodeify:我在 homelab 中做了三个,这很好。1,000 听起来很糟糕。

Matthew Darwin |Pinax:需要更多硬件。

Vince |Nodeify:我宁愿让集群更强大,也不愿让另一个更强大,哈哈。但对 prod、stage、dev 有好处。

calinah |GraphOps:取决于用例——在某些时候,更强大是不够的。拥有像 Argo 这样的东西来管理多个集群很棒——只要我们谈论的不是 100 个集群。

Vince |Nodeify:是的,特别好,因为它可以将内容抽象为项目,因此您可以管理同一集群中的团队,并查看哪些团队在做什么,等等,对于那些不想担心扩展并且喜欢花钱少做事的人,还有 Akuity:适用于 Kubernetes 的端到端 GitOps 平台。部署 Argo,具有良好的计算能力。

calinah |GraphOps:你玩过 Akuity 吗?

Vince |Nodeify:是的,我将在我自己的基础设施上使用它。

从用户或开发人员的角度来看,此存储库用于协调集群和集群中运行的应用程序。所以 Flux 用它来协调集群中除了 CNI(即 Cilium)之外的基本上所有正在运行的东西。

请跟随 Guillaume 在 24:50 解释存储库的结构和不同部分。

您可以使用 Helm 图表来部署 Graph Node,并且可以将其用作 Flux 的一部分。因此,如果您查看 Graph Node 自定义,它将尝试部署此目录中运行的所有内容,例如应用程序、Launchpad、Graph Node。它将获取此自定义并创建命名空间 graph-node(如果尚不存在),然后将此文件部署到此处,即 graph-node.yaml,它基本上是一个 Helm 存储库。

Helm 存储库的名称是 graphops,它每 12 小时从存储库中提取一次,以便所有 launchpad 图表保持最新状态。

然后我们创建 HelmRelease,它将 Helm Chart 部署到集群中的应用程序中。我们正在部署一个名为 graph-node 的 Helm 图表。

graph-node.yaml 的屏幕截图

Vince |Nodeify:KubeVision 为您提供了一个可以看到您的集群的 Kube ChatGPT。🙂

无限 59 美元/月,少了一件需要担心的事情,Kargo 处理促销非常好。

  • 宣布 KubeVision with AI 发布:提高 Akuity 平台上的可见性
  • Kargo 仓库

calinah |GraphOps:这看起来不错,但似乎只有在你使用 Akuity 并且无法独立获得它时才可用?

Vince |Nodeify:Kargo 应该与任何 Argo 一起使用,但不确定 KubeVision。

Matthew:即使你不同意我们在 Pinax 的所有配置,也许它会给你一些其他的想法,并提出问题或需要考虑的事情。我很想更多地了解其他团队或人员围绕 Kubernetes 所做的工作。

Vince |Nodeify:Reloader 很棒,请告诉我,你们都在使用 GitOps,无论口味如何,那些吃过药的人。

  • CJ |GraphOps:顺便说一句,GitOps +1,Git 确实很好地完成了整个版本控制部分。

Marc-André |Ellipfra:我肯定了解了我可以用我的集群做的其他事情。谢谢你。

Vince |Nodeify:如果你在 Argo 上,请查看其他可用的东西。很多工具和插件。

Marc-André |Ellipfra:是的,我可能只用了 1% 的 Argo CD。

Vince |Nodeify:这对我来说在索引领域变得不错:Sync Phases 和 Waves。

chris.eth |GraphOps:Launchpad 中所有官方支持的 Chart

  • Graph 节点
  • The Graph网络索引器(indexer-service、indexer-agent、tap-agent 等)

Pierre | Chain-Insights.io:使用 Lens 而不是 K9s (Lens IDE for Kubernetes)。

stake-machine.eth 中:我知道 Lens,但仍然......🙂 你买不到真爱。

Marc-André |Ellipfra:是的,对于我们的非 Kubernetes 朋友来说,你不需要从 Pinax 正在做的事情这样全面的事情开始。您可以从使用云服务的超小规模开始,然后迁移到您自己的硬件。

Vince |Nodeify:此外,如果您有多个集群,kubie 是必须的。让生活变得轻松。kubectx

stake-machine.eth:Proxmox

Matthew:现在在 Pinax,我们处于 Kubernetes 中有东西而 Kubernetes 中没有的东西的状态,现在我们需要将 Kubernetes 的东西与非 Kubernetes 的东西联系起来。所以,我们正在研究一个全新的事情:我们如何在不停机的情况下从旧式过渡到新式。

我们所有的东西最初都部署在 LXC 容器中。实际上,大多数东西仍然在 LXC 中,比如 Proxmox,现在我们正在部署 Kubernetes 集群,我们正在考虑将控制平面节点放在 Proxmox 中。

Guillaume,在将 LXC 容器桥接到 Kubernetes 方面,您考虑了什么?

Guillaume:好吧,我现在要打破这个独家新闻,因为它从昨天开始工作。我们现在正在做的是在 Kubernetes 内部拥有自己的 DNS 提供商,我们使用 Crossplane 来配置和监控集群外部的一些外部端点。我们有一堆在 Kubernetes 之外的 LXC 中运行的应用程序,但我们希望使用 Kubernetes 内部的基础设施 DNS 提供商来提供这些服务,这样我们就可以保留这些服务,但在某个时候将它们迁移到集群中......或者没有。我们希望能够自由地选择我们做什么,因此我们使用 Crossplane 创建带有终端节点的服务,这些服务可以连接到在集群外部运行的东西,但仍然能够从 GitOps 和集群本身内部协调运行在外部的服务。

Pierre |Chain-Insights.io 发布: KubeVirt

Guillaume:是的,KubeVirt 也真的很有趣。我已经尝试了相当多的方法来设置 Kubernetes 集群,它非常棒。如果您想在 Kubernetes 中管理一些 VM,则可以使用 KubeVirt 将 VM 作为 Kubernetes Pod 进行扩展、升级和管理。

John K.:不是 K8s,但我有一个关于 tap-agent 的问题。我需要将此地址添加到 [tap.sender_aggregator_endpoints] 配置中吗?

Ana回答说:您无需添加该地址,这只是某人设置的附加网关。目前,唯一官方支持的网关是Edge & Node网关,但是tap-agent将显示存在的任何网关。

(相关专业名词、注释、代码库、超链接等请关注博客阅读原文查找)

#web3数据索引 #区块链开发 #索引器 #TheGraph

Comments

All Comments

Recommended for you

  • Ripple Prime Launches Perpetual Contract Trading Services for Institutional Clients

    According to Bloomberg, Ripple's main brokerage division, Ripple Prime, is launching perpetual contracts for real-world assets (RWA) aimed at institutional clients, covering over 100 reference markets including stocks, indices, ETFs, and commodities. This product is offered through Trade.xyz on Hyperliquid, continuing Ripple Prime's previous initiative to provide clients with access to cryptocurrency perpetual contract trading.

  • NYC Comptroller Urges Anthropic to Pause IPO Plans

    On October 15, New York City Comptroller Mark Levine stated in an interview that he has written to Anthropic CEO Dario Amodei, urging the company to suspend its planned initial public offering (IPO). In the letter, he called for Anthropic to pause its IPO plans until it can fully and transparently address concerns related to AI safety, governance, and development that the company itself has raised. Levine wrote that the company should focus on mitigating these risks rather than advancing the IPO. Currently, New York City has an investment exposure of less than $10 million in Anthropic through the private market.

  • US September PPI Rises 6.3% Year-on-Year, Exceeding Market Expectations

    The US Producer Price Index (PPI) for September recorded a year-on-year increase of 6.3%, the highest since May 2026, surpassing market expectations of 5.3%. The month-on-month PPI for September was reported at 1.3%, significantly higher than the market forecast of 0.5%. Additionally, US retail sales for September showed a month-on-month increase of 0.8%, also exceeding market expectations.

  • U.S. Initial Jobless Claims at 199,000 Last Week, Expected 200,000

    On October 15, the number of initial jobless claims in the U.S. last week was 199,000, expected to be 200,000, with the previous value revised from 197,000 to 198,000.

  • NYC Comptroller Urges Anthropic to Pause IPO Plans

    On October 15, New York City Comptroller Mark Levine stated in an interview that he has written to Anthropic CEO Dario Amodei, urging the company to pause its planned initial public offering (IPO). The letter calls for Anthropic to suspend its IPO plans until it can comprehensively and transparently address concerns related to AI safety, governance, and development that the company itself has raised. Levine wrote that the company should focus on mitigating these risks rather than moving forward with the IPO. Currently, New York City has an investment exposure of less than $10 million in Anthropic through the private market.

  • BTC Falls Below $81,000

    Market data shows that BTC has fallen below $81,000, currently priced at $80,997.1, with a 24-hour decline of 2.84%. The market is experiencing significant volatility, so please ensure proper risk management.

  • FTC Requests Documents from Anthropic and OpenAI

    On October 15, according to Axios: The U.S. Federal Trade Commission (FTC) has requested documents related to the incident from Anthropic and OpenAI. The FTC issued a civil subpoena to the AI companies on Wednesday.

  • Cook: Apple AI Approved in China, Testing Version Launching Late October

    On October 15, Apple CEO Tim Cook revealed in an interview in Shanghai that Apple AI has been approved in China. A testing version will be launched later in October, featuring initial functions such as real-time translation, writing assistance, and image removal, while Siri AI will not be included.

  • UBS: Fed Expected to Raise Rates for the Third Time in March 2027

    On October 15, UBS stated that it expects the Federal Reserve to implement its third rate hike in March 2027, revising its previous forecast that the rate hike cycle would conclude in December.

  • BTC Surpasses $81,000

    Market data shows that BTC has surpassed $81,000, currently priced at $81,002, with a 24-hour decline of 2.94%. The market is experiencing significant volatility, so please ensure proper risk management.