首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何ssh进入Kubernete Pod

如何ssh进入Kubernete Pod
EN

Stack Overflow用户
提问于 2020-11-27 16:24:57
回答 1查看 1.5K关注 0票数 1

场景1:我在一台物理机上部署了一个spring启动应用程序,它在物理机的一个端口上打开了ssh连接。假设是9889。因此,一旦应用程序启动,该物理机将在该端口上打开连接,并侦听任何传入的请求。任何客户端都可以使用以下命令连接到该端口

代码语言:javascript
运行
复制
ssh admin@ipaddress -p 9889.

它返回我期望的连接。

场景2:我正在将该应用部署到Kubernete集群中。我将服务的外部Ip设置为主节点上的IP。因此,当我输入Kubectl get services时,我得到的结果如下

代码语言:javascript
运行
复制
NAME           TYPE                 CLUSTER-IP     EXTERNAL-IP          PORT
app-entry      LOADBALANCER         172.x.x.xx     172.x.x.x            3000:3552

如何使用externalIP和端口3000 ssh到Kubernete集群中的应用程序。因为每次我尝试使用上面的命令ssh时,它都会返回连接被拒绝

EN

回答 1

Stack Overflow用户

发布于 2020-11-27 17:13:01

正如评论中提到的@zerkms,您可以使用kubectl exec连接Kubernetes集群内部运行的容器的外壳。

代码语言:javascript
运行
复制
$ kubectl exec -it -n <namespace> <pod_name> -- /bin/bash
$ kubectl exec -it -n <namespace> <pod_name> -- /bin/sh

# if the pod has multiple containers
$ kubectl exec -it -n <namespace> <pod_name> -c <container_name> -- /bin/bash

如果您的pod上有一个正在运行的服务器,该服务器在特定端口提供服务,则可以使用kubectl port-forward从本地计算机连接它(即,localhost:PORT)。

代码语言:javascript
运行
复制
# Pods
$ kubectl port-forward -n <namespace> pods/<pod_name> <local_port>:<container_port>

# Services
$ kubectl port-forward -n <namespace> svc/<service_name> <local_port>:<container_port>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65034065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档