Развертывание изображений контейнера в OpenShift - PullRequest
0 голосов
/ 02 октября 2019

Я хочу применить эту статью ( Получение любого образа Docker, работающего в вашем собственном кластере OpenShift ) для образа из реестра RedHat . Я выбрал rhel8 / redis-5 image . Мне не ясно, какие шаги нужно выполнить.

Я пытался oc new-app --docker-image=registry.redhat.io/rhel8/redis-5. Это не сработало даже после копирования сведений о конфигурации Docker из учетной записи службы реестра RedHat. Ожидается ли oc new-app работа с изображениями, хранящимися вне Docker Hub?

Далее я попробовал секретный параметр OpenShift.

Следуя сведениям из Учетная запись службы реестра дляиспользовать секрет OpenShift, мы должны запустить эту команду. kubectl create -f chainhead-secret.yml --namespace=NAMESPACEHERE. Это то, что называется секретом извлечения изображения? Есть ли oc эквивалент команды?

Следующим шагом является обновление конфигурации Kubernetes с помощью фрагмента yaml, как показано ниже. Где это должно потребляться - oc, веб-консоль, kube-whatever команда и т. Д.?

apiVersion: v1
kind: Pod
metadata:
  name: somepod
  namespace: all
  spec:
    containers:
      - name: web
        image: registry.redhat.io/REPONAME

    imagePullSecrets:
      - name: some-pull-secret

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Я не знаком с OpenShift, однако я нахожу некоторые вещи, которые могут быть вам полезны.

Помимо того, что @Arockiasmy K упомянул в предыдущем ответе, синтаксис YAML неверен. Модуль не будет создан: spec должен находиться на том же рычаге, что и kind.

apiVersion: v1
kind: Pod
metadata:
  name: somepod
  namespace: all
spec:
  containers:
  - name: web
    image: <image>

$ kubectl apply -f <pod-yaml>

Еще одна вещь, убедитесь, что у вас уже есть namespace называется " all " и помните, что секрет должен быть в том же namespaces, что и Pod.

Надеюсь, это поможет.

0 голосов
/ 02 октября 2019

Вы можете создать секрет, используя kubectl, а также oc. Оба работают в Openshift.

oc create -f redhat-secret.yml --namespace=NAMESPACEHERE

Убедитесь, что имя хоста - registry.redhat.io. У вас есть два способа присоединить его к развертыванию.

  • Вы можете упомянуть этот секрет в конфигурации pod, dc как imagePullSecrets.
  • Вы можете добавить этот секрет как imagePullSecrets в SA по умолчанию (в проекте). oc edit sa default.
...