【问题标题】:How do I SSH tunnel to a remote server whilst remaining on my machine?如何在我的机器上通过 SSH 隧道连接到远程服务器?
【发布时间】:2020-06-05 23:28:23
【问题描述】:

我有一个 Kubernetes 集群要管理,它位于 AWS 上它自己的私有子网中。为了让我们能够管理它,我们在公共子网上有一个堡垒服务器。直接通过隧道连接到我们的集群很容易。但是,我们需要让我们的部署机器建立隧道并执行命令到 Kubernetes 服务器,例如运行 Helm 和 kubectl。有谁知道如何做到这一点?

非常感谢,

约翰

【问题讨论】:

  • 当您说“部署机器”时,您的意思是堡垒服务器,对吧?
  • 没有。大厅->堡垒->集群。我们的 Concourse 机器有一些工具,比如 kubectl,可以在集群上运行,但是需要通过 Bastion 建立一个隧道。

标签: amazon-web-services kubernetes ssh ssh-tunnel


【解决方案1】:

在 AWS 中

场景 1

默认情况下,此 API 服务器端点对 Internet 是公共的,并且使用 AWS Identity and Access Management (IAM) 和原生 Kubernetes 基于角色的访问控制 (RBAC) 的组合来保护对 API 服务器的访问。

如果是这种情况,您可以使用提供的 kubeconfig 文件从您的 Concourse 服务器中使用 kubectl 命令,如果您没有 kubeconfig 文件,请按照这些 steps

场景 2

当您启用私有集群端点时(这似乎是您的情况)

当您为集群启用终端节点私有访问时,Amazon EKS 会代表您创建一个 Route 53 私有托管区域并将其与您集群的 VPC 关联。此私有托管区域由 Amazon EKS 管理,不会出现在您账户的 Route 53 资源中。为了让私有托管区域正确地将流量路由到您的 API 服务器,您的 VPC 必须将 enableDnsHostnames 和 enableDnsSupport 设置为 true,并且为您的 VPC 设置的 DHCP 选项必须在其域名服务器列表中包含 AmazonProvidedDNS。有关更多信息,请参阅 Amazon VPC 用户指南中的更新您的 VPC 的 DNS 支持。

您可以修改您的私有端点步骤here 或遵循这些Steps

【讨论】:

    【解决方案2】:

    可能有更简单的方法来完成它,但我想到的第一个解决方案是设置简单的 ssh 端口转发。

    假设您对两台机器都有 ssh 访问权限,即 ConcourseBastion 有 ssh 访问权限,BastionCluster 有 ssh 访问权限,可以按如下方式进行:

    首先在Bastion 上进行所谓的本地ssh 端口转发(很好地描述了here):

    ssh -L <kube-api-server-port>:localhost:<kube-api-server-port> ssh-user@<kubernetes-cluster-ip-address-or-hostname>
    

    现在您可以通过以下方式从Bastion 访问您的 kubernetes api:

    curl localhost:<kube-api-server-port>
    

    但它仍然不是您所需要的。现在您需要将其转发到您的Concourse 机器。在Concource 运行:

    ssh -L <kube-api-server-port>:localhost:<kube-api-server-port> ssh-user@<bastion-server-ip-address-or-hostname>
    

    从现在开始,您可以在 Concourse 机器的 localhost 上使用您的 kubernetes API,以便您可以例如使用curl访问它:

    curl localhost:<kube-api-server-port>
    

    或将其合并到您的.kube/cofig

    如果有帮助,请告诉我。

    您还可以使此类隧道更加持久。更多信息您可以找到here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-01
      • 2020-07-05
      • 2017-09-27
      • 2016-11-18
      • 2019-11-19
      • 2014-05-03
      • 2019-11-12
      • 2020-09-30
      相关资源
      最近更新 更多