Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве объясняется, как добавить или обновить секрет доступа к контейнерному реестру Red Hat для уже созданного кластера Azure Red Hat OpenShift 4.
Для нового развертывания кластера можно добавить секрет доступа при создании кластера. Для получения дополнительной информации о создании кластера с использованием pull-секрета Red Hat, см. статью "Получение pull-секрета Red Hat (необязательно)".
Предпосылки
В этом руководстве предполагается, что кластер Azure Red Hat OpenShift 4 уже существует. Убедитесь в наличии доступа к кластеру с правами администратора.
Подготовка секрета опроса
При создании кластера без добавления секрета доступа Red Hat секрет все равно создается автоматически в вашем кластере. Однако этот секрет по запросу заполнен не полностью.
В этом разделе рассматривается обновление pull secret с использованием других значений из pull secret Red Hat.
Извлеките секрет с именем
pull-secret
в пространстве именopenshift-config
и сохраните его в отдельный файл, выполнив следующую команду:oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
Выходные данные должны быть аналогичны следующему примеру, а фактическое секретное значение было удалено.
{ "auths": { "arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" } } }
Перейдите на портал диспетчера кластеров Red Hat OpenShift и выберите Скачать секрет опроса. Ваш секретный ключ извлечения Red Hat выглядит следующим образом, и фактические значения ключей были удалены.
{ "auths": { "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "violet@contoso.com" }, "quay.io": { "auth": "<my-quayio-secret>", "email": "violet@contoso.com" }, "registry.connect.redhat.com": { "auth": "<my-registry.connect.redhat.com-secret>", "email": "violet@contoso.com" }, "registry.redhat.io": { "auth": "<my-registry.redhat.io-secret>", "email": "violet@contoso.com" } } }
Измените файл секрета опроса, полученный из кластера, добавив записи, найденные в секрете опроса Red Hat.
Это важно
Если вы включите запись
cloud.openshift.com
из секрета pull'а Red Hat, ваш кластер будет отправлять телеметрические данные в Red Hat. Включайте этот раздел, только если нужно отправлять данные телеметрии. В противном случае исключите следующий раздел.{ "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "violet@contoso.com" }
Осторожность
Не удаляйте и не изменяйте запись
arosvc.azurecr.io
из вашего ключа или токена извлечения. Этот раздел необходим для правильной работы кластера."arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" }
Окончательный файл должен выглядеть следующим образом. Фактические секретные значения были удалены.
{ "auths": { "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "violet@contoso.com" }, "quay.io": { "auth": "<my-quayio-secret>", "email": "violet@contoso.com" }, "registry.connect.redhat.com": { "auth": "<my-registry.connect.redhat.com-secret>", "email": "violet@contoso.com" }, "registry.redhat.io": { "auth": "<my-registry.redhat.io-secret>", "email": "violet@contoso.com" }, "arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" } } }
Убедитесь, что файл является правильным JSON-файлом. Проверить правильность формата JSON можно разными способами. В следующем примере используется
jq
для проверки файла.cat pull-secret.json | jq
Если в файле возникла ошибка, она отображается как
parse error
.
Добавление секрета опроса в кластер
Выполните следующую команду, чтобы изменить секрет опроса. В версии 4.9 или более ранней, выполнение этой команды приводит к перезапуску узлов кластера по одному при обновлении. В версии 4.10 или более поздней перезапуск не активируется.
oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret.json
Убедитесь, что секрет извлечения установлен
oc exec -n openshift-apiserver $(oc get pod -n openshift-apiserver -o jsonpath="{.items[0].metadata.name}") -- cat /var/lib/kubelet/config.json
После настройки секрета можно включить операторы Certified в Red Hat.
Изменение файлов конфигурации
Измените следующие объекты, чтобы включить операторы Red Hat.
Измените файл конфигурации оператора Samples. Затем можно выполнить следующую команду, чтобы изменить файл конфигурации:
oc edit configs.samples.operator.openshift.io/cluster -o yaml
Измените значение параметра spec.managementState
с Removed
на Managed
.
В следующем фрагменте кода YAML показаны только соответствующие разделы измененного файла YAML:
apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
...
spec:
architectures:
- x86_64
managementState: Managed
Выполните следующую команду, чтобы изменить файл конфигурации Центра операторов:
oc edit operatorhub cluster -o yaml
Измените Spec.Sources.Disabled
значение на true
false
любые источники, которые вы хотите включить.
В следующем фрагменте кода YAML показаны только соответствующие разделы измененного файла YAML:
Name: cluster
...
dd3310b9-e520-4a85-98e5-8b4779ee0f61
Spec:
Sources:
Disabled: false
Name: certified-operators
Disabled: false
Name: redhat-operators
Сохраните файл, чтобы применить изменения.
Проверка работоспособности секрета
После добавления секрета извлечения и изменения правильных файлов конфигурации обновления кластера могут занять несколько минут. Чтобы проверить, обновлен ли кластер, выполните следующую команду, чтобы отобразить доступные источники сертифицированных операторов и операторов Red Hat:
$ oc get catalogsource -A
NAMESPACE NAME DISPLAY TYPE PUBLISHER AGE
openshift-marketplace certified-operators Certified Operators grpc Red Hat 10s
openshift-marketplace community-operators Community Operators grpc Red Hat 18h
openshift-marketplace redhat-operators Red Hat Operators grpc Red Hat 11s
Если операторы Certified и Red Hat не видны, подождите несколько минут и повторите попытку.
Чтобы убедиться, что секрет извлечения обновлен и работает, откройте OperatorHub и проверьте наличие любого проверенного оператора Red Hat. Например, проверьте, доступен ли оператор хранилища контейнера OpenShift, и проверьте, есть ли у вас разрешения на установку.
Дальнейшие шаги
- Дополнительные сведения о секретах опроса для Red Hat см. в статье Использование секретов опроса образа.
- Дополнительные сведения о Red Hat OpenShift 4 см. в документации платформы контейнеров Red Hat OpenShift.