Kubernetes не может получить изображение с неизвестной ошибкой BLOB-объекта - PullRequest
0 голосов
/ 31 мая 2018

Я создал образ Docker на основе microsoft / dotnet-framework консольного приложения C # .NET, созданного для контейнеров Windows, а затем гарантировал, что я могу запустить образ в контейнере локально.Я успешно отправил изображение в наш реестр Azure Container.Сейчас я пытаюсь создать развертывание в нашей службе Azure Kubernetes, но получаю сообщение об ошибке:

Не удалось получить изображение «container-registry / image: tag»: rpc error: code= Неизвестный desc = неизвестный BLOB-объект

Я вижу эту ошибку на своих развертываниях, модулях и наборах реплик на панели инструментов Kubernetes.

У нас уже есть секрет, который работает с лазурью.приложение для голосования, поэтому я не думаю, что это связано с секретами, но могу ошибаться.

До сих пор я пытался создать это развертывание, вставив следующий YAML в диалоговое окно Создать панель управления Kubernetes:

apiVersion:
kind: Deployment
metadata:
  name: somename
spec:
  selector:
    matchLabels:
      app: somename
      tier: backend
  replicas: 2
  template:
    metadata:
      labels:
        app: somename
        tier: backend
    spec:
      containers:
      - name: somename
        image: container-registry/image:tag
        ports:
        - containerPort: 9376

И я также попытался запустить варианты этой команды kubectl:

kubectl run deploymentname --image=container-registry/image:tag

В своем исследовании я пытался прочитать о различных частях k8, чтобы понять, что может бытьидет не так, но все это довольно плохо для меня.Я думаю, это может быть связано с тем, что это образ Windows Server 2016.Один из членов команды успешно добавил учебный код Azure для голосования в нашу AKS, поэтому мне интересно, есть ли ограничение на одну службу AKS, выполняющую развертывание для контейнеров на базе Windows и Linux.Я вижу, запустив az aks list, что в AKS есть agentPoolProfile с "osType": "Linux", но я не знаю, означает ли это просто, что оркестратор находится в Linux или контейнеры в модулях должны быть основаны на Linux,Я обнаружил, что вопросы об стеке переполнены с ошибкой «неизвестный блоб», и, похоже, ответ на этот вопрос может поддержать мою гипотезу, но я не могу сказать, связан ли этот вопрос с моими вопросами.

Поскольку ошибка связана с невозможностью получения образа, я не думаю, что это связано с настройкой службы для этого развертывания.Добавление сервиса ничего не изменило.Я пытался перестроить свое приложение, подозревая, что изображение было повреждено, но перестройка и перерегистрация не дали результата.Еще одна вещь, о которой я не читаю, это этот вопрос и ответ относительно несоответствия манифестов (которое я пока не до конца понимаю).

Я не пытался создатьместные Кубернетес.Я не знаю, обычно ли это делают люди.

Резюме вопросов:

  1. Что вызывает эту неизвестную ошибку BLOB-объекта?Связано ли это с несоответствием контейнера Windows / контейнера Linux?
  2. Влияет ли профиль пула агентов на все узлы в кластере или только на «главные» узлы?

Дайте мне знать, если вам нужна дополнительная информация.Спасибо.

1 Ответ

0 голосов
/ 01 июня 2018

1.Что вызывает эту неизвестную ошибку BLOB-объекта?Связано ли это с несоответствием контейнера Windows / контейнера Linux? Это потому, что вы пытаетесь запустить контейнер Docker на базе Windows на хосте Linux.Это не имеет ничего общего с Кубернетесом или АКС.В настоящее время AKS находится в режиме предварительного просмотра и поддерживает только среды Linux.Точнее говоря, когда вы предоставляете свой кластер AKS (az aks create), все ваши миньоны k8s (рабочие узлы) будут блоками Linux и, следовательно, не смогут запускать контейнеры на основе Windows.

2.Влияет ли профиль пула агентов на все узлы кластера или только на «главные» узлы? Он влияет на рабочие узлы и используется для их логической группировки, чтобы вы могли лучше управлять распределением рабочей нагрузки.В будущем, когда AKS будет поддерживать как Linux, так и Windows, вы сможете, например, создавать пулы агентов на основе типа ОС и указывать k8s развертывать ваши службы на основе Windows только на хостах (агентах) на основе Windows.

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