OpenStack安装Keystone本文主要记录如何安装openstack第一个组件keystone认证授权组件。Centos7做实验https://docs.openstack.org/ke...2.KeyStone概述Keystone是openstack系统下认证、授权、目录服务管理的重要组件。Keystone通常是我们第一次接触openstack的一个组件,可以管理其他openstack服务。每个服务可以有一个或多个端点,端点分为3种类型:admin、internal和public。我们也可以大致知道是其他服务通过名字暴露的终端地址用于不可达的场景,public一般是external,internal一般是服务之间的通信地址,admin一般是管理员操作的地址,endpoint具有区域类型,可用于端点的局部划分。我们默认使用RegionOne。详见https://docs.openstack.org/ke...3.安装OpenStack包之前,需要准备一个centos7系统升级所有节点上的包:yumupgrade注意:如果升级过程中包含新内核,重启你的主机以激活它。为你的版本安装合适的OpenStack客户端。对于CentOS7和RHEL7#yuminstallpython-openstackclient对于CentOS8和RHEL8#yuminstallpython3-openstackclientRHEL和CentOS默认启用SELinuxLT。安装openstack-selinux包自动管理OpenStack服务的安全策略:#yuminstallopenstack-selinux或手动关闭selnux4.NetworkTimeProtocol(NTP)(required)openstack各个组件之间需要频繁调用,所以它们的时间必须一致,所以必须处理这个NTP。centos7已经推荐使用chrony了,我看openstack的官方文档也是这样操作的。4.1安装chronyyum-yinstallchrony4.2编辑/etc/chrony.conf#Comment这4#server0.centos.pool.ntp.orgiburst#server1.centos.pool.ntp.orgiburst#server2.centos.pool.ntp.orgiburst#server3.centos.pool.ntp.orgiburst#添加阿里云ntp服务器serverntp1.aliyun.comiburst#允许同步的网段是这个。我根据情况配置allow192.168.56.0/244.3。注意chronyd.servicesystemctlenablechronyd.servicesystemctlstartchronyd.service4.4执行同步chronycsources-v4.5其他节点也需要安装chronynodes其他节点可以直接同步controller节点上面的server192.168.56.30注意:由于chrony使用udp端口123和323,注意关闭防火墙,或者端口打开!5、安装mariadb由于keystone中需要存储相关的服务信息,所以需要安装mariadb,不过它也支持其他5.1安装包ages:安装mariadb包#yuminstallmariadbmariadb-serverpython2-PyMySQL5.2编辑/etc/my.cnf.d/openstack.cnf创建并编辑/etc/my.cnf.d/openstack.cnf文件(备份现有配置/etc/my.cnf.d/中的文件)并完成以下操作:创建一个[mysqld]部分,并将bind-address键设置为控制器节点的管理IP地址,以允许其他节点通过管理网络。设置附加键以启用有用的选项和UTF-8字符集:[mysqld]bind-address=192.168.56.30default-storage-engine=innodbinnodb_file_per_table=onmax_connections=4096collat??ion-server=utf8_general_cicharacter-fset注意在/etc/下编辑my.cnf.d/openstack.cnf然后bind-address可以指定为controller节点ip5.3startmariadbservicesystemctlenablemariadb.servicesystemctlstartmariadb.service5.4securitysettingwizardmysql_secure_installation#step6.安装rabbitmq(这个这篇文章是可选的,因为本文只安装了keystone)OpenStack使用消息队列来协调服务之间的操作和状态信息消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务,包括RabbitMQ、Qpid和ZeroMQ。6.1安装rabbitmq-serveryuminstallrabbitmq-server6.2启动systemctlenablerabbitmq-server.servicesystemctlstartrabbitmq-server.service6.3配置openstackrabbitmquserrabbitmqctladd_useropenstackRABBIT_PASS#注意替换RABBIT_PASS密码6.4permitcc配置,写入,for读取openstack用户:rabbitmqctlset_permissionsopenstack".*"".*"".*"7.安装Keystone并配置官网地址:https://docs.openstack.org/ke...7.1配置mysql上面有已经安装了mariadb服务,这里需要开始配置在安装和配置Identity服务之前,必须先创建一个数据库。使用root用户登录mysql:$mysql-uroot-pcreatekeystonedatabase:MariaDB[(none)]>CREATEDATABASEkeystone;Grantproperaccesstothekeystonedatabase:MariaDB[(none)]>GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'localhost'\IDENTIFIEDBY'KEYSTONE_DBPASS';MariaDB[(none)]>GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'\IDENTIFIEDBY'KEYSTONE_DBPASS';替换KEYSTONE_D7.2安装keystone组件7.2.1安装keystoneyuminstallopenstack-keystonehttpdmod_wsgi安装过程报错:Error:Package:python2-qpid-proton-0.22.0-1.el7.x86_64(centos-openstack-queens)要求:qpid-proton-c(x86-64)=0.22.0-1.el7可用:qpid-proton-c-0.14.0-2.el7.x86_64(额外)qpid-proton-c(x86-64)=0.14.0-2.el7可用:qpid-质子-c-0.17.0-4.el7.x86_64(centos-openstack-queens)qpid-质子-c(x86-64)=0.17.0-4。el7Available:qpid-proton-c-0.22.0-1.el7.x86_64(centos-openstack-queens)qpid-proton-c(x86-64)=0.22.0-1.el7Installing:qpid-proton-c-0.35.0-1.el7.x86_64(epel)qpid-proton-c(x86-64)=0.35.0-1.el7你可以尝试使用--skip-broken来解决这个问题你可以尝试运行:rpm-Va--nofiles--nodigest兼容性错误导致的包冲突可以单独选择需要的版本安装`解决方法:yuminstall-ypython2-qpid-proton-0.22.0-1.el7.x86_64安装完成后/etc/Keyston存在7??.2.2编辑/etc/keystone/keystone.conf连接到mysql[database]#...connection=mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone注意controller是你本地ip,可以在/etc/hosts配置7.2.3tokenprovider[token]#...provider=fernet7.2.4同步keystonedbsu-s/bin/sh-c“keystone-managedb_sync”keystone7.2.5初始化fernetkeykeystone-managefernet_setup--keystone-userkeystone--keystone-groupkeystonekeystone-managecredential_setup--keystone-userkeystone--keystone-groupkeystone7.2.6引导身份服务:注意替换ADMIN_PASSkeystone-managebootstrap--bootstrap-passwordADMIN_PASS\--bootstrap-admin-urlhttp://controller:5000/v3/\--bootstrap-internal-urlhttp://controller:5000/v3/\--bootstrap-public-urlhttp://controller:5000/v3/\--bootstrap-region-idRegionOne7.3配置ApacheHttp服务7.3.1编辑/etc/httpd/conf/httpd.confServerNamecontroller7.3.2创建ln-s创建/usr/share/keystone/wsgi-keystone.conf文件的链接:ln-s/usr/share/keystone/wsgi-keystone.conf/etc/httpd/conf.d/7.3.3启动httpdsystemctl启用httpd。服务系统ctlstarthttpd.service7.3.4将账号暴露给环境变量,以便能够执行openstack命令-管理引导程序:/controller:5000/v3exportOS_IDENTITY_API_VERSION=38。创建域项目、用户、角色等8.1创建域openstackdomaincreate--description"AnExampleDomain"example8.2创建项目openstackprojectcreate--domaindefault--description"ServiceProject"myservice8.3创建角色associationuser#创建用户openstackusercreate--domaindefault--passwordADMIN_PASSmyuser#创建角色openstackrolecreatemyrole#为服务项目指定用户角色openstackroleadd--projectservice--usermyusermyrole#为服务项目指定用户角色9.验证KeyStone服务9.1验证管理员用户unsetOS_AUTH_URLOS_PASSWORDopenstack--os-auth-urlhttp://controller:5000/v3--os-project-domain-nameDefault--os-user-domain-nameDefault--os-project-nameadmin--os-用户名admintokenissue9.2验证myuser用户openstack--os-auth-urlhttp://controller:5000/v3\--os-project-domain-name默认--os-user-domain-name默认\--os-project-namemyservice--os-usernamemyusertokenissue至此openstackkeystone组件已经安装完毕。综上所述,本文主要记录openstackqueens版keystone组件的安装过程。被领导催着学openstack也是无奈。欢迎大家访问个人博客JohnnyCabin
