我有一个ConfigMap为我的Pod提供必要的环境变量:
apiVersion: v1
kind: ConfigMap
metadata:
name: global-config
data:
NODE_ENV: prod
LEVEL: info
# I need to set API_URL to the public IP address of the Load Balancer
API_URL: http://<SOME IP>:3000
DATABASE_URL: mongodb://database:27017
SOME_SERVICE_HOST: some-service:3000
Run Code Online (Sandbox Code Playgroud)
我正在Google Cloud上运行Kubernetes集群,因此它将自动为我的服务创建一个公共端点:
apiVersion: v1
kind: Service
metadata:
name: gateway
spec:
selector:
app: gateway
ports:
- name: http
port: 3000
targetPort: 3000
nodePort: 30000
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
我有一个Web应用程序,需要从客户端浏览器向gateway服务发出HTTP请求。但是为了向外部服务发出请求,Web应用程序需要知道它的IP地址。
因此,我设置了pod,该pod以某种方式为Web应用程序提供服务,它选择了一个环境变量“ API_URL”,从而使所有HTTP请求都对该URL进行了请求。
因此,我只需要一种方法即可将API_URL环境变量设置为服务的公共IP地址,gateway以便在启动时将其传递到pod中。
environment-variables google-cloud-platform kubernetes google-kubernetes-engine