注意:

利用 SSH 隧道与 Oracle Cloud Infrastructure Kubernetes Engine 实现安全应用开发

简介

图像

当我与 OKE 在 Ali Mukadam 的帮助下进行 SSH 隧道时,我称之为“魔法”。

他用以下信息回应了我:

“你叫它魔法,别人叫它科学。“我在哪里,他们是一样的。

最初的引用来自 Thor 电影:

“你的祖先称之为魔法,但你称之为科学。我来自一个地方,他们都是同一个地方。

这是什么魔法?

在现代应用开发中,保护本地资源与基于云的资源之间的连接至关重要,尤其是在使用 Oracle Cloud Infrastructure Kubernetes Engine(OCI Kubernetes Engine 或 OKE)时。SSH 隧道提供了一种简单而强大的方法来安全地连接到 OKE 集群,使开发人员能够在不向公共 Internet 公开资源的情况下管理和与资源交互。本教程将探讨如何使用 OKE 设置 SSH 隧道,以及开发人员如何将此方法集成到其工作流中以增强安全性和效率。从初始配置到优秀实践,我们将涵盖您在基于 OKE 的应用程序中有效利用 SSH 隧道所需的一切。

下图展示了 SSH 隧道连接两个不同应用程序的完整流量流。

图像

目标

任务 1:在 OKE 上部署 Kubernetes 集群(具有堡垒实例和操作员实例)

确保 OKE 上已部署 Kubernetes 集群。

任务 2:在 Kubernetes 集群上部署 NGINX Web 服务器

运营商不能直接从互联网访问,我们必须通过堡垒主机。

测试新 Pod/应用程序

任务 3:使用 Localhost 条目创建 SSH 配置脚本

为了让 SSH 隧道正常工作,我们需要在位于 /Users/iwhooge/.ssh 文件夹的 SSH 配置文件中添加以下条目。

任务 4:设置 SSH 隧道并使用 Localhost 连接到 NGINX Web 服务器

任务 5:在 Kubernetes 集群上部署 MySQL Database 服务

我们可以通过 SSH 隧道访问 NGINX 应用程序,现在添加在 OKE 环境中运行的 MySQL 数据库服务。

任务 6:在 SSH 配置脚本内添加其他 Localhost 条目

在 SSH 配置脚本中添加其他 localhost 条目以访问新的 MySQL 数据库服务。

任务 7:设置 SSH 隧道并使用 Localhost 连接到 MySQL Database

任务 8:清除所有应用程序和服务

后续步骤

保护对 OKE 集群的访问是现代应用开发的关键步骤,SSH 隧道可提供强大而直接的解决方案。通过实施本教程中的步骤,开发人员可以保护其资源,简化其工作流,并保持对多个应用程序的敏感连接的控制。将 SSH 隧道集成到 OKE 设置中不仅可以增强安全性,还可以最大限度地降低向公共 Internet 公开资源带来的风险。借助这些实践,您可以自信地利用 OKE 集群,专注于构建可扩展、安全、高效的应用。

确认

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心