Предоставить общедоступный сервис Kubernetes, используя развертывание и сервис LoadBalancer - PullRequest
0 голосов
/ 05 декабря 2018

При создании простого развертывания hello-world с помощью декларативного манифеста yaml и службы типа LoadBalancer для его предоставления все создается успешно, однако при попадании на внешний IP-адрес службы оно недоступно.

Здесьэто файл yaml, который я использую:

apiVersion: v1
kind: Service
metadata:
  name: my-test
  labels:
    app: my-test
spec:
  type: LoadBalancer
  ports:
  - port: 80
    targetPort: 8888
    protocol: TCP
    name: http
  # - port: 443
  #   targetPort: 8888
  #   protocol: TCP
  #   name: https
  selector:
    app: my-test
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-test
  labels:
    app: my-test
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-test
  template:
    metadata:
      labels:
        app: my-test
    spec:
      containers:
      - name: my-test
        image: gcr.io/google-samples/hello- app:2.0
        ports:
        - containerPort: 8888

Я понял, что если я создаю развертывание с помощью команды run, я могу создать службу с помощью команды yaml или kubectl expose.Я новичок в K8s, поэтому не уверен, что не так с декларацией развертывания.

Использование следующих команд работает нормально

kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080

Затем я выполнил следующую команду, чтобы раскрыть развертывание:

kubectl expose deployment hello-server --type LoadBalancer --port 80 --target-port 8080

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...