2017-11-03 5 views
0

サービスを作成し、nodeportなどを使用しましたが、サービスにアクセスできませんでした。デプロイメントを2.1-eeのサービスとして公開するにはどうすればよいですか?

私は以下の内容を含むウェブservice.yamlファイルを作成し、サービスを作成するためにkubectlを使用:

apiVersion: v1 
kind: Service 
metadata: 
    name: web-service 
    labels: 
    app: web-service 
spec: 
    type: NodePort 
    ports: 
    - port: 80 
    protocol: TCP 
    selector: 
    app: webserver 

と、次の展開の詳細

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: webserver 
spec: 
    replicas: 3 
    template: 
    metadata: 
     labels: 
     run: webserver 
    spec: 
     containers: 
     - name: webserver 
     image: nginx:alpine 
     ports: 
     - containerPort: 80 

答えて

0

とwebserver.yamlファイルデプロイメントでは、label = webserverが実行されますが、サービスではlabelはapp = webserverです。このサービスでは、app = webserverをセレクタとして使用し、「app」というラベルが「webserver」に設定された3つのポッドを選択します。この場合、ポッドにはラベル "app"がありません。そのため、デプロイメントはサービスとして正常に公開されません。デプロイメントとサービスのラベル名と値は一致する必要があります。

関連する問題