Seb*_*ien 12 port load-balancing google-cloud-platform kubernetes
我使用google cloud plateform(容器引擎)创建了一个集群,并使用以下yaml文件部署了一个pod:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment-name
spec:
replicas: 1
template:
metadata:
name: pod-name
labels:
app: app-label
spec:
containers:
- name: container-name
image: gcr.io/project-id/image-name
resources:
requests:
cpu: 1
ports:
- name: port80
containerPort: 80
- name: port443
containerPort: 443
- name: port6001
containerPort: 6001
Run Code Online (Sandbox Code Playgroud)
然后我想创建一个服务,使pod能够监听所有这些端口.我知道他跟随yaml文件工作来创建一个侦听一个端口的服务:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
ports:
- port: 80
targetPort: 80
selector:
app: app-label
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
但是,当我希望pod在这样的多个端口上侦听时,它不起作用:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
ports:
- port: 80
targetPort: 80
- port: 443
targetPort: 443
- port: 6001
targetPort: 6001
selector:
app: app-label
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
如何让我的pod收听多个端口?
dan*_*cic 17
您有两种选择:
在您的情况下,该服务变为:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
ports:
- name: http
port: 80
targetPort: 80
- name: https
port: 443
targetPort: 443
- name: something
port: 6001
targetPort: 6001
selector:
app: app-label
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
这是必要的,以便可以消除端点的歧义.
| 归档时间: |
|
| 查看次数: |
15170 次 |
| 最近记录: |