如何用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