【发布时间】:2021-10-04 15:32:35
【问题描述】:
我正在尝试使用 helm 中的范围循环创建类型为负载均衡器的 k8s 服务。我需要创建指向专用 POD 的 k8s 服务。我已经部署了 3 个 pod,并且正在运行。我正在尝试创建 3 个服务指向3 个不同的 pod。
{{- $replicas := .Values.replicaCount | int -}}
{{- $namespace := .Release.Namespace }}
{{- range $i,$e := until $replicas }}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-{{ $i }}
name: service-{{ $i }}
namespace: {{ $namespace }}
spec:
ports:
- protocol: TCP
targetPort: 2000
port: {{ . | printf ".Value.ports.port_%d" | int }}
selector:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-{{ $i }}
type: LoadBalancer
{{- end }}
我的价值观.yaml
ports:
port_1: 30001
port_2: 30002
port_3: 30003
replicaCount: 3
dry-run 在下面给出:
# Source: t1/templates/svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-0
name: service-0
namespace: xyz
spec:
ports:
- protocol: TCP
targetPort: 2000
port: 0
selector:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-0
type: LoadBalancer
---
# Source: t1/templates/svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-1
name: service-1
namespace: xyz
spec:
ports:
- protocol: TCP
targetPort: 2000
port: 0
selector:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-1
type: LoadBalancer
---
# Source: t1/templates/svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-2
name: service-2
namespace: xyz
spec:
ports:
- protocol: TCP
targetPort: 2000
port: 0
selector:
app: abc-svc
statefulset.kubernetes.io/pod-name: abc-2
type: LoadBalancer
我需要根据 values.yaml 文件指向正确端口的端口号。对于 service-0,service-1,service-2 我需要分配 30001,30002,30002 端口。请建议。谢谢!!
【问题讨论】:
标签: kubernetes kubernetes-helm