openshift 容器云从入门到崩溃之四《配置用户验证》
1、配置本地用户
之前安装的时候选择了htpasswd验证方式
先创建用户
# htpasswd -c /etc/origin/master/htpasswd admin
授权为集群管理员
# oc adm policy add-cluster-role-to-user cluster-admin admin
登陆到oc
# oc login -u admin
2、配置服务账号
平时的管理可以用本地账号,但是如果用调用k8s接口虽然也可以使用本地账号TOKEN但是很快会过期,这时候就要用服务账号了
创建服务用户
# oc project default
# oc create sa api-admin
授权为集群管理员
# oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:default:api-admin
获取服务账号长期TOKEN
# oc get sa/api-admin --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n | base64 -d -
3、使用ldap验证用户
人多了账号不好管理,就需要接入ldap了
编辑/etc/origin/master/master-config.yaml
加入以下内容
oauthConfig:
assetPublicURL: https://www.oc.example.cn:8443/console/
grantConfig:
method: auto
identityProviders:
- challenge: true
login: true
mappingMethod: claim
name: Ldap_auth
provider:
apiVersion: v1
attributes:
email:
id:
- dn
name:
- cn
preferredUsername:
- uid
bindDN: uid=ldapreader,cn=users,dc=example,dc=com
bindPassword: 123456
insecure: true
kind: LDAPPasswordIdentityProvider
url: ldap://192.168.1.1:389/cn=users,dc=example,dc=com?uid
重启master以使更改生效
# master-restart api
# master-restart controllers
同步ldap账号
编辑/etc/origin/master/rfc2307_config.yaml
加入以下内容
kind: LDAPSyncConfig
apiVersion: v1
url: ldap://192.168.1.1:389
insecure: true
rfc2307:
groupsQuery:
baseDN: "cn=groups,dc=example,dc=com"
scope: sub
derefAliases: never
pageSize: 0
filter: (objectClass=posixGroup)
groupUIDAttribute: dn
groupNameAttributes: [ cn ]
groupMembershipAttributes: [ member ]
usersQuery:
baseDN: "dc=example,dc=com"
scope: sub
derefAliases: never
pageSize: 0
userUIDAttribute: dn
userNameAttributes: [ cn ]
tolerateMemberNotFoundErrors: false
tolerateMemberOutOfScopeErrors: false
同步命令
# oc adm groups sync --sync-config=/etc/origin/master/rfc2307_config.yaml --confirm
最好加入crontab定时同步
验证用户有没有被同步过来
# oc get group
openshift 容器云从入门到崩溃之四《配置用户验证》的更多相关文章
- openshift 容器云从入门到崩溃之八《日志聚合》
日志可以分为两部分 业务日志 业务日志一般是要长期保留的,以供以后有问题随时查询,elk是现在比较流行的日志方案,但是容器日志最好不要落地所以不能把logstash客户端包在容器里面 可以使用logs ...
- openshift 容器云从入门到崩溃之六《Source-to-Image》
上次说到了怎么在oc上面部署应用而且说道了怎么定义模板部署应用,也许你会奇怪那个我代码打包编译在哪一步,那就要说道oc的s2i流程了 下面是基本s2i流程 1.制作base-image镜像 要使用s2 ...
- openshift 容器云从入门到崩溃之五《部署应用》
1.配置部署模板 配置好用户权限之后就可以部署应用了oc常用的两种部署方式: Deploy Image方式 优点:这种方式是最简单的部署方式,你只需要有一个容器镜像就行了或者公开的docker hub ...
- openshift 容器云从入门到崩溃之二《准备环境》
openshift 从3.9开始就开始支持系统组件在容器里运行了,之前版本都是直接运行在操作系统上,名字也改了叫OKD 目前最新的稳定版本是3.11,所以就安装3.11版本 准备环境: 主机名 系统 ...
- openshift 容器云从入门到崩溃之一《容器能解决什么问题》
容器前时代 说到容器大多数人想到的就是docker,docker的迅速崛起使得使用容器的门槛大大降低了,我第一次接触docker还是14年,那时候作为一名运维部署应用还在大量使用虚拟化,从vmware ...
- openshift 容器云从入门到崩溃之九《容器监控-报警》
容器状态监控 主要是监控POD的状态包括重启.不健康等等这些k8s api 状态本身会报出来,在配合zabbix报警 导入zabbix模板关联上oc master主机 <?xml version ...
- openshift 容器云从入门到崩溃之七《数据持久化》
数据持久化常用的有两种: hostPath 挂载容器宿主机的本地文件夹,直接修改pod的配置 volumes: - hostPath: path: /data/logging-es type: '' ...
- openshift 容器云从入门到崩溃之三《安装openshift》
准备好环境,在安装之前请先了解openshift提供的ansible有大量的安装选项 文档地址:https://docs.okd.io/latest/install/configuring_inven ...
- openshift 容器云从入门到崩溃之十《容器监控-数据展示》
POD资源历史曲线(CPU.内存.网络) 监控方案heapster+hawkular-metrics+hawkular-cassandra heapster负责收集数据 hawkular-cassan ...
随机推荐
- Asp.Net MVC上传图片
mvc上传图片 [HttpPost] public JsonResult Upload() { ) { ) { HttpPostedFileBase file = Request.Files[]; ) ...
- 配置Windows 2008 R2 防火墙允许远程访问SQL Server 2008 R2
1.先修改 sql server 2008R2的端口号吧,1433经常成为别人入侵的端口,在sql server 配置管理器 -->sql server 网络配置-->MSSQLSERVE ...
- ng-repeat 的重复问题
如果ng-repeat绑定的数组中元素有重复, 如 $scope.data = [1,2,2] ng-repeat="value in data" //这种写法就会报错,ngRe ...
- 看雪CTF第八题
IDA查看Exports有3个TlsCallback 只有TlsCallback_2有用 其中创建6个线程用于代码动态解码smc 只有前三个线程有用 分别对check_part1,check_part ...
- Flume的监控参数
参考 flume的http监控参数说明 普通的flume启动命令 bin/flume-ng agent -c conf -f conf/flume-conf.properties -n agent - ...
- undo与redo
http://www.cnblogs.com/HondaHsu/p/3724815.html
- crt sqlplus 中文乱码解决方案:
1.确定数据库字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ----------------------- ...
- Golang etcd服务注册与发现
//sevice.go package discovery import ( "context" "errors" "sync" " ...
- javascript--面试题
(1)javaScript怎么清空数组? 如 var arrayList = ['a','b','c','d','e','f']; 怎么清空 arrayList 方法1:直接改变arrayList所指 ...
- adb 常用命名
adb是Android Debug Bridge的简称, 就是起到调试桥的作用,用来操作android设备 adb help (显示帮助信息) adb devices (获取设备列表及设备状态) ad ...