OpenStack 的部署T版(一)——基础环境配置
目錄
- 一、資源規劃
- 二、基礎環境配置
- 1、修改添加NAT網卡配置
- 2、防火墻、核心防護、主機名
- 3、配置在線源
- 4、基礎環境依賴包
- 5、VMnet1網卡配置參數
- 6、配置映射
- 7、免交互
- 8、時間同步+周期性計劃任務
- 三、系統環境配置
- 1、安裝、配置MariaDB
- 2、安裝、配置RabbitMQ
- 3、安裝memcached
- 4、安裝etcd
一、資源規劃
| CT | 8 | 300 | VM:192.168.100.10 NAT:192.168.172.70 | Centos7.6 |
| C1 | 8 | 300 | VM:192.168.100.20 NAT:192.168.172.80 | Centos7.6 |
| C2 | 8 | 300 | VM:192.168.100.30 NAT:192.168.172.90 | Centos7.6 |
二、基礎環境配置
CT VM:192.168.100.10 NAT:192.168.172.70
C1 VM:192.168.100.20 NAT:192.168.172.80
C2 VM:192.168.100.30 NAT:192.168.172.90
1、修改添加NAT網卡配置
CT、C1、C2節點網卡都需要設置
2、防火墻、核心防護、主機名
控制節點ct(192.168.172.70)
計算節點c1(192.168.172.80)
計算節點c2(192.168.172.90)
3、配置在線源
cd /etc/yum.repos.d/ mkdir repo.bak mv *.repo repo.bak/ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #配置在線源4、基礎環境依賴包
都需重復安裝,保證每個組件都是最新
yum -y install net-tools bash-completion vim gcc gcc-c++ make pcre pcre-devel expat-devel cmake bzip2 lrzsz #-----------------------模塊解釋------------------------ net-tools ifconfig命令行工具 bash-completion 輔助自動補全工具 vim vim工具 gcc gcc-c++ 編譯環境 make 編譯器 pcre pcre-devel 是一個Perl庫,包括 perl 兼容的正則表達式庫 expat-devel Expat庫,Expat是一個面向流的xml解析器 cmake CMake是一個跨平臺的編譯工具,CMkae目前主要使用場景是作為make的上層工具,產生可移植的makefile文件 lrzsz 可使用rz、sz命令上傳、下載數據OpenStack 的 train 版本倉庫源安裝包,同時安裝 OpenStack 客戶端和 openstack-selinux 安裝包
yum -y install \ centos-release-openstack-train \ python-openstackclient \ openstack-selinux \ openstack-utils#----------------模塊解釋------------------------------ centos-release-openstack-train train版本包 python-openstackclient 安裝openstack客戶端 openstack-selinux 安裝selinux自動管理,這里selinux是關閉的 openstack-utils 方便后續直接可以通過命令行方式修改配置文件5、VMnet1網卡配置參數
1、查看VMnet1網卡名稱
ifconfig2、修改VMnet1網卡配置
cd /etc/sysconfig/network-scripts/vim ifcfg-ens36 #修改 BOOTPROTO=static ONBOOT=yes#末行添加 IPADDR=192.168.100.10 #根據網段,設置VMnet1網段的IP,自定義 NETMASK=255.255.255.0 #設置掩碼systemctl restart network #重啟網卡 ifconfig #再次查看,是否修改完成
C1、C2都需要設置,不要忘記
6、配置映射
所有節點
將VMnet1IP與主機名注入到主機映射文件中,用于區分主機,便于相互訪問
7、免交互
三臺節點做免交互非對稱密鑰
ssh-keygen -t rsa ssh-copy-id ct ssh-copy-id c1 ssh-copy-id c2
8、時間同步+周期性計劃任務
ct ->同步阿里云時鐘服務器
c1、c2 -> 同步ct
CT VM:192.168.100.10 NAT:192.168.172.70
vim /etc/chrony.conf 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 #注釋掉 server ntp6.aliyun.com iburst #配置阿里云時鐘服務器源 allow 192.168.100.0/24 #允許192.168.100.0/24網段的主機來同步時鐘服務systemctl enable chronyd systemctl restart chronyd#使用 chronyc sources 時間同步 chronyc sourcesC1 VM:192.168.100.20 NAT:192.168.172.80
C2 VM:192.168.100.30 NAT:192.168.172.90
C2設置同C1這里就不演示了
計劃任務
#配置計劃任務,每隔2分鐘同步一次 crontab -e */2 * * * * /usr/bin/chronyc sources >>/var/log/chronyc.log#查看設置的周期性任務 crontab -l三、系統環境配置
1、安裝、配置MariaDB
CT VM:192.168.100.10 NAT:192.168.172.70
yum -y install mariadb mariadb-server python2-PyMySQL libibverbs#---------模塊解釋--------------------------------- mariadb:是mysql的一個分支,是一款完全兼容mysql的開源軟件 mariadb-server:數據庫服務 python2-PyMySQL:用于openstack的控制端連接mysql所需要的模塊,如果不安裝,則無法連接數據庫;此包只安裝在控制端 libibverbs:遠程直接內存訪問添加MySQL子配置文件,增加如下內容
vim /etc/my.cnf.d/openstack.cnf [mysqld] bind-address = 192.168.100.10 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8#---------配置解釋--------------------------------------------- bind-address = 192.168.100.10 #控制節點局域網地址 default-storage-engine = innodb #默認存儲引擎 innodb_file_per_table = on #每張表獨立表空間文件 max_connections = 4096 #最大連接數 collation-server = utf8_general_ci #服務器校對時不區分大小寫 character-set-server = utf8 #默認字符集 #---------------------------------------------------------------systemctl enable mariadb systemctl start mariadb執行MariaDB 安全配置腳本
mysql_secure_installation #---------輸出內容------------------------------------------- Enter current password for root (enter for none): #輸入當前root密碼,回車 OK, successfully used password, moving on... Set root password? [Y/n] Y #是否需要更改root密碼,Y確認 Remove anonymous users? [Y/n] Y #是否移除其他用戶,Y確認移除... Success! Disallow root login remotely? [Y/n] n #是否不允許root用戶遠程登陸,輸入n,允許root用戶遠程登陸... skipping. Remove test database and access to it? [Y/n] Y #是否刪除test測試庫,Y確認刪除 Reload privilege tables now? [Y/n] Y #是否刷新規則,Y確認刷新 #------------------------------------------------------------2、安裝、配置RabbitMQ
CT VM:192.168.100.10 NAT:192.168.172.70
所有創建虛擬機的指令,控制端都會發送到rabbitmq,node節點監聽rabbitmq
創建消息隊列用戶,用于controler和 計算節點連接rabbitmq的認證(關聯)
rabbitmqctl add_user openstack RABBIT_PASS #-----------輸出內容------------- Creating user "openstack" #----------------------------------配置openstack用戶的操作權限(正則,配置讀寫權限)
rabbitmqctl set_permissions openstack ".*" ".*" ".*" #------------輸出內容--------------------------------------- Setting permissions for user "openstack" in vhost "/"#可查看25672和5672 兩個端口(5672是Rabbitmq默認端口,25672是Rabbit的測試工具CLI的端口) netstat -natp | grep 5672查看rabbitmq插件列表
rabbitmq-plugins list開啟rabbitmq的web管理界面的插件,端口為15672
rabbitmq-plugins enable rabbitmq_management檢查端口(25672 5672 15672)
ss -natp | grep 5672可訪問192.168.172.70:15672
默認賬號密碼均為guest
3、安裝memcached
- 作用:安裝memcached是用于存儲session信息;服務身份驗證機制(keystone)使用Memcached來緩存令牌 在登錄openstack的dashboard時,會產生一些session信息,這些session信息會存放到memcached中
CT VM:192.168.100.10 NAT:192.168.172.70
yum install -y memcached python-memcached #python-*模塊在OpenStack中起到連接數據庫的作用修改Memcached配置文件
vim /etc/sysconfig/memcached PORT="11211" #memcached端口11211 USER="memcached" #用戶memcached MAXCONN="1024" #最大連接數1024 CACHESIZE="64" #字符集大小64位 OPTIONS="-l 127.0.0.1,::1,ct" #監聽地址,127.0.0.1:本地地址,::是ipv6地址,ct是本地VMnet1地址systemctl enable memcached systemctl start memcached netstat -nautp | grep 11211
4、安裝etcd
etcd是一個分布式可靠的鍵值存儲數據庫
yum -y install etcd修改etcd配置文件
vim /etc/etcd/etcd.conf ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS="http://192.168.100.10:2380" ETCD_LISTEN_CLIENT_URLS="http://192.168.100.10:2379" ETCD_NAME="ct" ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.100.10:2380" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.100.10:2379" ETCD_INITIAL_CLUSTER="ct=http://192.168.100.10:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01" ETCD_INITIAL_CLUSTER_STATE="new" #-------------------配置解釋--------------------------------------- ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #數據目錄位置 ETCD_LISTEN_PEER_URLS="http://192.168.100.10:2380" #監聽其他etcd member的url(2380端口,集群之間通訊,域名為無效值) ETCD_LISTEN_CLIENT_URLS="http://192.168.100.10:2379" #對外提供服務的地址(2379端口,集群內部的通訊端口) ETCD_NAME="ct" #集群中節點標識(名稱) ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.100.10:2380" #該節點成員的URL地址,2380端口:用于集群之間通訊。 ETCD_ADVERTISE_CLIENT_URLS="http://192.168.100.10:2379" ETCD_INITIAL_CLUSTER="ct=http://192.168.100.10:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01" #集群唯一標識 ETCD_INITIAL_CLUSTER_STATE="new" #初始集群狀態,new為靜態,若為existing,則表示此ETCD服務將嘗試加入已有的集群若為DNS,則表示此集群將作為被加入的對象 #-----------------------------------------------------------------------systemctl enable etcd.service systemctl start etcd.service netstat -anutp |grep 2379 netstat -anutp |grep 2380
到此openstack的環境配置就部署完成了。
總結
以上是生活随笔為你收集整理的OpenStack 的部署T版(一)——基础环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专业cpu内存选购指南,让你的电脑飞起来
- 下一篇: OpenStack 的部署T版(二)——