我正在嘗試配置kubernetes,並在我的項目中分離了UI和API。 我創建了一個Pod,並將兩者都公開爲服務。Kubernetes服務作爲env var到前端使用
如何在pod.yaml配置中設置API_URL以發送來自用戶瀏覽器的請求?
我不能使用本地主機,因爲通信不在容器之間。
pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: project
labels:
name: project
spec:
containers:
- image: 'ui:v1'
name: ui
ports:
- name: ui
containerPort: 5003
hostPort: 5003
env:
- name: API_URL
value: <how can I set the API address here?>
- image: 'api:v1'
name: api
ports:
- name: api
containerPort: 5000
hostPort: 5000
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: postgres-url
key: url
services.yaml
apiVersion: v1
kind: Service
metadata:
name: api
labels:
name: api
spec:
type: NodePort
ports:
- name: 'http'
protocol: 'TCP'
port: 5000
targetPort: 5000
nodePort: 30001
selector:
name: project
---
apiVersion: v1
kind: Service
metadata:
name: ui
labels:
name: ui
spec:
type: NodePort
ports:
- name: 'http'
protocol: 'TCP'
port: 80
targetPort: 5003
nodePort: 30003
selector:
name: project
但它是一個內部IP'API_SERVICE_HOST = 10.0.0.8',我需要暴露一個'192.168.99.100:PORT'。因爲我將這個設置在web應用程序中供瀏覽器使用。謝謝! –