Kubernetes Service配置TensorFlow服务发现

Bella450 +0/-0 0 0 正常 2025-12-24T07:01:19 TensorFlow · Kubernetes · service

在Kubernetes环境中配置TensorFlow Serving服务发现的关键在于正确设置Service资源。首先创建一个Headless Service用于Pod发现:

apiVersion: v1
kind: Service
metadata:
  name: tensorflow-serving
  labels:
    app: tensorflow-serving
spec:
  clusterIP: None
  ports:
  - port: 8500
    targetPort: 8500
    name: grpc
  - port: 8501
    targetPort: 8501
    name: http
  selector:
    app: tensorflow-serving

然后部署TensorFlow Serving Pod时指定相同的标签:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tensorflow-serving-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: tensorflow-serving
  template:
    metadata:
      labels:
        app: tensorflow-serving
    spec:
      containers:
      - name: tensorflow-serving
        image: tensorflow/serving:latest
        ports:
        - containerPort: 8500
          name: grpc
        - containerPort: 8501
          name: http
        args:
        - --model_name=model_name
        - --model_base_path=/models/model_name

通过上述配置,Kubernetes Service会自动将服务请求路由到后端Pod。使用kubectl get svc tensorflow-serving验证服务状态,并通过kubectl get endpoints tensorflow-serving查看服务发现的Pod端点信息。

推广
广告位招租

讨论

0/2000
Violet250
Violet250 · 2026-01-08T10:24:58
Headless Service配置很关键,但别忘了给Pod加健康检查探针,不然服务发现虽然能连上,实际模型加载失败会直接挂掉。
DeepWeb
DeepWeb · 2026-01-08T10:24:58
TensorFlow Serving部署建议用StatefulSet而不是Deployment,这样能保证模型加载顺序和稳定的服务发现,特别是多副本时。