本文共 7144 字,大约阅读时间需要 23 分钟。
OpenStack?????Ubuntu?????????
???????
??????????????????OpenStack??????????????????????????
1. ???????
- ??????2?Intel?AMD????
- ?????32GB???
- ???????????????50GB?SSD??????????????
- ???????10Gbps???????????
2. ????
- ???????Ubuntu 20.04 LTS?Focal Fossa???????
??????
OpenStack????????????????????????????????
1. ??????
???????? /etc/network/interfaces????????
auto loiface lo inet loopback address 127.0.0.1 netmask 255.255.255.255auto br100iface br100 inet static address 10.1.6.186 netmask 255.255.255.0 gateway 10.1.6.254 dns-nameservers 10.1.1.2 bridge_ports em1 bridge_hello 2 bridge_maxage 12 bridge_fd 0 bridge_stp off
2. ??????
?????????????
/etc/init.d/networking restart
?????????
??OpenStack???????
apt-get install -y bridge-utilsapt-get install -y ntpapt-get install -y rabbitmq-server memcached python-memcacheapt-get install -y kvm libvirt-bin curlapt-get install -y tgt lvm2apt-get install -y mysql-server python-mysqldb
???????
1. ??MySQL
??MySQL????????
apt-get install -y mysql-server
2. ??MySQL????
?????? /etc/mysql/my.cnf????????
# ?????0.0.0.0bind-address = 0.0.0.0
3. ??MySQL??
????????MySQL???
/etc/init.d/mysql restart
??????????????
1. ??OpenStack???
??SQL????OpenStack???????
CREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'my_password';CREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'my_password';CREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'my_password';
2. ??????????
???????????????????????????? /etc/keystone/keystone.conf ????
[sql]connection = mysql://keystone:my_password@vm.my.com/keystone
?????????
1. ???????
?? keystone ????OpenStack???
keystone service-create --name nova --type compute --description 'OpenStack Compute Service'keystone service-create --name volume --type volume --description 'OpenStack Volume Service'keystone service-create --name glance --type image --description 'OpenStack Image Service'keystone service-create --name swift --type object-store --description 'OpenStack Storage Service'keystone service-create --name keystone --type identity --description 'OpenStack Identity'keystone service-create --name ec2 --type ec2 --description 'OpenStack EC2 service'
2. ??????
?? create_endpoint ?????????
create_endpoint () { case $1 in compute) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' --adminurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' --internalurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' ;; volume) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' --adminurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' --internalurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' ;; image) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':9292/v1' --adminurl 'http://'"$MASTER"':9292/v1' --internalurl 'http://'"$MASTER"':9292/v1' ;; object-store) if [ $SWIFT_MASTER ]; then keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$SWIFT_MASTER"':8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://'"$SWIFT_MASTER"':8080/v1' --internalurl 'http://'"$SWIFT_MASTER"':8080/v1/AUTH_%(tenant_id)s' else keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://'"$MASTER"':8080/v1' --internalurl 'http://'"$MASTER"':8080/v1/AUTH_%(tenant_id)s' fi ;; identity) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':5000/v2.0' --adminurl 'http://'"$MASTER"':35357/v2.0' --internalurl 'http://'"$MASTER"':5000/v2.0' ;; ec2) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8773/services/Cloud' --adminurl 'http://'"$MASTER"':8773/services/Admin' --internalurl 'http://'"$MASTER"':8773/services/Cloud' ;; esac}for i in compute volume image object-store identity ec2; do id=`mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE" -ss -e "SELECT id FROM service WHERE type='"$i"';"` || exit 1 create_endpoint $i $iddone 3. ????
??OpenStack??????
service rabbitmq-server restartservice libvirt-bin restartservice nova-scheduler restartservice nova-network restartservice nova-cert restartservice nova-compute restartservice nova-api restartservice nova-objectstore restartservice nova-volume restart
???????????
1. ???????
?? keystone ??????????
keystone user-create --name admin --pass "$ADMIN_PASSWORD"keystone role-create --name adminkeystone role-create --name Memberkeystone role-create --name KeystoneAdminkeystone role-create --name KeystoneServiceAdmin# ???????keystone user-role-add --user-id $ADMIN_USER --role-id $ADMIN_ROLE --tenant_id $ADMIN_TENANT
????????
1. ??????
?????????????
keystone service-listnova-manage service listglance index
2. ??????
?????????????
nova-manage network listnova-manage network create private --fixed_range_v4=10.1.6.0/24 --num_networks=1 --bridge=br100 --bridge_interface=br100 --network_size=256 --multi_host=T
????OpenStack????
???????OpenStack?????
http://my.vm.com/horizon
?????????
1. ??????
??????????????
tail -f /var/log/nova/nova.log
2. ??????
????????????????????????
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
3. ????
????????????????
service rabbitmq-server restartservice libvirt-bin restartservice nova-scheduler restartservice nova-network restartservice nova-cert restartservice nova-compute restartservice nova-api restartservice nova-objectstore restartservice nova-volume restart
##????????????
1. ?????Swift??
??Swift??????
apt-get install -y swift swift-proxy
2. ??Swift??
?????? /etc/swift/proxy.conf????????
[paste_deploy]flavor = keystone
3. ??Swift??
??Swift???
swift-proxy startswift-object startswift-container startswift-ringbuffer-server start
##??????????????
1. ??????
? keystone.conf ????????
[DEFAULT]heartbeat_period = 300
2. ??Pacemaker
??Pacemaker????????????
apt-get install -y corosync corosync-qmf
3. ??Pacemaker??
??Pacemaker????????
corosync-cluster configure --add-node control-1-186corosync-cluster enable
##???????????
1. ??????
?????????????
crm statusnova-manage resource show
2. ??????
??????????_secondary?? ????????
systemctl stop libvirtdsystemctl start libvirtd @secondary_node
##??????????
1. ??????
??Prometheus?Grafana?????
apt-get install -y prometheus prometheus-node-exporter alertmanager
2. ??Prometheus????
?????? /etc/prometheus/prometheus.yml?????OpenStack???
global: scrape_interval: 1mscrape_configs:- job: 'openstack:metric1' scrape_timeout: 5m static_configs: - targets: ['10.1.6.186:9090']- job: 'openstack:metric2' scrape_timeout: 5m static_configs: - targets: ['10.1.6.188:9090']
3. ??????
??Prometheus??????
prometheus --config.file /etc/prometheus/prometheus.yml
##?????
???????????OpenStack?Ubuntu??????????????????????????????????OpenStack????????
发表评论
最新留言
关于作者