Извлеките изображения док-хаба в таблицу значений Helm. Yaml - PullRequest
0 голосов
/ 21 января 2019

Я новичок в мире руля и Кубернетеса. Я работаю над проектом с использованием Docker, Kubernetes и helm, в котором я пытаюсь развернуть простое приложение Nodejs с использованием helm chart в Kubernetes.

Вот что я пробовал:

От Dockerfile:

FROM node:6.9.2
EXPOSE 30000
COPY server.js .
CMD node server.js

Я собрал образ, пометил его и отправил в хранилище док-станции по адресу: MY_USERNAME/myhello:0.2

Затем я запускаю простую запятую, чтобы создать диаграмму руля как: helm create mychart Он создал каталог mychart со всеми компонентами helm.

Затем я отредактировал файл values.yaml как:

replicaCount: 1
image:
  repository: MY_USERNAME/myhello
  tag: 0.2
  pullPolicy: IfNotPresent

nameOverride: ""
fullnameOverride: ""

service:
  type: NodePort
  port: 80
  externalPort: 30000

ingress:
  enabled: false
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  paths: []
  hosts:
    - chart-example.local
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #  cpu: 100m
  #  memory: 128Mi
  # requests:
  #  cpu: 100m
  #  memory: 128Mi

nodeSelector: {}

tolerations: []

affinity: {}

После этого я установил график как: helm install --name myhelmdep01 mychart

и при запуске kubectl get pods это показывает ErrImagePull

Я попытался, упомянув имя изображения как: docker.io/arycloud/myhello в этом случае изображение вытащено успешно, но возникает другая ошибка:

Сбой проверки работоспособности: получить http://172.17.0.5:80/: набрать tcp 172.17.0.5:80: соединение: соединение отказано

1 Ответ

0 голосов
/ 21 января 2019

Выполните kubectl describe pod <yourpod> вскоре после возникновения ошибки, и в нижней части вывода должно быть событие, которое точно скажет вам, в чем заключается проблема вытягивания изображения.

От макушки головы может быть один из следующих вариантов:

  • Это частное репо, и вы не предоставили служебную учетную запись для модуля / развертывания с соответствующим образомPullSecret
  • Ваш бэкэнд не является докером или не предполагает, что изображения без префиксов находятся на hub.docker.com. Попробуйте вместо этого: registry-1.docker.io/arycloud/myhello

Если вы можете найти эту ошибку, она должна быть довольно простой.

...