如何在2.1-ee中公开部署服务?

时间:2017-11-03 20:36:51

标签: ibm-cloud-private

我创建了一个服务并使用了nodeport等但无法访问该服务。

我使用以下内容创建了一个web-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

以及包含以下部署详细信息的webserver.yaml文件

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

1 个答案:

答案 0 :(得分:0)

在您的部署中,label是run = webserver,但在您的服务中,label是app = webserver。该服务使用app = webserver作为Selector,通过它选择三个标签“app”设置为“webserver”的pod。在这种情况下,没有任何pod具有标签“app”,因此部署未成功公开为服务。部署和服务中的标签名称和值应匹配。