I have a Deployment with 5 replicas. All have ssh and telnet. They should not be load balanced. I would like each to select from a predictable list of 5.
Here is my Deployment
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
This is my Service with invalid nodePort values for illustrative purposes.
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]
I am hoping to be able to accomplish 2 things:
- Each pod replica instance will only get an ssh port from [30022, 30122, 30222, 30322, 30422, 30522] and a telnet port from [30023, 30123, 30223, 30323, 30423, 30523]
- A pod replica instance that gets an ssh port of 30022 also gets the telnet port 30023. A pod replica instance that gets an ssh port of 30122 gets a telnet port of 30123 and so on.