1. 操作freeIPA
- 准备Service Account
在开始把FreeIPA接进Rancher之前,Rancher要求先在IPA里面建立一个Service Account来提供Rancher查询Domain下的使用者和群组,但建立Service Account的步骤无法从FreeIPA Web界面执行,必须手动把这个Service Account 加入LDAP。因此,我们首先到IPA master节点上执行下列命令:(假设 IPA domain为www.example.com)。
# cat - <<-EOF > add-srvacct-rancher.ldif
dn: uid=rancher,cn=sysaccounts,cn=etc,dc=example,dc=com
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: rancher
userPassword: 2Brq/Ux4rs:2Dnt3#%Rx
nsIdleTimeout: 0
EOF
# ldapmodify -x -D 'cn=Directory Manager' -W < add-srvacct-rancher.ldif
Enter LDAP Password: # Enter Dircetory Manager password
adding new entry "uid=rancher,cn=sysaccounts,cn=etc,dc=example,dc=com"
其中,dc=example、dc=com记得换成自己的IPA domain,以及记下产生的userPassword(笔者是使用密码生成器生成),这会在Rancher设定中用到。
2. 设置Rancher
首先,登录有administrator权限的rancher账户,并按照以下步骤设置FreeIPA Authentication。
-
在Global域中,选择Security —> Authentication
-
选择FreeIPA,填入FreeIPA服务器信息
-
在Service Account中填入上面建立的Service Account
Service Account Distinguished Name记得换成IPA domain ,uid=rancher, cn=sysaccounts, cn=etc, dc=example, dc=com
,Service Account Password填入刚刚建立的userPassword值。
- 填入使用者的相关信息
User Search Base(記得換成 IPA domain)
cn=users,cn=accounts,dc=example,dc=com
Group Search Base(記得换成 IPA domain)
cn=groups,cn=accounts,dc=example,dc=com
- 在Customize Schema部分,调整使用者的账号信息
Username Attribute(使用者显示名称),displayName,Login Attribute(使用者账号),uid,Search Attribute(在搜寻使用者时,会去寻找的拦位,预设是姓名和账号)
uid
- 在Test and enable authentication中,填入与当前登录rancher账号对应的FreeIPA账号信息
根据Rancher的说明,在这里填入的FreeIPA账号(external principal)会自对对应到目前已登录的用来设定freeipa的账号(local principal),并在设定成功之后,自动改用该FreeIPA账号(external principal)登录Rancher。
- 在设定完成后,点击
Authenticate with FreeIPA
,即可完成设定