私のクラスタでサンプルアプリケーションを実行しています。私は3つのコンテナを持つwebappポッドを持っています。それぞれ別々のspringboot webserviceとして動作します。従業員、test1とtest2。私の仮定は、Webサービスがノード上30062上で実行されていることであり、依存複数のマッピングを持つKubernetes for Java WebサービスでnodePortsを公開 -
apiVersion: v1
kind: Pod
metadata:
name: webapp
labels:
name: webapp
spec:
containers:
-
resources:
limits:
cpu: 0.5
image: kube/employee
imagePullPolicy: IfNotPresent
name: wsemp
ports:
- containerPort: 8080
name: wsemp
-
resources:
limits:
cpu: 0.5
image: kube/test1
imagePullPolicy: IfNotPresent
name: wstest1
ports:
- containerPort: 8081
name: wstest1
imagePullSecrets:
- name: myregistrykey
全体のコンテキストを持つように更新 - これはポッドの仕様は、以下である
apiVersion: v1 kind: Service metadata: labels: name: webapp name: webappservice spec: ports: - port: 8080 nodePort: 30062 type: NodePort selector: name: webapp
下に示されて露出サービスマッピング、私はWebサービスにアクセスできるようになります。例:http://11.168.24.221:30062/employeeおよびhttp://11.168.24.221:30062/test1/
下の従業員コンテナとtest1コンテナからログを分離します。
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/employee],methods=[GET]}" onto public java.util.List<employee.model.Employee> employee.controller.EmployeeController.getAll()
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/test1/],methods=[GET]}" onto public java.util.List<model.Test1> test1.controller.Test1Controller.getAll()
問題はhttp://11.168.24.221:30062/employeeです。正しくWebサービスにヒットします。しかし、私がhttp://11.168.24.221:30062/test1/を押すと、上記のログの中でtest1/mappingが利用できないと言われています。マッピングは明らかに利用可能です。エラーメッセージはWhitelabel Error Page /です。このアプリケーションには/ errorの明示的なマッピングがないため、これをフォールバックとみなしています。
私が間違っていることは何ですか?
ハングオン、これは完全なサービス仕様ですか?ポート8081のマッピングも指定していませんか? –
https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services –
のように、仕様全体を貼り付けました。 EMP ポート:8080 nodePort: - : ポート:名前 あなたはそれがこの仕様のようでなければなら意味30062 - 名前:TEST1 ポート:8081 nodePort:30063私は30063. – Vikram