先電openstack雲端計算比賽個人記錄
阿新 • • 發佈:2019-01-09
雲端計算openstack搭建及運維
1.參賽內容簡介
- 本人才疏學淺,如有錯誤,還望各位不吝賜教,謝謝
- 參賽試題基本都差不多,基本包括以下幾個方面
- openstack環境搭建
- openstack運維
- docker
- 大資料運維
- 安卓開發
- 樣題下載(注意:樣題答案並不保證正確,還請自行研究)
(映象檔案還請自行網上尋找)
2.環境搭建
預先準備
- 安裝作業系統CentOS7,安裝時注意留一部分空白分割槽
- 按題要求設定控制節點以及計算節點主機名
# hostnamectl set-hostname controller
- 劃分分割槽
#compute節點 [[email protected]] # parted /dev/md126 (parted) mkpart swift 500G 600G //建立swift分割槽,從500G到600G [[email protected]] # mkfs.xfs /dev/md126p5 //格式化分割槽
- 配置網絡卡
- 題目一般要求兩張網絡卡
控制節點
網絡卡1 :192.168.100.10
網絡卡2 :192.168.200.10
計算節點
網絡卡1 : 192.168.100.20
網絡卡2 :192.168.200.20
-
方法為開啟網絡卡配置檔案
vi /etc/sysconfig/network-scripts/ifcfg-XXX
-
修改以下引數
ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.100.10 PREFIX=24 GATEWAY=192.168.100.1
- 配置本地yum源
- 上傳提供的映象檔案,掛載(只需要在controller節點做)
#掛載CentOS系統iso檔案
[[email protected] ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
[[email protected] ~]# mkdir /opt/centos //建立/opt/centos資料夾
[[email protected] ~]# cp -rvf /mnt/* /opt/centos/ //複製映象內容到建立的資料夾
[[email protected] ~]# umount /mnt/ //解除安裝iso映象
#掛載提供的iaas基礎iso檔案
[[email protected] ~]# mount -o loop XianDian-IaaS-v2.1.iso /mnt/
[[email protected] ~]# cp -rvf /mnt/* /opt/
[[email protected] ~]# umount /mnt/
- 修改yum源配置
備份原來的yum源
mv /etc/yum.repos.d/* /root
- 新建repo檔案並按以下內容輸入
#vi /etc/yum.repo.d/openstack.repo //建立並開啟openstack.repo檔案
#控制節點的檔案內容
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
#計算節點的檔案內容
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas-repo
gpgcheck=0
enabled=1
- 執行以下命令
#yum clean all
#yum update
- controller節點安裝ftp
[[email protected] ~]# yum install vsftpd –y
- 修改配置檔案
-
- 開啟
[[email protected] ~]# vi /etc/vsftpd/vsftpd.conf
- 開啟
-
- 任意位置新增
anon_root=/opt/
,儲存退出
- 任意位置新增
- 重啟ftp並加入開機自啟
[[email protected] ~]# systemctl start vsftpd
[[email protected] ~]# systemctl enable vsftpd
- 關閉防火牆(所有節點執行)
# systemctl stop firewalld
# systemctl disable firewalld
- 計算節點更新yum源
# yum clean all
# yum update
- 所有節點安裝先電提供的
作弊指令碼包
# yum install iaas-xiandian -y
- 編輯配置檔案
/etc/xiandian/openrc.sh
- 這裡貼一個編輯好的例子,一般情況,題目都會對一些引數有要求,請按照題目要求填寫
HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(按題目要求寫)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=enp9s0(外網網絡卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=md126p4(空白分割槽名)
SWIFT_PASS=000000
OBJECT_DISK=md126p5(空白分割槽名)
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
- 所有節點執行預部署指令碼
# iaas-pre-host.sh
- 修改ntp時間同步配置
- controller節點
刪除預設server配置,加入以下配置
server 127.127.1.0
fudge 127.127.1.0 stratum 10
- controller節點重啟ntp服務並加入開機自啟
[[email protected] ~]# systemctl start ntpd
[[email protected] ~]# systemctl enable ntpd
- compute節點執行以下命令
[[email protected] ~]# ntpdate controller
[[email protected] ~]# chkconfig ntpdate on
- 重啟所有節點伺服器
#reboot
安裝openstack元件
- compute節點時間同步controller節點(重要)
#至少執行兩次以下命令,因為第一次有時候偏差較大
[[email protected] ~]# ntpdate controller
- controller節點安裝mysql
[[email protected] ~]# iaas-install-mysql.sh
- controller節點安裝keystone認證服務
[[email protected] ~]# iaas-install-keystone.sh
- controller節點安裝glance映象服務
[[email protected] ~]# iaas-install-glance.sh
5.上傳映象(此步驟也可在Dashboard安裝完以後,web頁面操作)
#載入配置檔案
[[email protected] ~]# source /etc/keystone/admin-openrc.sh
#建立映象
[[email protected] ~]# glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress < /opt/images/centos_7-x86_64_xiandian.qcow2
- 所有節點安裝Nova計算服務
#controller
[[email protected] ~]# iaas-install-nova-controller.sh
#compute
[[email protected] ~]# iaas-install-nova-compute.sh
- 所有節點安裝neutron網路服務
#controller
[[email protected] ~]# iaas-install-neutron-controller.sh
#compute
[[email protected] ~]# iaas-install-neutron-compute.sh
- 根據題目要求,選擇指定網路進行安裝
#我們以gre網路為例,其餘只需要執行對應指令碼即可
#controller
[[email protected] ~]# iaas-install-neutron-controller-gre.sh
#compute
[[email protected] ~]# iaas-install-neutron-compute-gre.sh
- controller節點安裝Dashboard控制面板服務
[[email protected] ~]# iaas-install-neutron-dashboard.sh
- 瀏覽器訪問controller節點ip,登入
-
建立網路和雲主機,相關引數按題目填寫即可
(1)管理員 → 網路 → 建立網路(ext-net) → 建立子網(ext-subnet)
(2)專案 → 網路 → 路由 → 新建路由 → 新增閘道器和內網介面
(3)專案 → 計算 → 訪問安全 → 管理規則 → 新增規則(ICMP、TCP、UDP)
(4)專案 → 計算 → 雲主機 → 建立雲主機 → 繫結浮動IP
3.iaas雲平臺運維
此題只需知道相關查詢命令,即可輕鬆過關。
大致流程:
- 提前上傳本題提供的映象
- 按題目要求使用映象建立好雲主機
- 運行雲主機
- 使用ssh命令列軟體連線雲主機
- 執行相關查詢
4.Docker容器部署
以下內容命令相關操作大多與前文類似,其餘為視覺化操作,故簡略說明其主要步驟
- 使用相關映象按要求配置建立虛擬機器(Registry、Server、Client),並開機
- 上傳PaaS映象中的Docker到controller,掛載並放進ftp
- 配置所有虛擬機器節點的yum源,使用ftp指向controller
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[docker]
name=docker
baseurl=ftp://192.168.100.10/docker
gpgcheck=0
enabled=1
- 上傳PaaS映象中的Docker_images和install.sh到Server節點
- 執行
chmod +x install.sh
賦予許可權,執行./install.sh
- 完畢以後,使用瀏覽器訪問Server節點ip,即可看到Rancher面板
- 設定登入賬號,新增主機
- 按題目要求安裝某個Docker軟體即可
5.Docker容器運維
本題為docker常用命令的考察,例如查詢所有容器列表(#docekr ps -a)、查詢映象列表(#docker images)等等,只需要連線到Server雲主機進行相關操作即可
6.大資料+安卓
因缺失檔案,所以沒有進行相關研究。