Google Cloud Plateform(コンテナエンジン)を使用してクラスターを作成し、次のyamlファイルを使用してポッドをデプロイしました。
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
次に、ポッドがこれらすべてのポートでリッスンできるようにするサービスを作成します。私は彼がyamlファイルをフォローして、1つのポートでリッスンするサービスを作成することを知っています:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
ports:
- port: 80
targetPort: 80
selector:
app: app-label
type: LoadBalancer
ただし、ポッドがこのような複数のポートでリッスンするようにしたい場合、機能しません。
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
ポッドに複数のポートをリッスンさせるにはどうすればよいですか?
次の2つのオプションがあります。
あなたの場合、サービスは次のようになります。
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
これは、エンドポイントを明確にするために必要です。