Сегодня было важным — я переместил наш кластер OpenShift и рабочую нагрузку с AWS в облако Orock, которое запускает Red Hat Cloud Suite Top вниз. Большинство рабочих нагрузок было легко мигрировать, и, хотя я перетасовал вещи вокруг, я подумал, что развернут управление идентификацией Red Hat в облако Orock и интегрировать его с нашим новым кластером OpenShift.
Несколько заметок для тех, кто может не знать много об экосистеме Red Hat:
- Red Hat Cloud Suite Включает все, что вам нужно для запуска собственного частного облака, похожего на AWS, Azure, GCP и т. Д.
- Red Hat OpenShift Container Platform это платформа Enterprise Kubernetes, которая облегчает жизнь каждого.
- Управление идентификацией Red Hat Является ли поддержка Freeipa, которое завершает кучу услуг, таких как DNS, LDAP, PKI и многое другое. Я использую его в основном для магазина LDAP.
- LDAP аналогичен Active Directory в том смысле, что он обеспечивает иерархическую директиву и систему аутентификации на основе деревьев.
- Keystone — еще один механизм аутентификации предприятия, который является частью предложения IAAS OpenStack
В любом случае, так как этот кластер OpenShift работает в частном облаке OpenStack, он использует Keystone для аутентификации моего пользователя. Я использую Red Hat IDM/LDAP для аутентификации пользователей Workshop, потому что часто легче интегрироваться в различные решения — и я не хочу, чтобы 100 учетных записей пользователей учащихся занимали место в Keystone рядом с моим фактическим пользователем кластера -админи.
Так что мне нужно много методов аутентификации для OpenShift.
1. Втяните в свой IDM/LDAP CA
Скорее всего, вы используете сертификат авторитета сертификата, который означает, что он не в обычных магазинах ключей. Нам нужна копия этого на наших мастерах OpenShift, и мы можем легко ее вытащить:
$ openssl s_client -connect idm.example.com -showcerts 2>/dev/null | sed --quiet '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | csplit --prefix=outfile - "/-----END CERTIFICATE-----/+1" "{*}" --elide-empty-files --quiet $ sudo cp outfile01 /etc/ssl/certs/idm-ca.pem $ sudo chmod 600 /etc/ssl/certs/idm-ca.pem
Это создаст два файла, последний из которых, вероятно, будет вашим сертификатом CA. Затем следующие команды скопируют его на место.
2. Изменить файл/etc/origin/master/master-config.yaml
Если вы бросаете мульти-мастеров, вероятно, легче изменить файл Ansible Host и изменить openshift_master_identity_providers
переменная и запустите пейзаторы развертывания, но для этого примера мы изменим /etc/origin/master/master-config.yaml
напрямую.
... oauthConfig: identityProviders: - name: keystone challenge: true login: true mappingMethod: claim provider: apiVersion: v1 domainName: exampleDoamin kind: KeystonePasswordIdentityProvider url: https://api.us-east-1.dacloud.com:13000/v3/ - name: ldap challenge: true login: true mappingMethod: claim provider: apiVersion: v1 kind: LDAPPasswordIdentityProvider attributes: id: - dn email: - mail name: - cn preferredUsername: - uid bindDN: "uid=binddn,cn=accounts,dc=example,dc=com" bindPassword: "superSecretPass" ca: /etc/ssl/certs/idm-ca.pem insecure: false url: "ldaps://idm.example.com/cn=accounts,dc=example,dc=com?uid" ...
3. Перезагрузить мастера OpenShift
Эта манифест конфигурации теперь позволяет кластеру OpenShift аутентифицировать с помощью либо Keystone Метод или LDAP метод Прежде чем это займет, все мастерам нужно перезапустить, поэтому запустите следующие команды на ваших мастерах OpenShift Masters:
$ sudo /usr/local/bin/master-restart api && sudo /usr/local/bin/master-restart controllers
После того, как мастера перезагружаются, вы сможете войти в OpenShift с любыми поставщиками личности!
Оригинал: «https://dev.to/kenmoini/keystone-ldap-and-multiple-identity-providers-in-openshift-1d9k»