【问题标题】:Need to do ssh to Kubernetes pod需要对 Kubernetes pod 做 ssh
【发布时间】:2021-09-15 20:12:14
【问题描述】:

是否可以将 ssh 带到 pod. 例如:ssh pod_ip

我知道我们可以使用 kubectl 命令来做到这一点。但是我需要从我没有 kubectl 的本地 linux 机器上做 ssh

谢谢

【问题讨论】:

  • 您介意提供一些关于为什么需要 ssh 的上下文吗?为什么没有安装 kubectl?

标签: kubernetes


【解决方案1】:

首先,您必须确保已在 pod 中安装并运行 openssh-server。如果没有,您可以使用kubectl exec -it <pod-name> -n <namespace> -- bash 访问 pod。 如果您的 pod 运行的是 Ubuntu,请执行 apt-get install -y openssh-server

其次,Pod 运行在由网络服务分配的虚拟 IP 子网中。集群中的任何 Master 节点和 Worker 节点都可以访问它们。您可以从任何主机操作系统执行 ssh。

【讨论】:

    【解决方案2】:

    如果您想在 POD 中的特定容器内登录

    kubectl exec -it <Pod_Name> -c <Container_Name> -- /bin/bash

    如果您想登录到默认容器(或者如果 POD 中只有一个容器),那么只需使用

    kubectl exec -it <Pod_Name> -- /bin/bash


    PS:- 如果 /bin/bash 不起作用,请尝试 /bin/sh

    【讨论】:

    • OP 在没有 kubectl 的情况下要求答案。
    • 我可以运行kubectl exec -it deployments/{deployment_name} bash吗?
    • 我猜不是,通常你执行到 POD 而不是部署。部署可以有这么多的 pod,所以你需要决定你的 pod 要登录!
    • /bin/sh - 拯救了一天!
    【解决方案3】:

    我用:

    kubectl exec -it deployments.apps/deployment-example bash -n namespace-example
    

    【讨论】:

      猜你喜欢
      • 2020-03-01
      • 2021-01-26
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      相关资源
      最近更新 更多