当前位置:   article > 正文

裸金属搭建openstack单网卡单节点+Skyline_下载 chinaskills_cloud_paas_v2.1.iso

下载 chinaskills_cloud_paas_v2.1.iso

一、安装Cneots系统

1、制作系统盘

U盘: 8G或更高

写入软件:UltraISO

2、进入BIOS设置启动顺序

一般U盘都是UEFI启动,选中自己的U盘名字重新启动即可。

3、可能会遇到的问题

dracut-pre-udev[251]:modprobe:ERRORcloud not insert 'floppy'
​
dracut-pre-udev[251]:modprobe:ERRORcloud not insert 'edd'

解决办法:

(1)进入安装install centos界面时,按住e键进入编辑界面

将 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet 更换成 vmlinuz initrd=initrd.img linux dd quit  按住ctr+x保存进入

能够查看U盘的盘符。例如我的盘符是sdb4 ,记住盘符重启

(2)再次install centos界面时,按住e键进入编辑界面

将 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet 更换成自己的盘符 
vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet 这样就可以识别到u盘并正常启动了

4、进入centos 图形化安装界面正常安装(最小化)

5、可能会遇到 找不到网卡。

首先不要慌!这一般是因为找不到网卡驱动

(1)查看自己的网卡型号 例如我的网卡是 英特尔l219-LM

(2)找到所需的网卡驱动包。安装e1000e-3.8.4 即可。所需安装包 (e1000e-3.8.4.tar.gz)

(3)安装依赖 所需依赖

kernel-tools-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
kernel-devel-3.10.0-1160.el7.x86_64
kernel-headers-3.10.0-1160.11.1.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
libgcc-4.8.5-44.el7.x86_64
gcc-4.8.5-44.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
下载kernel需要注意版本号要一样,没有网络就把U盘的packages 挂载进去做为yum源使用。

(4)编译安装并加载驱动

tar -zxvf e1000e-3.8.4.tar.gz
cd e1000e-3.8.4/src/
mkae && mkae install
cp -rvf /lib/modules/3.10.0-1160.el7.x86_64/updates/drivers/net/ethernet/intel/e1000e/e1000e.ko /lib/modules/3.10.0-1160.el7.x86_64/updates/drivers/net/
depmod -a
modprobe e1000e
systemctl restart network

(5)重启网络服务。

systemctl restart network

二、安装openstack单节点

1、所需镜像软件

镜像:chinaskills_cloud_iaas_v2.0.3.iso + CentOS-7-x86_64-DVD-2009.iso

2、配置安装

mount -o loop chinaskills_cloud_iaas_v2.0.3.iso /mnt/ && cp -rvf /mnt/* /opt/
mkdir /opt/centos
umount  /mnt/
mount CentOS-7-x86_64-DVD-2009.iso /mnt/ && cp -rvf /mnt/* /opt/centos
rm -rf /etc/yum.repos.d/* 
cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
sed -i 's/PASS=/PASS=000000/g' /etc/openstack/openrc.sh
配置openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=127.0.0.1
​
#Controller HOST Password. example:000000 
HOST_PASS=000000
​
#Controller Server hostname. example:controller
HOST_NAME=controller
​
#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=127.0.0.1
​
#Compute HOST Password. example:000000 
HOST_PASS_NODE=000000
​
#Compute Node hostname. example:compute
HOST_NAME_NODE=controller
​
#--------------------Chrony Config-------------------##
#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=127.0.0.1/8
​
#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack
​
#Password for rabbit user .example:000000
RABBIT_PASS=000000
​
#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000
​
#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
​
#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
​
#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
​
#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
​
#--------------------Placement Config----------------------##
#Password for Mysql placement user. exmaple:000000
PLACEMENT_DBPASS=000000
​
#Password for Keystore placement user. exmaple:000000
PLACEMENT_PASS=000000
​
#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
​
#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
​
#--------------------Neutron Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
​
#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
​
#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
​
#External Network Interface. example:eth1
INTERFACE_NAME=enp0s31f6   #网卡名称
​
#External Network The Physical Adapter. example:provider
Physical_NAME=provider
​
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101
​
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200
​
#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
​
#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
​
#Cinder Block Disk. example:md126p3
BLOCK_DISK=sda1
​
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
​
#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=
​
#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=
​
#--------------------Trove Config----------------------##
#Password for Mysql trove user. exmaple:000000
TROVE_DBPASS=000000
​
#Password for Keystore trove user. exmaple:000000
TROVE_PASS=000000
​
#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
​
#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
​
#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
​
#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
​
#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
​
#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
​
#--------------------ZUN Config----------------##
#Password for Mysql ZUN user. exmaple:000000
ZUN_DBPASS=000000
​
#Password for Keystore ZUN user. exmaple:000000
ZUN_PASS=000000
​
#Password for Keystore KURYR user. exmaple:000000
KURYR_PASS=000000
​
#--------------------OCTAVIA Config----------------##
#Password for Mysql OCTAVIA user. exmaple:000000
OCTAVIA_DBPASS=000000
​
#Password for Keystore OCTAVIA user. exmaple:000000
OCTAVIA_PASS=000000
​
#--------------------Manila Config----------------##
#Password for Mysql Manila user. exmaple:000000
MANILA_DBPASS=000000
​
#Password for Keystore Manila user. exmaple:000000
MANILA_PASS=000000
​
#The NODE Object Disk for Manila. example:md126p5.
SHARE_DISK=
​
#--------------------Cloudkitty Config----------------##
#Password for Mysql Cloudkitty user. exmaple:000000
CLOUDKITTY_DBPASS=000000
​
#Password for Keystore Cloudkitty user. exmaple:000000
CLOUDKITTY_PASS=000000
​
#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
​
#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
###############################################################
#####在vi编辑器中执行:%s/^.\{1\}//  删除每行前1个字符(#号)#####
###############################################################
:%s/^.\{1\}//

3、执行脚本

由于咱们没有第二块网卡,脚本会清除网卡文件,请在跑脚本前备份。
iaas-pre-host.sh #跑完重启
iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-placement.sh
iaas-install-nova-controller.sh
iaas-install-nova-compute.sh
iaas-install-neutron-controller.sh
iaas-install-neutron-compute.sh
跑完neutron将保存的配置文件替换掉现在的
cp -rvf ifcfg-enp0s31f6 /etc/sysconfig/network-scripts/ifcfg-enp0s31f6
y 
iaas-install-dashboard.sh

4、配置Skyline 仪表盘 dashboard

Skyline介绍:

Skyline 是新一代的 OpenStack 管理界面(Dashboard),由九州云于 2021 年 9 月捐献给 OpenStack 社区。同年 12 月末,Skyline 孵化完成,毕业成为 OpenStack 正式项目。 然后再经过近一年的努力,Skyline 开发团队完成了 OpenStacke的代码重构,并增加了对 Octavia、Manila、Swift、Barbican、Zun、Trove 等社区模块的支持。2022 年 10 月 5 日,Skyline 第一个正式版本随 OpenStack Zed 正式发布。 你为什么需要 Skyline? Horzion 是一个很成功的 OpenStack Dashboard 平台,但随着时间迭代,其 UI 简陋、技术栈陈旧(AngularJS 已经停止 Support)、性能和用户体验性较差等弱势与日俱显,被广大 OpenStack 用户诟病,可谓“天下苦 Horizon 久矣”。但社区一直没能对 Horizon 进行整体技术升级,或者推出另一款更优秀和现代化的 Dashboard 供用户选择,在此形势下,Skyline 应运而生。 丰富的功能:满足企业级云需求 Skyline 不仅提供了 OpenStack 基础组件:计算,存储,网络的操作界面,也支持许多增值组件:如文件存储,对象存储,负载均衡,数据库等服务。一旦完成部署,Skyline 不依赖任何插件,就能迅速调用各种云服务接口,满足企业级的生产需求。云上的虚拟机、容器,k8s 集群、RDS 数据库,负载均衡等各种资源,都能在Skyline 的平台上完成全生命周期管理。 Skyline 1.0.0 已完成以下组件的对接,并支持完整的图形化操作界面。 官方网站:Docker Install Ubuntu — skyline-apiserver 2.1.0.dev6 documentation

(1)安装docker

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y yum-utils device-mapper-persistent-date lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce

(2)配置数据库服务和认证服务

# mysql create database and grant permissions
mysql -uroot -p$DB_PASS -e "CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY '000000';"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%'  IDENTIFIED BY '000000';"

#skyline user role service endpoint
openstack user create --domain demo --password 000000  skyline
openstack role add --project service --user skyline admin

#安装和配置组件
#需要启动docker镜像安装Skyline APIServer服务。
#从Docker Hub拉取 Skyline APIServer 服务镜像:
docker pull 99cloud/skyline:latest

#创建所需目录
mkdir -p /etc/skyline

(3)配置文件

cat /etc/skyline/skyline.yaml 
default:
  access_token_expire: 3600
  access_token_renew: 1800
  cors_allow_origins: []
  database_url: mysql://skyline:000000@172.29.1.100:3306/skyline
  debug: false
  log_dir: ./log
  log_file: skyline.log
  prometheus_basic_auth_password: ''
  prometheus_basic_auth_user: ''
  prometheus_enable_basic_auth: false
  prometheus_endpoint: http://localhost:9091
  secret_key: aCtmgbcUqYUy_HNVg5BDXCaeJgJQzHJXwqbXr0Nmb2o
  session_name: session
  #ssl_enabled: true
openstack:
  base_domains:
  - heat_user_domain
  default_region: RegionOne
  enforce_new_defaults: true
  extension_mapping:
    floating-ip-port-forwarding: neutron_port_forwarding
    fwaas_v2: neutron_firewall
    qos: neutron_qos
    vpnaas: neutron_vpn
  interface_type: public
  keystone_url: http://172.29.1.100:5000/v3
  nginx_prefix: /api/openstack
  reclaim_instance_interval: 604800
  service_mapping:
    baremetal: ironic
    compute: nova
    container: zun
    container-infra: magnum
    database: trove
    identity: keystone
    image: glance
    key-manager: barbican
    load-balancer: octavia
    network: neutron
    object-store: swift
    orchestration: heat
    placement: placement
    sharev2: manilav2
    #volumev3: cinder
  sso_enabled: false
  sso_protocols:
  - openid
  sso_region: RegionOne
  system_admin_roles:
  - admin
  - system_admin
  system_project: service
  system_project_domain: demo
  system_reader_roles:
  - system_reader
  system_user_domain: demo
  system_user_name: skyline
  system_user_password: '000000'
setting:
  base_settings:
  - flavor_families
  - gpu_models
  - usb_models
  flavor_families:
  - architecture: x86_architecture
    categories:
    - name: general_purpose
      properties: []
    - name: compute_optimized
      properties: []
    - name: memory_optimized
      properties: []
    - name: high_clock_speed
      properties: []
  - architecture: heterogeneous_computing
    categories:
    - name: compute_optimized_type_with_gpu
      properties: []
    - name: visualization_compute_optimized_type_with_gpu
      properties: []
  gpu_models:
  - nvidia_t4
  usb_models:
  - usb_c

(4)试运行

#运行 skyline_bootstrap 容器进行初始化引导
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml  --net=host 99cloud/skyline:latest
sleep 8
出现 exit 0;初始化引导成功
docker rm -f skyline_bootstrap
#启动skyline服务
docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest 

(5)访问dashboard

浏览器 访问:http://ip:9999

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/77654
推荐阅读
相关标签
  

闽ICP备14008679号