如何用kubernetes中的服务端点替换部署中的硬编码IP

如何用kubernetes中的服务端点替换部署中的硬编码IP,kubernetes,Kubernetes,创建服务和端点对象后-> --- apiVersion: v1 kind: Service metadata: name: external-service namespace: default spec: ports: - protocol: TCP port: 8200 --- apiVersion: v1 kind: Endpoints metadata: name: external-service subsets: - addresses:

创建服务和端点对象后->

---
apiVersion: v1
kind: Service
metadata:
  name: external-service
  namespace: default
spec:
  ports:
  - protocol: TCP
    port: 8200
---
apiVersion: v1
kind: Endpoints
metadata:
  name: external-service
subsets:
  - addresses:
      - ip: $EXTERNAL_ADDR
    ports:
      - port: 8200
如何在deployment.yaml文件中指向该服务。我想删除env变量中的硬编码IP

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: devwebapp
  labels:
    app: devwebapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: devwebapp
  template:
    metadata:
      labels:
        app: devwebapp
    spec:
      serviceAccountName: internal-app
      containers:
      - name: app
        image: app:k8s
        imagePullPolicy: Always
        env:
        - name: ADDRESS
          value: "http://$EXTERNAL_SERVICE:8200"
只需将值更改为
http://external-service
没有帮助


提前谢谢你

我必须将值设置为
http://external-service:8200
。端口是在端点中指定的,因此不必在部署中添加它。

我必须将该值设置为
http://external-service:8200
。端口是在端点中指定的,因此不必在部署中添加它。

您不需要单独创建端点,只需在服务中使用
选择器
规范
。它将自动创建所需的端点

这一款适合您:

---
apiVersion: v1
kind: Service
metadata:
  name: external-service
  namespace: default
spec:
  selector:
    app: devwebapp
  ports:
  - protocol: TCP
    port: 8200

您不需要单独创建端点,只需在服务
spec
中使用
selector
。它将自动创建所需的端点

这一款适合您:

---
apiVersion: v1
kind: Service
metadata:
  name: external-service
  namespace: default
spec:
  selector:
    app: devwebapp
  ports:
  - protocol: TCP
    port: 8200