openEuler-22.03-LTS-SP2源码编译部署OpenStack-Zed详细攻略

openEuler-22.03-LTS-SP2源码编译部署OpenStack-Zed详细攻略

机器详情

主机名 IP 磁盘 CPU 内存
controller ens160:192.168.31.100/24 ens192:不配置IP地址 100G 2C 8G
compute ens160:192.168.31.101/24 ens192:不配置IP地址 100G 2C 8G

所有机器基础准备

安装操作系统

安装操作只需注意的一步是Software Selection要勾选Development Tools
在这里插入图片描述这会自动地帮我们安装一些基础的编译环境,如果你没有勾选,也无大碍,在编译安装时可能会遇到
报错说缺失一些编译环境,根据报错安装与之对应地编译环境即可解决

关闭防火墙

systemctl disable --now firewalld

关闭selinux

vim /etc/selinux/config
SELINUX=disabled

设置静态IP

nmtui

设置ens160网卡的IP地址为静态IP地址
设置ens192网卡不获取到IP地址(即设置为Disabled)
网卡配置生效命令

nmcli c reload
nmcli c up ens160
nmcli c up ens192

更新

dnf update -y

准备环境

环境配置(controller&&compute)

修改主机名

hostnamectl set-hostname controller
hostnamectl set-hostname compute

编辑hosts文件

vim /etc/hosts
192.168.31.100   controller
192.168.31.101   compute

安装 SQL DataBase(controller)

安装软件包

dnf install mariadb mariadb-server python3-PyMySQL -y

编辑文件

vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.31.100
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

启动 DataBase 服务,并为其配置开机自启动

systemctl enable mariadb.service
systemctl start mariadb.service

配置DataBase的默认密码

mysql_secure_installation

安装 RabbitMQ(controller)

安装软件包

dnf install rabbitmq-server -y

启动 RabbitMQ 服务,并为其配置开机自启动

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

添加 OpenStack用户

rabbitmqctl add_user openstack 123456

设置openstack用户权限,允许进行配置、写、读

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

安装 Memcached(controller)

安装依赖软件包

dnf install memcached python3-memcached -y

编辑文件

vim /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1,::1,controller"

启动 Memcached 服务,并为其配置开机启动

systemctl enable memcached.service
systemctl start memcached.service

验证

memcached-tool controller stats

正式编译安装

所需文件下载地址

https://releases.openstack.org/zed/index.html#zed-keystone

Keystone 编译安装(controller)

创建 keystone 数据库并授权

mysql -u root -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY '123456';
exit

安装httpd、mod_wsgi软件包

dnf install httpd mod_wsgi -y

解压keystone-22.0.0.tar.gz

tar -xvf keystone-22.0.0.tar.gz
cd keystone-22.0.0/

安装所需依赖包

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

注意安装完之后要把SQLAlchemy的版本降为1.4.49,否则之后的命令会报错,因为2.0之后的版本有个参数被遗弃了

pip3 install SQLAlchemy==1.4.49 -i https://pypi.tuna.tsinghua.edu.cn/simple

编译安装

python3 setup.py install

创建/etc/keystone文件夹

mkdir /etc/keystone

复制etc/目录下的内容到/etc/keystone

cp -r etc/* /etc/keystone/

创建并编辑keystone配置文件

vim /etc/keystone/keystone.conf
[DEFAULT]
[application_credential]
[assignment]
[auth]
[cache]
[catalog]
[cors]
[credential]
[database]
connection = mysql+pymysql://keystone:123456@controller/keystone
[domain_config]
[endpoint_filter]
[endpoint_policy]
[eventlet_server]
[federation]
[fernet_receipts]
[fernet_tokens]
[healthcheck]
[identity]
[identity_mapping]
[jwt_tokens]
[ldap]
[memcache]
[oauth1]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[policy]
[profiler]
[receipt]
[resource]
[revoke]
[role]
[saml]
[security_compliance]
[shadow_users]
[token]
provider = fernet
[tokenless_auth]
[totp]
[trust]
[unified_limit]
[wsgi]

同步数控

useradd keystone
su -s /bin/sh -c "keystone-manage db_sync" keystone

初始化Fernet密钥仓库

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

启动服务

keystone-manage bootstrap --bootstrap-password 123456 \
--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

配置Apache HTTP server

vim /etc/httpd/conf/httpd.conf
ServerName controller
ln -s /root/keystone-22.0.0/httpd/wsgi-keystone.conf /etc/httpd/conf.d/

启动Apache HTTP服务

systemctl enable httpd.service
systemctl start httpd.service

这里会报一个错误No such file or directory: AH02291: Cannot access directory ‘/var/log/apache2/’ for error log of vhost defined at /etc/httpd/conf
在这里插入图片描述
原因是因为/var/log/apache2/这个目录不存在,创建这个目录即可解决问题

mkdir /var/log/apache2/
systemctl restart httpd.service

创建环境变量配置

cat << EOF >> ~/.admin-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
EOF

解压python-openstackclient-6.0.0.tar.gz

tar -xvf python-openstackclient-6.0.0.tar.gz
cd python-openstackclient-6.0.0/

安装依赖包

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

编译安装

python3 setup.py install

依次创建domain, projects, users, roles

source ~/.admin-openrc
openstack domain create --description "An Example Domain" example
openstack project create --domain default --description "Service Project" service
openstack project create --domain default --description "Demo Project" myproject
openstack user create --domain default --password-prompt myuser
openstack role create myrole
openstack role add --project myproject --user myuser myrole

验证

source ~/.admin-openrc
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
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue

Glance 编译安装(controller)

创建数据库

mysql -u root -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY '123456';
exit

创建服务凭证

source ~/.admin-openrc
openstack user create --domain default --password-prompt glance
openstack role add --project service --user glance admin
openstack service create --name glance --description "OpenStack Image" image

创建镜像服务API端点

openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292

解压glance-25.1.0.tar.gz

tar -xvf glance-25.1.0.tar.gz
cd glance-25.1.0/

安装依赖包

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

编译安装

python3 setup.py install

创建/etc/glance文件夹

mkdir /etc/glance

复制etc/文件夹下的内容到/etc/glance

cp -r etc/* /etc/glance/

创建并编辑glance配置文件

vim /etc/glance/glance-api.conf
[DEFAULT]
[cinder]
[cors]
[database]
connection = mysql+pymysql://glance:123456@controller/glance
[file]
[glance.store.http.store]
[glance.store.rbd.store]
[glance.store.s3.store]
[glance.store.swift.store]
[glance.store.vmware_datastore.store]
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[image_format]
[keystone_authtoken]
www_authenticate_uri  = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 123456
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
回答: 你提到的问题是关于git提交后发生冲突的情况。这种情况通常是因为同一个项目的不同员工在相同位置提交了不同的更改,导致冲突发生。解决这个问题的方法有几种。一种方法是使用git pull命令来合并远程的更改到本地仓库。你可以使用命令"git pull origin master --allow-unrelated-histories"来告诉git允许合并不相关的历史。执行这个命令后,你可能需要提供一些合并信息并保存。另一种方法是在初次push之前,先使用git pull命令来将远程的更改合并到本地仓库,然后再进行push操作。这样可以避免冲突的发生。\[2\]至于你提到的链接"https://gitee.com/src-openeuler/kernel/repository/archive/openEuler-22.03-LTS-SP1.zip",它是一个压缩文件的链接,可能与git提交冲突的问题无关。 #### 引用[.reference_title] - *1* [git提交冲突:To https://gitee.com/men_zi_qi/practical-training.git ! [rejected] dev -> dev (fetch ...](https://blog.csdn.net/Menqq/article/details/114034902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [git项目初次push提示error: failed to push some refs to https://gitee.com/xxxx/gittest.git’解决方案](https://blog.csdn.net/qq_41853988/article/details/122933694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想看一次满天星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值