【发布时间】:2019-06-11 15:34:20
【问题描述】:
我已经部署了 2 个 pod,它们需要与另一个 pod(比如说 Pod A)通信。 Pod A 需要已部署 Pod 的服务的 IP 地址。所以我需要在 Pod A 所需的配置属性文件中设置这些 IP 地址。 由于 IP 地址是动态的,即如果 pod 崩溃,它会被更改。所以需要动态设置它。
目前我部署了 2 个 pod 并做
kubectl get ep
并在配置属性文件中设置这些 IP 地址并构建 Dockerfile 并推送它并使用该映像进行部署。
这是我的 deplyment 和 svc 文件,其中图像 djtijare/a2ipricing 指的是配置文件
apiVersion: v1
kind: Service
metadata:
name: spring-boot-demo-pricing
spec:
ports:
- name: spring-boot-pricing
port: 8084
targetPort: 8084
selector:
app: spring-boot-demo-pricing
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: spring-boot-demo-pricing
spec:
replicas: 1
template:
metadata:
labels:
app: spring-boot-demo-pricing
spec:
containers:
- name: spring-boot-demo-pricing
image: djtijare/a2ipricing:v1
imagePullPolicy: IfNotPresent
# envFrom:
#- configMapRef:
# name: spring-boot-demo-config-map
resources:
requests:
cpu: 100m
memory: 1Gi
ports:
- containerPort: 8084
nodeSelector:
disktype: ssd
那么如何在配置文件中动态设置这 2 个 pod 的 IP 并构建和推送 docker 映像。
【问题讨论】:
-
你可以使用服务的DNS名称
spring-boot-demo-pricing吗? -
如何检查?
-
curl spring-boot-demo-pricing 不工作