我使用这个 Deployment.yml 来创建 pod。
apiVersion: apps/v1
kind: Deployment
metadata:
name: price-calculation-deployment
labels:
app: price-calculation
spec:
replicas: 2
selector:
matchLabels:
app: price-calculation
template:
metadata:
labels:
app: price-calculation
spec:
containers:
- name: price-calculation
image: ${somewhere}/price-calculation:latest
ports:
- containerPort: 80
protocol: TCP
- name: pc-mongodb
image: mongo:latest
ports:
- containerPort: 27017
protocol: TCP
imagePullSecrets:
- name: acr-auth
后来,我使用这个 Service.yml 将端口暴露给外部。
apiVersion: v1
kind: Service
metadata:
name: price-calculation-service
spec:
type: LoadBalancer
ports:
- port: 5004
targetPort: 80
protocol: TCP
selector:
app: price-calculation
最后,现在两者都在工作。好的。
由于我在 Service.yml 中配置了 LoadBalancer,因此应该有一个 LoadBalancer 将请求分派到 2 个副本/pod。
现在,我想知道哪个 pod 接受请求,我怎么知道?
谢谢!!!
好吧,最简单的方法 - 让 pod 在响应中写下它们的身份,这样你就会知道哪个 pod 响应。另一种方法 - 使用 Zipkin\Jaeger 实现分布式跟踪。这将使您深入了解网络流程。
我相信 kubernetes 不提供任何类型的内置网络跟踪。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句