【问题标题】:Not able to run kubectl on remote using python无法使用 python 在远程运行 kubectl
【发布时间】:2021-11-23 04:59:01
【问题描述】:

我正在尝试从本地在远程服务器上运行 kubectl 命令,但当我能够在远程运行所有其他命令(ls、日期)时,它似乎正在尝试在 localhost 上运行。

command = 'kubectl get pod -n namespace'
stdin,stdout,stderr=ssh.exec_command(command)

错误:

The connection to the server localhost:8080 was refused - did you specify the right host or port?

知道如何在远程运行 kubectl 以连接到 pod 并在 pod 内运行一些命令吗?

【问题讨论】:

  • 你在 python 代码中使用 kubeconfig 文件吗?
  • 我没有使用 kubeconfig 文件。请告诉我如何将它与 paramiko 一起使用。
  • 在你的 kubectl 命令中使用--kubeconfig=。

标签: python-3.x kubectl paramiko


【解决方案1】:

检查你是否是非root用户的ssh连接,当你尝试以非root用户执行kubectl命令时会出现此错误。

解决方案:

  1. 添加 sudo 作为命令的前缀。这将解决当前用户本身的问题。
  2. 与 root 用户建立 ssh 连接。

【讨论】:

  • 我无法使用我的用户名运行 sudo。感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-24
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多