openstack成長之旅 - 4 keystone的介紹及安裝

    今天就開始來說講安裝openstack中的組件,那麼就從keystone這個安全認證服務來安裝吧,固然,在安裝前都是有一些準備工做要作的。python

    首先來講下keystone是幹啥的吧。mysql

    其實在早起的openstack中是沒有keystone這個組件的,一些安全認證例如,用戶、消息、API調用的認證等都是在Nova這個模塊中的。sql

    可是在後來的開發中,因爲各類各樣的模塊加入到openstack中,安全認證涉及到的方面就更廣了,如:用戶登錄、用戶消息傳遞、模塊消息通訊、服務註冊等各不相同的認證,處理這些不一樣的安全認證變的也愈來愈複雜了,所以須要一個模塊來管理這些不一樣的安全認證,keystone就應運而生了。數據庫

    不管是公有云仍是私有云,都會開放接口給衆多用戶,keystone在對衆多用戶進行認證的同時,有對用戶的權限進行了限制,keystone會保證openstack的服務的正常註冊,同時各個服務傳遞消息的口令驗證也是由keystone來完成的。vim

     Keystone全部的數據都是存放在數據庫中,本文將以mysql爲實例來說解,mysql安裝爲試驗性質,並不講解各類複雜的方法,大型環境的安裝請參考mysql更專業的文檔。centos

    本文使用centos7來安裝keystone,特別提示:最好在keystone服務器上不要安裝別的組件,不然容易出現衝突,請根據我的環境來定。安全

    1. Mysql安裝服務器

       # 下載mysqlrepo源dom

         wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmcurl

       # 安裝mysql-community-release-el7-5.noarch.rpm包  

         rpm -ivh mysql-community-release-el7-5.noarch.rpm

         安裝這個包後,會得到兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

       # 設置mysql  root密碼

         use mysql

         update user set password=password('123456') where user='root';

         exit;

       # 設置iptables 防火牆

         vim /etc/sysconfig/iptables  #添加一下內容

         -----------------------------------------------------------------------------

         -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

         -----------------------------------------------------------------------------

         service iptables restart    #重啓下iptables

    2. Keystone安裝配置

       # 建立數據庫

         mysql -u root –p123456

         CREATE DATABASE keystone;

         GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';   #建立keystone用戶,密碼是keystone

         GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';

       # 安裝keystone 所須要的組件

         yum -y install openstack-keystone python-keystoneclient

       # 修改keystone.conf配置文件

         vim /etc/keystone/keystone.conf

         -----------------------------------------------------------------------------

         dmin_token = 12345678  #這裏能夠隨意寫,可是須要記住

         verbose = True

         [database]connection = mysql://keystone:keystone@controller/keystone

         -----------------------------------------------------------------------------

       # 同步數據庫

         su -s /bin/sh -c "keystone-manage db_sync" keystone

       # 重啓服務

         systemctl enable openstack-keystone.service

         systemctl start openstack-keystone.service

       # 建立tenants, users, 和roles

         keystone tenant-create --name domain--description "Admin Tenant"

         keystone user-create --name domain--pass users --email lanyulei@jiandan100.cn

         keystone role-create --name domain

       # 受權

         keystone user-role-add --tenant domain--user domain --role domain

       # 建立services

         keystone tenant-create --name service --description "Service Tenant"

       # 建立service entity 和API endpoint

         keystone service-create --name keystone --type identity \--description "OpenStack Identity"

         keystone endpoint-create \--service-id $(keystone service-list | awk '/ identity / {print $2}') \--publicurl http://controller:5000/v2.0 \--internalurl http://controller:5000/v2.0 \--adminurl http://controller:35357/v2.0 \--region regionOne

       # 驗證操做

         keystone user-list # 正常顯示就說明安裝成功了


    本文都是使用最簡潔的安裝方式安裝的,請你們根據公司內部需求自行規劃,那麼keystone就算安裝完成了,明天會給你們講下Swift這個重要組件的簡介,安裝及加入到keystone註冊服務中,後面的更精彩,請關注我啊。

相關文章
相關標籤/搜索