如何解决我无法连接到 kubernetes 中的 Pod
我有一个应用程序可以记录实时流量并重播它们。
https://github.com/buger/goreplay
这是一个简单的应用程序,但是当我尝试将它与 kubernetes 一起使用时,我在连接或通信 Pod 时遇到问题。
我创建了一个包含两个容器的 pod,一个是 goreplay,另一个是一个简单的 Python 网络服务器。 在这个 pod 中,goreplay 将跟踪从外部到 python 服务器的流量,并将其转发到另一个 pod 中的另一个 python 服务器。
这是第一个部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: goreplay-deployment
labels:
app: goreplay-app
spec:
replicas: 1
selector:
matchLabels:
app: goreplay-app
template:
metadata:
labels:
app: goreplay-app
spec:
containers:
- name: goreplay
image: feiznouri/goreplay:2.0
args:
- --input-raw
- :3000
- --output-http="http://service-server.default:3200"
volumeMounts:
- name: data
mountPath: /var/lib/goreplay
- name: myserver
image: feiznouri/python-server:1.1
args:
- "3000"
ports:
- name: server-port
containerPort: 3000
volumes:
- name: data
persistentVolumeClaim:
claimName: goreplay-claim
在 goreplay 容器的 args 部分中,我放置了参数,输出是其中之一,但我不确定要放置什么地址。
这是第一次部署的服务:
apiVersion: v1
kind: Service
metadata:
name: service-goreplay
spec:
selector:
app: goreplay-app
ports:
- port: 31001
nodePort: 31001
targetPort: server-port
protocol: TCP
type: NodePort
这里是第二个部署,只有第二个服务器:
apiVersion: apps/v1
kind: Deployment
metadata:
name: server-deployment
labels:
app: server-app
spec:
replicas: 1
selector:
matchLabels:
app: server-app
template:
metadata:
labels:
app: server-app
spec:
containers:
- name: myserver
image: feiznouri/python-server:1.1
args:
- "3001"
ports:
- name: server-port
containerPort: 3001
这是它的服务:
apiVersion: v1
kind: Service
metadata:
name: service-server
spec:
selector:
app: server-app
ports:
- port: 3200
targetPort: server-port
protocol: TCP
问题是,这样一来,我就没有将流量传送到第二台服务器,而是从外部向第一台服务器发送请求,我看到流量来到了第一台服务器,但是第二台服务器
在第二个服务器的输出参数中放入什么是正确的地址以使其正常工作。
解决方法
我重现了您的问题,看来您唯一需要修复的是 args
字段。
将 "
"
添加到每个参数,它应该是这样的:
注意: http://service-server.default:3200
未包含在额外的双引号中。
args:
- "--input-raw"
- ":3000"
- "--output-http=http://service-server.default:3200"
有关定义命令和参数的更多信息可以在 documentation 中找到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。