介绍OpenStackT版的组件之一keystone.docx
-
资源ID:73274397
资源大小:18.58KB
全文页数:7页
- 资源格式: DOCX
下载积分:14.8金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
介绍OpenStackT版的组件之一keystone.docx
介绍OpenStack(T版)的组件之一keystonekeystone介绍keystone相关的概念keystone的认证流程简述keystone的部署在ct上部署进入数据库rootct#mysql-uroot-pEnterpassword:WelcometotheMariaDBmonitor.Commandsendwith;org.YourMariaDBconnectionidis17Serverversion:10.3.20-MariaDBMariaDBServerCopyright(c)2000,2018,Oracle,MariaDBCorporationAbandothers.Typehelp;orhforhelp.Typectoclearthecurrentinputstatement.MariaDB(none)创立一个keystone库并给keystone用户提权然后刷新权限MariaDB(none)createdatabasekeystone;QueryOK,1rowaffected(0.001sec)MariaDB(none)GRANTALLPRIVILEGESONkeystone.*TOkeystonelocalhostIDENTIFIEDBYKEYSTONE_DBPASS;QueryOK,0rowsaffected(0.001sec)MariaDB(none)GRANTALLPRIVILEGESONkeystone.*TOkeystone%IDENTIFIEDBYKEYSTONE_DBPASS;QueryOK,0rowsaffected(0.001sec)MariaDB(none)flushprivileges;QueryOK,0rowsaffected(0.001sec)下载keystone、d、mod_wsgirootct#yum-yinstallopenstack-keystonedmod_wsgi/mod_wsgi包的作用是让apache可以代理python程序的组件openstack的各个组件包括API都是用python写的但访问的是apacheapache会把恳求转发给python去处理,这些包只安装在controler节点先拷贝一份keystone的配置文件然后过滤掉其他的只留下模块名写入原来的配置文件中rootct#cp-a/etc/keystone/keystone.conf,.bakrootct#grep-Ev$|#/etc/keystone/keystone.conf.bak/etc/keystone/keystone.confrootct#cat/etc/keystone/keystone.confDEFAULTapplication_credentialassignmentauthcachecatalogcorscredentialdatabasedomain_configendpoint_filterendpoint_policyeventlet_serverfederationfernet_receiptsfernet_tokenshealthcheckidentityidentity_mappingjwt_tokensldapmemcacheoauth1oslo_messaging_amqposlo_messaging_kafkaoslo_messaging_notificationsoslo_messaging_rabbitoslo_middlewareoslo_policypolicyprofilerreceiptresourcerevokerolesamlsecurity_complianceshadow_userstokentokenless_authtotptrustunified_limitwsgi然后向里面传递参数rootct#openstack-config-set/etc/keystone/keystone.confdatabaseconnectionmysqlpymysql:/keystone:KEYSTONE_DBPASSct/keystone/通过pymysql模块访问mysql指定用户名密码、数据库的域名、数据库名rootct#openstack-config-set/etc/keystone/keystone.conftokenproviderfernet/指定token的提供者提供者就是keystone自己本身Fernet一种平安的消息传递格式rootct#cat/etc/keystone/keystone.confdatabaseconnectionmysqlpymysql:/keystone:KEYSTONE_DBPASSct/keystonetokenproviderfernet然后初始化认证效劳数据库rootct#su-s/bin/sh-ckeystone-managedb_synckeystone再初始化分人体密钥存储库以下命令会生成两个密钥生成的密钥放于/etc/keystone/目录下用于加密数据rootct#keystone-managefernet_setup-keystone-userkeystone-keystone-groupkeystonerootct#keystone-managecredential_setup-keystone-userkeystone-keystone-groupkeystone配置bootstrap身份认证效劳此步骤是初始化openstack会把openstack的admin用户的信息写入到mysql的user表中和url等其他信息写入到mysql的相关表中rootct#keystone-managebootstrap-bootstrap-passwordADMIN_PASS-bootstrap-admin-url:/ct:5000/v3/-bootstrap-internal-url:/ct:5000/v3/-bootstrap-public-url:/ct:5000/v3/-bootstrap-region-idRegionOne/指定一个区域名称/admin-url是管理网用于管理虚拟机的扩容或者删除业务量大时会造成无法通过openstack的控制端扩容虚拟机所以需要一个管理网(如公有云内部openstack管理网络)/internal-url是内部网络进展数据传输如虚拟机访问存储以及数据库、zookeeper等中间件这个网络是不能被外网访问的只能用于企业内部访问/public-url是共有网络可以给用户访问的(如公有云)/5000端口是keystone提供认证的端口/多节点的话需要在haproxy效劳器上添加一条listen各种网络的url需要指定controler节点的域名一般是haproxy的vip的域名高可用形式然后配置d效劳器rootct#echoServerNamecontroller/etc/d/conf/d.conf创立配置文件rootct#ln-s/usr/share/keystone/wsgi-keystone.conf/etc/d/conf.d/安装完mod_wsgi包后会生成wsgi-keystone.conf这个文件文件中配置了虚拟主机及监听了5000端口mod_wsgi就是python的网关然后开启效劳rootct#systemctlenabledCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/d.serviceto/usr/lib/systemd/system/d.service.rootct#systemctlstartdrootct#netstat-antp|grep80tcp00192.168.100.1:23800.0.0.0:*LISTEN37679/etcdtcp00127.0.0.1:250.0.0.0:*LISTEN9805/mastertcp600:80:*LISTEN39621/dtcp600:1:25:*LISTEN9805/master配置管理员账户的环境变量这些环境变量用于创立角色以及工程使用但是创立角色以及工程需要有认证信息所以通过环境变量声明用户名以及密码等认证信息欺骗openstack已经登录且通过认证这样就可以创立工程以及角色也就是把admin用户的验证信息通过声明环境变量的方式传递给openstack进展验证实现针对openstack的非交互式操作rootct#cat/.bashrcEOFexportOS_USERNAMEadmin/控制台登陆用户名exportOS_PASSWORDADMIN_PASS/控制台登陆密码exportOS_PROJECT_NAMEadminexportOS_USER_DOMAIN_NAMEDefaultexportOS_PROJECT_DOMAIN_NAMEDefaultexportOS_AUTH_URL:/ct:5000/v3exportOS_IDENTITY_API_VERSION3exportOS_IMAGE_API_VERSION2然后加载文件rootct#source/.bashrc通过配置环境变量可以使用openstack命令进展一些操作rootct#openstackuserlist-|ID|Name|-|207beb31d1a34ead95a25a4df847500e|admin|-创立OpenStack域、工程、用户以及角色rootct#openstackprojectcreate-domaindefault-descriptionServiceProjectservice-|Field|Value|-|description|ServiceProject|domain_id|default|enabled|True|id|8db5b6617b954d80b3c202063e76ca4f|is_domain|False|name|service|options|parent_id|default|tags|-创立角色并查看rootct#openstackrolecreateuser-|Field|Value|-|description|None|domain_id|None|id|3d6223ec9955431b88f2af47b09425ba|name|user|options|-rootct#openstackrolelist-|ID|Name|-|3d6223ec9955431b88f2af47b09425ba|user|6ea78d6d18344aed9e86ba615bdc787d|member|98472db13fb040f6b6bf6f2e295bdebc|reader|a294e368d55149a7bcc0e2c6ae833656|admin|-/admin为管理员/member为租户/user用户查看是否可以不指定密码就可以获取到token信息rootct#openstacktokenissue-|Field|Value|-|expires|2021-08-24T15:47:410000|id|gAAAAABhJQaN7F-3rxqs9lzuWeUhAAdiOAPA5rJJFwE93ZBGsk4WlTSCjg8Tag7Z-_BG3JIk_5AJWeAxtbg85DzrJwtRN8bq3UoLyKFfPo4VHp9B89dgL2obbzzw1LhiPZkuh_4lK5twDkph8bgZKlbMJQ_2ggUhC_yNA3I-CPjnUQWpxARzoF8|project_id|2b924d5597424a75b3ff5283c980b44c|user_id|207beb31d1a34ead95a25a4df847500e|-小结Keystone组件是作为OpenStack集群中统一认证、受权的模块核心功能是针对于User用户、Tenant租户、Role角色、Token令牌/凭证的控制User使用openstack的用户Tenant租户,可以理解为一个人、工程或组织拥有的资源的合集Role角色用于分配操作的权限。角色可以被指定给用户使得该用户获得角色对应的操作权限Token指的是一串比特值或字符串用来作为访问资源的记号