Kubernetes 部署 SSH 跳板机:用 autossh 打通内网访问
背景
在 Kubernetes 集群中,很多时候服务没有对外暴露的网络入口,排查问题或日常运维都需要进入集群内部。通常的做法是:
- 在集群内部署一个 SSH 服务作为跳板机
- 通过 SSH 反向隧道将跳板机暴露到外部可访问的服务器上
- 开发者通过隧道连接跳板机,再访问集群内部服务
本文介绍如何在 K8s 中用一个 Pod 两个容器实现 SSH 跳板机 + autossh 自动隧道,实现稳定的内网穿透。
在 Kubernetes 集群中,很多时候服务没有对外暴露的网络入口,排查问题或日常运维都需要进入集群内部。通常的做法是:
本文介绍如何在 K8s 中用一个 Pod 两个容器实现 SSH 跳板机 + autossh 自动隧道,实现稳定的内网穿透。
在内网环境中,经常需要将本地服务暴露到远程服务器上,常见场景如:
使用 SSH 反向隧道(-R 参数)可以将本地端口映射到远程服务器端口,而 autossh 则能自动保持 SSH 连接稳定,在断线时自动重连。
多年来, Kaniko一直是构建镜像的首选方案,它是谷歌专为在非特权容器内构建镜像而开发的工具,无需 Docker 守护进程。然而在 2025 年 6 月,谷歌将该代码库归档,现在它已变为只读。GitLab 也已移除 Kaniko 的相关文档,并推荐使用 Buildah 或 Podman 等替代工具。
本文记录了基于docker部署最新ceph版本的多节点高可用测试详尽过程,切身体会比ceph-deploy方便得多,希望能给初次接触ceph的同学提供些许参考。
注意: 由于程序运行于容器之中,所以镜像中一般都是带有CUDA、CUDNN库的,因此只需要在docker所在的主机上安装显卡驱动即可,无需费太大力气去安装cuda、cuddn之类的东西。
harbor的官方安装指南介绍了harbor有三种安装方式,分别是在线安装、离线安装和OVA安装,本文主要采用离线安装的方式。
官方文档上面说明需要依赖Python 2.7或以上版本,Docker引擎1.10以上,还有Docker Compose 1.6.0或以上版本,openssl。
先介绍 非安全 的连接方式。
CoreOS 请使用第二种方法,其他 Linux 系统配置时选择以下两种方法之一
docker.service 中 dockerd 的 -H 参数不能与 daemon.json 中的 hosts 键值对冲突。(其他参数同理)
新建 /etc/systemd/system/docker.service.d/docker.conf 文件。
这个参考应用程序在服务器和客户端是跨平台的,这要归功于.NET Core服务能够在Linux或Windows容器上运行,具体取决于您的Docker主机,以及Xamarin用于在Android,iOS或Windows / UWP plus上运行的移动应用程序客户端Web应用程序的任何浏览器。该体系结构提出了一种面向微服务的体系结构实现,具有多个自治微服务(每个都拥有自己的数据库/ db),并在每个微服务中实现不同的方法(简单的CRUD与DDD / CQRS模式),使用Http作为客户端应用程序之间的通信协议。微服务和支持异步通信,用于基于集成事件和事件总线(轻量级消息代理,在RabbitMQ或Azure Service Bus之间进行选择,跨多个服务)进行数据更新传播。
docker调用GPU时可以明确指定用哪一张显卡,同时也可以指定数量

InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。在我们的容器资源监控系统中,就采用了InfluxDB存储cadvisor的监控数据。本文对InfluxDB的基本概念和一些特色功能做一个详细介绍,内容主要是翻译整理自官网文档,如有错漏,请指正。