ssh 或 kubectl exec 的不同环境变量

n00*_*dle 5 linux containers kubernetes

我们的集群中有一个通过 ssh(测试环境等)调用的服务。在这个容器中,当我们使用 ssh 连接或使用 kubectl 连接时,我们有不同的环境变量。

有人可以解释一下 kubectl exec 命令在这里还设置了什么吗?

作为一个例子,来自两个环境的一小段摘录。

kubectl exec:(printenv | grep KU)

KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT_443_TCP=tcp://10.4.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_ADDR=10.4.0.1
KUBERNETES_SERVICE_HOST=10.4.0.1
KUBERNETES_PORT=tcp://10.4.0.1:443
KUBERNETES_PORT_443_TCP_PORT=443
Run Code Online (Sandbox Code Playgroud)

ssh 进入同一个容器:(printenv | grep KU)

dev-xxxxx:~$ printenv | grep KU
dev-xxxxx:~$
Run Code Online (Sandbox Code Playgroud)

OhH*_*ark 3

kubectl exec命令允许您在 pod 的现有容器内远程运行任意命令。kubectl exec\xe2\x80\x99 与用于SSH在远程系统上执行命令没有太大区别。SSH并且kubectl应该可以很好地与 99% 的 CLI 应用程序配合使用。在环境变量方面我能发现的唯一区别是:

\n\n

回答你的问题:

\n
\n

有人可以解释一下 kubectl exec\n 命令在这里还设置了什么吗?

\n
\n

它们应该产生相同的输出(假设您已正确键入这两个命令并在同一个容器上执行它们)。

\n

您将在下面找到一些有关该kubectl exec命令的有用资源:

\n\n

编辑:

\n

如果您想了解更多关于kubectl exec和之间的差异SSH之间的差异,我推荐这篇文章。它涵盖以下主题:

\n
    \n
  • 授权号/z

    \n
  • \n
  • 壳牌用户体验

    \n
  • \n
  • 非外壳功能,以及

    \n
  • \n
  • 表现

    \n
  • \n
\n