Telepresence 2.24:推出 Docker Compose 扩展
Telepresence 2.24 现已发布,此次更新带来了强大的 Docker Compose 扩展,让用户直接从本地 Compose 文件镜像并交互 Kubernetes 服务。
此次更新让用户在熟悉的 docker compose 工作流程中,充分利用 Telepresence 的集群连接能力。无论是本地代理远程服务,还是用本地代码替换集群容器,这些扩展都简化了调试、测试和迭代,且对集群影响极小。
什么是 Telepresence Docker Compose 扩展?
核心是 x-tele
扩展,你可以添加到 compose.yaml
或 compose.override.yaml
文件中。Telepresence 通过新命令 telepresence compose
处理这些扩展,作为 docker compose 的增强替代,负责连接 Kubernetes 集群,修改网络、卷挂载和环境变量,然后传回优化后的配置给 Docker Compose。
扩展分两种类型:
顶层扩展
定义全局配置,如集群连接和卷挂载策略。例如:
- Connections:指定命名空间、子网等,连接本地和集群。
- Mounts:控制挂载策略(本地、远程或只读)。
服务级扩展
针对每个服务,定义本地 Compose 服务如何交互远程 Kubernetes 服务。支持类型包括:
类型 |
行为描述 |
类似 CLI 命令 |
---|---|---|
connect |
让服务访问集群 DNS 和路由 |
telepresence connect |
proxy |
用代理替代本地服务,代理远程集群服务 |
无 |
wiretap |
接收远程服务镜像流量用于观察 |
telepresence wiretap |
ingest |
共享远程容器的环境变量和卷 |
telepresence ingest |
intercept |
处理远程服务拦截流量,支持环境变量/卷共享 |
telepresence intercept |
replace |
用本地服务完全替换远程容器 |
telepresence replace |
所有服务扩展都隐含 connect
。
实战:从 Emojivoto 入手
准备工作
- 克隆代码库:
git clone https://github.com/telepresenceio/emojivoto.git
- 本地运行:
cd emojivoto && docker compose up
(访问 http://localhost:8080) - 部署到 Kubernetes:
kubectl apply -k kustomize/deployment
- 查看 Pod 状态:
kubectl -n emojivoto get pod
示例 1:本地代理远程服务
假设你不想本地运行 "voting" 服务,而是从集群代理它。compose.override.yaml
添加:
x-tele:
connections:
- namespace: emojivoto
services:
voting:
x-tele:
type: proxy
运行 telepresence compose up
。此时本地环境无缝访问远程投票服务。Vote-bot 仍然投票,但日志显示“Proxied service voting”,本地没有运行投票服务。
总结:让 Compose 服务调用远程集群资源,无需全部本地运行,适合依赖复杂的应用。
示例 2:用本地服务替换远程服务
反过来,让远程服务调用你本地的 "emoji" 和 "voting" 实现。
更新 compose.override.yaml
:
x-tele:
connections:
-namespace:emojivoto
services:
emoji:
x-tele:
type:replace
voting:
x-tele:
type:replace
vote-bot:
profiles:
-notEnabled# Optional: Disable local vote-bot
用 telepresence compose up
,远程的 emoji 和 voting pod 被流量代理替换,流量转发到本地容器。投票数据通过自动远程挂载同步,http://localhost:8080 显示和远程应用相同的排行榜。
如果想调整卷挂载(例如用本地卷):
x-tele:
connections:
- namespace: emojivoto
mounts:
- volume: data
policy: local
总结:适合在类生产环境快速替换代码,无需重新部署,加快调试和开发速度。
为何这改变了本地开发?
- 高效:不再手动拦截或代理,Compose 文件定义一切。
- 一致:本地镜像 Kubernetes 服务,测试更准确。
- 灵活:轻松处理复杂场景,如卷同步和端口映射。
- 最小集群影响:操作临时且可撤销,使用
telepresence compose down
。
无论是独立开发者还是团队,这些扩展让 Telepresence 成为 Kubernetes 工作流中不可或缺的工具。
其他重要改进
-
自动移除 Traffic-Agent
新增 Helm Chartagent.maxIdleTime
配置,控制流量代理空闲多久后自动从 Pod 移除,减少集群运行容器数。 -
集群服务启动浏览器
新增命令telepresence serve <service>
,启动浏览器访问指定服务。配合telepresence connect --docker
使用时,会在本地随机端口暴露该服务。 -
Prometheus 指标去除客户端标签
Helm Chart 添加prometheus.dropClientLabel
,支持 GDPR 合规,防止指标中暴露个人数据。 -
Prometheus 指标前缀 "telepresence_"
避免指标冲突,更易于在监控系统中搜索。 -
完整 CLI 参考
文档新增完整 man 页式命令参考。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
REBUILD 4.1.6 已经发布,高度可定制化企业管理系统
REBUILD 4.1.6 已经发布,高度可定制化企业管理系统 此版本更新内容包括: [修复] 小数精度导致的相关问题 [修复] 手机版下拉列表编辑显示问题 [优化] 其他若干优化 V4.1 完整更新日志 https://getrebuild.com/docs/dev/changelog 一键安装包 https://getrebuild.com/download 安装指南 https://getrebuild.com/docs/admin/install 详情查看:https://gitee.com/getrebuild/rebuild/releases/4.1.6
-
下一篇
Rufus 4.10 Beta 发布,引入深色模式、支持 Windows 11 25H2 ISO
Rufus在 Windows 生态中被认为是最优秀的U盘启动工具之一,与官方的 Media Creation Tool 相比,Rufus 不仅能更快地完成 Windows 系统 U 盘的制作,还集成了 Windows 镜像下载以及自定义 Windows 安装设置,如:移除 Windows 11 TPM 2.0 检测,预设本地账号等。 今天,Rufus4.10 beta 正式推出,Rufus4.10 Beta 最大的的亮点是支持Windows 11 25H2 ISO以及深色模式支持。 以下是 Rufus 4.10 Beta 的更新日志: 支持 Windows 11 25H2 ISO Rufus4.10 Beta 正式加入了对Windows 11 25H2 ISO的支持,用户能够创建满足企业合规需求的安装介质(这一改进对准备部署Windows CA 2023的企业或组织尤为重要)。 引入深色模式 为了迎合现代 UI 偏好,Rufus 4.10 beta 提供了深色模式支持。在深色主题下,界面显示更加一致,能有效提升长时间操作时的视觉舒适度。 驱动器直接保存为 ISO 新增了将现有驱动器直接...
相关文章
文章评论
共有0条评论来说两句吧...