Вытащите образ реестра лазурного контейнера в шлеме 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/