This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.7. 配置 GitLab 身份提供程序
				配置 gitlab 身份提供程序,使用 GitLab.com 或任何其他 GitLab 实例作为身份提供程序。如果使用 GitLab 版本 7.7.0 到 11.0,您可以使用 OAuth 集成进行连接。如果使用 GitLab 版本 11.1 或更高版本,您可以使用 OpenID Connect (OIDC) 进行连接,而不使用 OAuth。
			
4.7.1. 关于 OpenShift Container Platform 中的身份提供程序
					默认情况下,集群中只有 kubeadmin 用户。要指定身份提供程序,您必须创建一个自定义资源(CR) 来描述该身份提供程序并把它添加到集群中。
				
						OpenShift Container Platform 用户名不能包括 /、: 和 %。
					
4.7.2. 创建 secret
					身份提供程序使用 openshift-config 命名空间中的 OpenShift Container Platform Secret 对象来包含客户端 secret、客户端证书和密钥。
				
- 您可以使用以下命令,定义一个包含字符串的 OpenShift Container Platform - Secret对象。- oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config - $ oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 您可以使用以下命令,定义一个文件(如证书文件)内容的 OpenShift Container Platform - Secret。- oc create secret generic <secret_name> --from-file=/path/to/file -n openshift-config - $ oc create secret generic <secret_name> --from-file=/path/to/file -n openshift-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.7.3. 创建配置映射
					身份提供程序使用 openshift-config 命名空间中的 OpenShift Container Platform ConfigMap 对象来包含证书颁发机构捆绑包。主要用于包含身份提供程序所需的证书捆绑包。
				
- 使用以下命令,定义包含证书颁发机构的 OpenShift Container Platform - ConfigMap。证书颁发机构必须存储在- ConfigMap对象的- ca.crt键中。- oc create configmap ca-config-map --from-file=ca.crt=/path/to/ca -n openshift-config - $ oc create configmap ca-config-map --from-file=ca.crt=/path/to/ca -n openshift-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.7.4. GitLab CR 示例
以下自定义资源 (CR) 显示 GitLab 身份提供程序的参数和可接受值。
GitLab CR
- 1
- 此提供程序名称作为前缀放在 GitLab 数字用户 ID 前,以此组成身份名称。它还可用来构建回调 URL。
- 2
- 控制如何在此提供程序的身份和User对象之间建立映射。
- 3
- 注册的 GitLab OAuth 应用程序的客户端 ID 。应用程序必须配置有回调 URLhttps://oauth-openshift.apps.<cluster-name>.<cluster-domain>/oauth2callback/<idp-provider-name>。
- 4
- 对包含 GitLab 发布的客户端 Secret 的 OpenShift Container PlatformSecret的引用。
- 5
- GitLab 提供程序的主机 URL。这可以是https://gitlab.com/或其他自托管 GitLab 实例。
- 6
- 可选:对包含 PEM 编码证书颁发机构捆绑包的 OpenShift Container PlatformConfigMap的引用,以用于验证所配置 URL 的服务器证书。
4.7.5. 将身份提供程序添加到集群中
安装集群之后,请在其中添加一个身份提供程序,以便您的用户可以进行身份验证。
先决条件
- 创建 OpenShift Container Platform 集群。
- 为身份提供程序创建自定义资源(CR)。
- 必须已经以管理员身份登录。
流程
- 应用定义的 CR: - oc apply -f </path/to/CR> - $ oc apply -f </path/to/CR>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 如果一个 CR 不存在, - oc apply会创建一个新的 CR,并可能会触发以下警告- Warning: oc apply should be used on resources created by either oc create --save-config or oc apply。在这种情况下,您可以忽略这个警告。
- 以来自身份提供程序的用户身份登录集群,并在提示时输入密码。 - oc login -u <username> - $ oc login -u <username>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 确认用户登录成功,并显示用户名。 - oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow