k8s-ocp-yaml
  • 简介
  • 微软云 Azure
    • 2022-10-18-Azure Portal创建k8s集群
    • 2022-10-30-Azure容器镜像仓库
    • 2023-03-08-基于Policy实现tag批量分配与继承
    • 2023-02-24-Terraform 安装与简单demo
    • 2023-03-10-Terraform 创建 private AKS
    • 2023-03-22-Terraform 离线环境使用
    • 2023-03-24-Terraform 踩坑记1-InternalOperationError
  • yaml文件书写注意项
    • 2018-05-29-yaml文件来源
    • 2018-05-29-多资源对象写法
  • kubernetes docs
    • 2020-04-24-kubectl-debug插件及openshift debug模式
    • 2020-04-23-k8s 利用subpathexpr处理日志落盘
    • 2020-04-14-metrics-server 轻量级监控
    • 2020-03-31-helm3 全新版本带来了什么
    • 2019-07-27-k8s openshift troubleshooting故障诊断
    • 2020-02-17-k8s CIS benchmark 安全基准测试
    • 2019-10-14-kubernetes 1.16 单机版在线安装
    • 2019-04-19-kubernetes 1.14 离线安装
    • 2018-11-20-kubernetes dashboard 免密登陆
    • 2018-04-07-kubernetes1.10 install offline
    • 2018-04-02-kubernetes1.9 install online
    • 2018-04-04-kubernetes1.9 HA install online
    • 2018-05-02-helm2 install
  • openshift docs
    • 2021-05-17-podman添加开机自启
    • 2020-06-23-openshift4.4 在线安装(包含allinone)静态ip
    • 2020-02-25-openshift 4.3 离线安装--DHCP方式
    • 2020-03-18-openshift4 operatorhub 离线部署
    • 2019-07-02-openshift origin 3.11 在线安装
    • 2019-09-24-openshift 对接AD域作为用户系统
    • 2019-11-13-openshift jenkins slave pod 自定义模板
  • 应用(deployment,rc,rs,volume,readiness,liveness)
    • 2018-05-31-deployment,rc,rs控制器
    • 2018-05-31-volume 容器存储
    • 2018-07-05-liveness readiness 健康检查
  • Openshift独有resource
    • 2019-08-08-template模板解读
  • docker相关文档
    • 2017-08-10-dockerfile 书写注意
    • 2017-08-10-dockerfile examples
    • 2017-07-19-dockerfile 命令
  • 容器云监控prometheus
    • 2019-10-22-安装部署与监控ingress-controller
    • 2020-05-30-组件功能介绍与监控数据来源
  • 中间件
    • 2020-03-30-kafka的安装与开启ACL权限控制
  • others
    • 2020-06-06-树莓派安装docker环境
  • Last part without title
Powered by GitBook
On this page
  • 准备工作
  • openshift 修改配置文件
  • 登入测试
  • 权限设置
  1. openshift docs

2019-09-24-openshift 对接AD域作为用户系统

配置openshift使用AD域控作为用户登入。AD使用的也是ldap协议,在配置上稍有差异,本文主要对配置及使用中遇到的问题做了一些记录。

准备工作

  1. openshift集群,测试过3.9和3.11

  2. AD域的地址,端口,bindDN,bindPassword

openshift 修改配置文件

修改每个master节点下/etc/origin/master/master-config.yaml (修改前先备份) 添加Active_Directory_auth 与原来htpasswd_auth 平级

  - name: "Active_Directory_auth"
    challenge: true
    login: true
    mappingMethod: claim
    provider:
      apiVersion: v1
      kind: LDAPPasswordIdentityProvider
      attributes:
        id:
        - sAMAccountName
        email:
        - mail
        name:
        - cn
        preferredUsername:
        - sAMAccountName
      bindDN: "caifeng@botest.com"
      bindPassword: "XXXXX#cai111"
      insecure: true
      url: "ldap://botest.com:389/dc=botest,dc=com?sAMAccountName?one?(&(objectClass=user))"

参数解读:(不能完全套用openshift对接ldap的参数,有几处不一样) name: "Active_Directory_auth" 这个是在登陆页面展示的名字,可自定义 kind: LDAPPasswordIdentityProvider ad也是用的ldap协议 id: preferredUsername: 此处和ldap不一样,不能写uid,写uid会导致无法在openshift页面添加用户 bindDN: caifeng@botest.com 这是申请的ad用户密码,普通用户应该就可以 bindPassword: "xxxxx#cai111" url: "ldap://botest.com:389/dc=botest,dc=com?sAMAccountName?one?(&(objectClass=user))" botest.com 是ad域的地址,389是端口 dc=botest,dc=com 域控制器的地址,如果要精准到组下面,前面还可以加ou= sAMAccountName 这个是ad中的用户名属性,如果是ldap此处就是uid objectClass=user 是检索条件,只查找用户

重启api服务,每个master都要做

# openshift 3.9
systemctl daemon-reload
systemctl restart atomic-openshift-master-api

# openshift 3.11, 因为3.11的api服务使用容器启动
cd /etc/origin/node/pods/
mv apiserver.yaml /tmp/
mv /tmp/apiserver.yaml .

登入测试

权限设置

如果是CN=caifeng11,DC=botest,DC=com 修改master-config ,修改 id:

  • sAMAccountName

    preferredUsername:

  • sAMAccountName

Previous2019-07-02-openshift origin 3.11 在线安装Next2019-11-13-openshift jenkins slave pod 自定义模板

Last updated 5 years ago

截图如下

登陆页面选Active_Directory_auth

输入可用的AD用户密码 test1 XXXXXX 注意用户后面不要带域名

因为登陆是使用的这个参数 sAMAccountName 在ldaoadmin工具中可以看到,这个参数就是用户名,不带后面的域名

登陆成功,接入ad只确保了用户能够登陆openshift,权限需要在openshift中配置

登陆成功后,在后台 oc get user 能看到用户,来源于ad

问题1: 如果改了master-config里的配置信息导致登陆不了或者提示"could not create user",后台把ad的用户删一下试试 oc delete user CN=caifeng11,DC=botest,DC=com

通过管理员把test1 添加到 当前project 先输入用户名 test1 再选择权限admin或者view, 点add 完成后点Done Editing

换成test1 登陆,可以看到赋权的project

问题2: 如果加了权限后,登陆后看不到project 后台oc get user 看下登陆的用户名称是否正常 应该是test1 这样,不应该是CN=caifeng11,DC=botest,DC=com 这种

openshift-AD-user1.png
openshift-AD-login3.png
openshift-AD-login-ok.png
openshift-AD-user-access1.png
openshift-AD.png
openshift-AD-login1.png
openshift-AD-login2.png
openshift-AD-user2.png
openshift-AD-user-access2.png
openshift-AD-user1.png