Kubernetes使用服务集群IP和端口作为环境变量

时间:2017-07-14 23:56:56

标签: kubernetes kubectl

我在群集IP 10.101.71.17和端口26379上有后端服务。我有一个前端部署,我打算将此服务IP作为环境变量传递。

前端-deployment.yaml

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: frontend
  namespace: my-namespace
spec:
  replicas: 2
  template:
    metadata:
      labels:
        name: frontend
    spec:

      containers:
      - name: frontend
        image: localhost:5000/frontend
        command: [ "/usr/local/bin/node"]
        args: [ "./index.js" ]
        imagePullPolicy: IfNotPresent
        env:
        - name: NODE_ENV
          value: production
        - name: API_URL
          value: BACKEND_HTTP_SERVICE_HOST // Here
        - name: BASIC_AUTH
          value: "true"
        - name: SECURE
          value: "true"
        - name: PORT
          value: "443"
        ports:
        - containerPort: 443
        - containerPort: 80
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        ports:
        - containerPort: 8079
      nodeSelector:
        beta.kubernetes.io/os: linux
---

我可以获取pod中的所有环境变量,但我不确定将它分配给环境变量值的正确方法是什么。

1 个答案:

答案 0 :(得分:1)

我假设您在前端应用程序中引用了API_URL环境变量中的后端服务。

如果是这种情况,只需将BACKEND_HTTP_SERVICE_HOST替换为10.101.71.17:26379

        env:
        - name: NODE_ENV
          value: production
        - name: API_URL
          value: 10.101.71.17:26379 
        - name: BASIC_AUTH
          value: "true"
        - name: SECURE
          value: "true"
        - name: PORT
          value: "443"

您应该考虑使用DNS名称进行服务。