我有一个包含 5 个副本的部署。都有 ssh 和 telnet。它们不应该是负载平衡的。我希望每个人都从可预测的 5 个列表中进行选择。
这是我的部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
selector:
matchLabels:
app: myapp
replicas: 5
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:1.0
ports:
- name: ssh
protocol: TCP
containerPort: 22
- name: telnet
protocol: TCP
containerPort: 23
出于说明目的,这是我的带有无效 nodePort 值的服务。
apiVersion: v1
kind: Service
metadata:
name: myapp
labels:
app: myapp
spec:
type: NodePort
ports:
- name: ssh
port: 22
nodePort: [30022, 30122, 30222, 30322, 30422, 30522]
- name: telnet
port: 23
nodePort: [30023, 30123, 30223, 30323, 30423, 30523]
我希望能够完成两件事:
- 每个 pod 副本实例只会从 [30022, 30122, 30222, 30322, 30422, 30522] 获得一个 ssh 端口,从 [30023, 30123, 30223, 30323, 30423, 30523] 获得一个 telnet 端口
- 获得 ssh 端口 30022 的 pod 副本实例也获得 telnet 端口 30023。获得 ssh 端口 30122 的 pod 副本实例获得 30123 的 telnet 端口,依此类推。
谢谢!