Kubernetes - 作为服务公开

时间:2017-03-15 04:46:05

标签: service deployment kubernetes

由于滚动更新不是状态集支持的功能,因此考虑尝试使用混合pod,其中种子节点将是状态集,而其他非种子节点将是部署。我正在尝试另一个问题中建议的这个链接:Statfulsets - akka clustering有没有办法可以将种子和非种子节点暴露为同一个服务,以便可以用一个外部IP命中它们?

1 个答案:

答案 0 :(得分:1)

正确使用标签时可能......

对于种子节点,请使用如下:

apiVersion: apps/v1beta1
kind: StatefulSet
...
spec:
  serviceName: akka-seed
  selector:
    matchLabels:
      run: akka-seed
  template:
    metadata:
      labels:
        run: akka-seed
        app: akka

对于工作节点,请使用如下:

apiVersion: apps/v1beta1
kind: Deployment
...
spec:
  template:
    metadata:
      labels:
        run: akka-worker
        app: akka

在服务中,您可以通过以下方式引用:

apiVersion: v1
kind: Service
metadata:
  name: akka
spec:
  ports:
  ...
  selector:
    app: akka

这将从两个组中选择pod。