OpenStack 安裝 Keystone

OpenStack 安裝 Keystone

本篇主要記錄一下 如何安裝 openstack的 第一個(gè)組件 keystone 認(rèn)證授權(quán)組件

openstack 版本 我選的是queens 版本

image-20220514133245410

1.OpenStack 官網(wǎng)

看了一下官網(wǎng) 文檔還是蠻全的,我采用 centos7 來(lái)做實(shí)驗(yàn)

https://docs.openstack.org/keystone/queens/install/

image-20220516102055644

2.KeyStone 概述

Keystone 是openstack 體系下面的認(rèn)證、授權(quán)柒室、和 目錄服務(wù)管理 的一個(gè)重要的組件胎食,keystone 通常是我們接觸openstack 的第一個(gè)組件仙辟,它可以管理其他openstack service ,每個(gè)服務(wù)都可以有一個(gè)或者多個(gè)endpoints鳄梅,并且 endpoint 被分為 3種類型: admin 叠国、internal、public戴尸, 通過(guò)名稱我們也能大概知道 就是其他服務(wù)所暴露的終端地址 給不通場(chǎng)景使用粟焊,public 一般是對(duì)外的 internal 一般是服務(wù)之間的通信地址,admin 一般管理員操作的地址孙蒙,并且 endpoint 具有 region 類型项棠,既可以對(duì) endpoint 進(jìn)行局域劃分 ,我們默認(rèn)使用RegionOne

具體看 https://docs.openstack.org/keystone/queens/install/

3.安裝 OpenStack packages

前置 需要準(zhǔn)備一個(gè) centos7 系統(tǒng)

  1. Upgrade the packages on all nodes:

    yum upgrade
    

    注意:If the upgrade process includes a new kernel, reboot your host to activate it.

  2. Install the appropriate OpenStack client for your version.

    For CentOS 7 and RHEL 7

    # yum install python-openstackclient
    

    For CentOS 8 and RHEL 8

    # yum install python3-openstackclient
    
  3. RHEL and CentOS enable SELinux by default. Install the openstack-selinux package to automatically manage security policies for OpenStack services:

    # yum install openstack-selinux
    
        或者通過(guò)手動(dòng)關(guān)閉selnux    
    

4.Network Time Protocol (NTP ) (必須

openstack 各個(gè)組件之間 需要進(jìn)行頻繁的調(diào)用挎峦,所以他們的 時(shí)間一點(diǎn)要保持一致沾乘,所以這個(gè) NTP 必須要進(jìn)行處理

centos7 已經(jīng)推薦使用 chrony 了 ,我看 openstack 官方文檔也是這樣操作的

4.1 安裝 chrony

yum -y install chrony

4.2 編輯/etc/chrony.conf

#注釋 這4個(gè)
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#添加阿里云 ntp 服務(wù)器
server ntp1.aliyun.com iburst 

#允許同步的網(wǎng)段 我的是這個(gè)浑测,根據(jù)情況自己配置
allow 192.168.56.0/24

4.3 啟動(dòng) chrony

注意是 chronyd.service

systemctl enable chronyd.service
systemctl start chronyd.service

4.4 執(zhí)行同步 chronyc sources -v

image-20220516104845674

4.5 其他nodes 節(jié)點(diǎn)也需要安裝 chrony

nodes 其他節(jié)點(diǎn) 直接同步 上面的 controller節(jié)點(diǎn)即可

server 192.168.56.30  
image-20220516105155865

注意: 由于chrony 使用 udp 端口 123 和 323 翅阵,所以 注意關(guān)閉 防火墻,或者把端口打開迁央!

5. 安裝 mariadb

由于 keystone 中相關(guān)的 services 信息 都需要存儲(chǔ)的地方 掷匠,所以 需要安裝 mariadb ,不過(guò)也支持其他

5.1 Install the packages: 安裝 mariadb 包

# yum install mariadb mariadb-server python2-PyMySQL

5.2 編輯 /etc/my.cnf.d/openstack.cnf

Create and edit the /etc/my.cnf.d/openstack.cnf file (backup existing configuration files in /etc/my.cnf.d/ if needed) and complete the following actions:

  • Create a [mysqld] section, and set the bind-address key to the management IP address of the controller node to enable access by other nodes via the management network. Set additional keys to enable useful options and the UTF-8 character set:

    [mysqld]
    bind-address = 192.168.56.30
    
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
    
    注意 在  `/etc/my.cnf.d/openstack.cnf`  下面進(jìn)行編輯 然后 bind-address 可以指定為 controller 節(jié)點(diǎn)ip
    

5.3 啟動(dòng) mariadb 服務(wù)

systemctl enable mariadb.service
systemctl start mariadb.service

5.4 安全設(shè)置向?qū)?/h4>
mysql_secure_installation  #一步步配置即可
image-20220515104136096

6.安裝 rabbitmq (本篇可選岖圈,由于本篇只是安裝keystone)

OpenStack 使用消息隊(duì)列來(lái)協(xié)調(diào)服務(wù)之間的操作和狀態(tài)信息讹语。消息隊(duì)列服務(wù)通常在控制器節(jié)點(diǎn)上運(yùn)行。OpenStack支持多種消息隊(duì)列服務(wù)蜂科,包括RabbitMQ顽决,Qpid和ZeroMQ。

6.1 安裝 rabbitmq-server

yum install rabbitmq-server

6.2 啟動(dòng)

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

6.3 配置 openstack rabiitmq 用戶

rabbitmqctl add_user openstack RABBIT_PASS #注意替換 RABBIT_PASS 密碼

6.4 Permit configuration, write, and read access for the openstack user:

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

7. 安裝 Keystone 和 必要配置

官網(wǎng)地址:https://docs.openstack.org/keystone/queens/install/index-rdo.html

image-20220516111117222

7.1 配置 mysql

上面已經(jīng)安裝了 mariadb 服務(wù)导匣,這里需要開始對(duì)它進(jìn)行配置

Before you install and configure the Identity service, you must create a database.

  1. 使用root用戶登錄 mysql :

    $ mysql -u root -p
    
  2. 創(chuàng)建 keystone database:

    MariaDB [(none)]> CREATE DATABASE keystone;
    
  1. Grant proper access to the keystone database:

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
    
    Replace `KEYSTONE_DBPASS` with a suitable password.
    
image-20220516061832061

7.2 安裝 keystone 組件

7.2.1 安裝 keystone
yum install openstack-keystone httpd mod_wsgi
安裝過(guò)程中的報(bào)錯(cuò):

Error: Package: python2-qpid-proton-0.22.0-1.el7.x86_64 (centos-openstack-queens)
Requires: qpid-proton-c(x86-64) = 0.22.0-1.el7
Available: qpid-proton-c-0.14.0-2.el7.x86_64 (extras)
qpid-proton-c(x86-64) = 0.14.0-2.el7
Available: qpid-proton-c-0.17.0-4.el7.x86_64 (centos-openstack-queens)
qpid-proton-c(x86-64) = 0.17.0-4.el7
Available: qpid-proton-c-0.22.0-1.el7.x86_64 (centos-openstack-queens)
qpid-proton-c(x86-64) = 0.22.0-1.el7
Installing: qpid-proton-c-0.35.0-1.el7.x86_64 (epel)
qpid-proton-c(x86-64) = 0.35.0-1.el7
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

包沖突導(dǎo)致的兼容錯(cuò)誤單獨(dú)選定需要的版本進(jìn)行安裝即可

`解決方案:yum install -y python2-qpid-proton-0.22.0-1.el7.x86_64

安裝完成后 /etc/keyston 就存在了

image-20220516062338960
7.2.2 編輯 /etc/keystone/keystone.conf 連接 mysql
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone 

注意 controller 是你的 本機(jī)ip 可以配置掉 /etc/hosts中

7.2.3 token provider
[token]
# ...
provider = fernet
7.2.4 同步 keystone db
su -s /bin/sh -c "keystone-manage db_sync" keystone
7.2.5 初始化 fernet key
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
7.2.6 Bootstrap the Identity service:

注意替換 ADMIN_PASS

keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
  --bootstrap-admin-url http://controller:5000/v3/ \
  --bootstrap-internal-url http://controller:5000/v3/ \
  --bootstrap-public-url http://controller:5000/v3/ \
  --bootstrap-region-id RegionOne

7.3 配置 Apache Http 服務(wù)

7.3.1 編輯 /etc/httpd/conf/httpd.conf
ServerName controller
7.3.2 創(chuàng)建 ln -s

Create a link to the /usr/share/keystone/wsgi-keystone.conf file:

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
7.3.3 啟動(dòng) httpd
systemctl enable httpd.service
systemctl start httpd.service
7.3.4 暴露賬號(hào)到環(huán)境變量中

為了可以執(zhí)行 openstack 命令

export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS #這個(gè)是上面 keystone-manage bootstrap 指定的 
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

8.創(chuàng)建域 項(xiàng)目才菠、用戶、角色 等

8.1 創(chuàng)建 域

openstack domain create --description "An Example Domain" example

8.2 創(chuàng)建項(xiàng)目

openstack project create --domain default --description "Service Project" myservice

8.3 創(chuàng)建角色 關(guān)聯(lián)用戶

#創(chuàng)建 用戶
openstack user create --domain default   --password ADMIN_PASS myuser

#創(chuàng)建 角色
openstack role create myrole

#為servce 項(xiàng)目指定用戶角色
openstack role add --project service --user myuser myrole #為service項(xiàng)目指定用戶角色

image-20220516112741954

9.驗(yàn)證 KeyStone 服務(wù)

9.1 驗(yàn)證 admin 用戶

unset OS_AUTH_URL OS_PASSWORD
openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue 
image-20220516113237735

9.2 驗(yàn)證 myuser 用戶

openstack --os-auth-url http://controller:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name myservice --os-username myuser token issue
image-20220516113522940

至此 openstack keystone 組件已經(jīng)安裝完成了贡定。赋访。

總結(jié)

本篇主要記錄一下 openstack queens 版本 keystone 組件的安裝過(guò)程 被領(lǐng)導(dǎo)催促要學(xué)習(xí)openstack 我也很無(wú)奈。

image-20220516114617656

歡迎大家訪問(wèn) 個(gè)人博客 Johnny小屋

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缓待,一起剝皮案震驚了整個(gè)濱河市蚓耽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旋炒,老刑警劉巖步悠,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瘫镇,居然都是意外死亡鼎兽,警方通過(guò)查閱死者的電腦和手機(jī)芹壕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)接奈,“玉大人踢涌,你說(shuō)我怎么就攤上這事⌒蚧拢” “怎么了睁壁?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)互捌。 經(jīng)常有香客問(wèn)我潘明,道長(zhǎng),這世上最難降的妖魔是什么秕噪? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任钳降,我火速辦了婚禮,結(jié)果婚禮上腌巾,老公的妹妹穿的比我還像新娘遂填。我一直安慰自己,他們只是感情好澈蝙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布吓坚。 她就那樣靜靜地躺著,像睡著了一般灯荧。 火紅的嫁衣襯著肌膚如雪礁击。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天逗载,我揣著相機(jī)與錄音哆窿,去河邊找鬼。 笑死厉斟,一個(gè)胖子當(dāng)著我的面吹牛挚躯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捏膨,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼秧均,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了号涯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤锯七,失蹤者是張志新(化名)和其女友劉穎链快,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體眉尸,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡域蜗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年巨双,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片霉祸。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筑累,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丝蹭,到底是詐尸還是另有隱情慢宗,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布奔穿,位于F島的核電站镜沽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贱田。R本人自食惡果不足惜缅茉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望男摧。 院中可真熱鬧蔬墩,春花似錦、人聲如沸耗拓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帆离。三九已至蔬蕊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哥谷,已是汗流浹背岸夯。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留们妥,地道東北人猜扮。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像监婶,于是被迫代替她去往敵國(guó)和親旅赢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容