Вытащите образ реестра лазурного контейнера в шлеме kubernetes

Я работаю над проектом, использующим Helm-kubernetes и службу Azure Kubernetes, в котором я пытаюсь использовать простое изображение узла, которое я поместил в реестр Azure Container внутри моей таблицы helm, но оно возвращает ImagePullBackOff ошибка.

Вот некоторые детали:

мой Dockerfile :

FROM node:8

# Create app directory
WORKDIR /usr/src/app


COPY package*.json ./

RUN npm install

# Bundle app source
COPY . .

EXPOSE 32000
CMD [ "npm", "start" ]

мой helm_chart/values.yaml :

replicaCount: 1

image:
  registry: helmcr.azurecr.io
  repository: helloworldtest
  tag: 0.7
  pullPolicy: IfNotPresent

nameOverride: ""
fullnameOverride: ""

service:
  name: http
  type: LoadBalancer
  port: 32000
  internalPort: 32000

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

resources: {}

nodeSelector: {}

tolerations: []

affinity: {}

Когда я пытаюсь вытащить изображение, используя команду ниже, как: docker pull helmcr.azurecr.io/helloworldtest:0.7 затем он успешно вытягивает изображение.

Что здесь может быть не так?

Заранее спасибо!

1 ответ

Ваш кластер kubernetes должен пройти аутентификацию в реестре контейнера, чтобы получить изображения, обычно это делается секретом докера:

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

Если вы используете AKS, вы можете предоставить права доступа к идентификатору приложения кластера для реестра, этого достаточно.

Чтение: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

Другие вопросы по тегам