云计算:OpenStack 分布式架构部署(单控制节点与单计算节点)

这篇具有很好参考价值的文章主要介绍了云计算:OpenStack 分布式架构部署(单控制节点与单计算节点)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、实验

1.环境

2.OpenStack包安装

3.数据库安装

4.消息队列安装

5.令牌缓存安装

6.认证服务安装

7.镜像服务安装

8. 计算服务安装(控制节点)

9. 计算服务安装(计算节点)

10. 网络服务安装(控制节点)

11. 网络服务安装(计算节点)

12. Dashboard图形化界面安装(控制节点)


一、实验

1.环境

(1) 主机

表1 主机

主机 架构 IP 备注
controller 控制节点 192.168.204.210
compute01 计算节点 192.168.204.211 

(2)官网

OpenStack Docs: OpenStack Installation Guide for Red Hat Enterprise Linux and CentOS

(3)网络

① 控制节点 ping 计算节点

[root@controller ~]# ping compute01 -c 1

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

②计算节点 ping 控制节点

[root@compute01 ~]# ping compute01 -c 1

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4) 时间同步

① 控制节点 

[root@controller ~]# yum install -y chrony

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

[root@controller ~]# vim /etc/chrony.conf
[root@controller ~]# systemctl restart chronyd.service && systemctl enable chronyd.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维
 

② 计算节点

[root@compute01 ~]# yum install -y chrony

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③测试

[root@controller ~]# date

[root@compute01 ~]# date

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

2.OpenStack包安装

(1)控制节点安装 OpenStack 客户端

# yum install python-openstackclient

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)CentOS 默认启用了 SELinux . 安装 openstack-selinux 软件包以便自动管理 OpenStack 服务的安全策略

# yum install openstack-selinux

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

3.数据库安装

(1)安装软件包

# yum install mariadb mariadb-server python2-PyMySQL

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)创建并编辑 /etc/my.cnf.d/openstack.cnf

① 在 [mysqld] 部分,设置 bind-address值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库

[mysqld]
...
bind-address = 192.168.204.210

②在[mysqld]部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集

[mysqld]
...
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

③修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3) 完成安装

①启动数据库服务,并将其配置为开机自启

# systemctl enable mariadb.service
# systemctl start mariadb.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

②为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

4.消息队列安装

(1)安装包

# yum install rabbitmq-server

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)启动消息队列服务并将其配置为随系统启动

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

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)添加 openstack 用户

# rabbitmqctl add_user openstack RABBIT_PASS

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)给openstack用户配置写和读权限

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

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

5.令牌缓存安装

(1)安装软件包

# yum install memcached python-memcached

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)修改配置

# vim /etc/sysconfig/memcached

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)启动Memcached服务,并且配置它随机启动

# systemctl enable memcached.service
# systemctl start memcached.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)查看服务

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

6.认证服务安装

(1)创建数据库和管理员令牌

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';

用数据库连接客户端 (注意生产环境需要账户及密码)

$ mysql -u root -p

创建 keystone 数据库

CREATE DATABASE keystone;

对keystone数据库授予恰当的权限

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)安全并配置组件

运行以下命令来安装包

# yum install openstack-keystone httpd mod_wsgi

安装工具包

# yum install -y openstack-utils

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3) 编辑文件 /etc/keystone/keystone.conf 

① 在[DEFAULT]部分,定义初始管理令牌的值

[DEFAULT]
...
admin_token = ADMIN_TOKEN

②在 [database] 部分,配置数据库访问

[database]
...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone

③ 在[token]部分,配置Fernet UUID令牌的提供者。

[token]
...
provider = fernet

④初始化身份认证服务的数据库

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

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

④ 查看

mysql keystone -e "show tables;"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑥初始化Fernet keys

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维(4)配置 Apache HTTP 服务器

① 编辑/etc/httpd/conf/httpd.conf 文件,配置ServerName 选项为控制节点

ServerName controller

②创建文件 /etc/httpd/conf.d/wsgi-keystone.conf

Listen 5000
Listen 35357

<VirtualHost *:5000>
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/httpd/keystone-error.log
    CustomLog /var/log/httpd/keystone-access.log combined

    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:35357>
    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-admin
    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/httpd/keystone-error.log
    CustomLog /var/log/httpd/keystone-access.log combined

    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>

③ 启动 Apache HTTP 服务并配置其随系统启动

# systemctl enable httpd.service
# systemctl start httpd.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

# systemctl status httpd.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(5) 创建服务实体和API端点

①申明环境变量

$ export OS_TOKEN=ADMIN_TOKEN
$ export OS_URL=http://controller:35357/v3
$ export OS_IDENTITY_API_VERSION=3

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

② 创建服务实体和身份认证服务

$ openstack service create \
  --name keystone --description "OpenStack Identity" identity

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③ 创建认证服务的 API 端点

$ openstack endpoint create --region RegionOne \
  identity public http://controller:5000/v3

$ openstack endpoint create --region RegionOne \
  identity internal http://controller:5000/v3

$ openstack endpoint create --region RegionOne \
  identity admin http://controller:35357/v3

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

④ 查看

# openstack service list

# openstack endpoint list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(6)创建域、项目、用户和角色

①创建域default

$ openstack domain create --description "Default Domain" default

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维 ②创建 admin 项目

$ openstack project create --domain default \
  --description "Admin Project" admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维 ③ 创建 admin 用户

$ openstack user create --domain default \
  --password-prompt admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

④创建 admin 角色

$ openstack role create admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑤ 添加admin 角色到 admin 项目和用户上

$ openstack role add --project admin --user admin admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维 ⑥  创建service项目

$ openstack project create --domain default \
  --description "Service Project" service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑦ 查看 (需要后续脚本支持)

# openstack domain list

# openstack project list

# openstack role list

# openstack user list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(7)  创建 OpenStack 客户端环境脚本

编辑文件 admin-openrc,将 ADMIN_PASS 替换为你在认证服务中为 admin 用户选择的密码。

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

7.镜像服务安装

(1)创建数据库

用数据库连接客户端以 root 用户连接到数据库服务器

$ mysql -u root -p

创建 glance 数据库

CREATE DATABASE glance;

对glance数据库授予权限

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
  IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
  IDENTIFIED BY 'GLANCE_DBPASS';

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)创建 glance 用户

① 创建

$ openstack user create --domain default --password-prompt glance

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

查看

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

② 添加 admin 角色到 glance 用户和 service 项目上

$ openstack role add --project service --user glance admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③创建glance服务实体

$ openstack service create --name glance \
  --description "OpenStack Image" image

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

查看

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

④创建镜像服务的 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

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)安装软件包

# yum install openstack-glance

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)编辑文件 /etc/glance/glance-api.conf 

① 在 [database] 部分,配置数据库访问

[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

② 在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
...
flavor = keystone

③在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置

[glance_store]
...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

④在 [database] 部分,配置数据库访问

[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

 ⑤在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
...
flavor = keystone

⑥备份并修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(5)写入镜像服务数据库(忽略输出中任何不推荐使用的信息)

# su -s /bin/sh -c "glance-manage db_sync" glance

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(6)查看数据库

# mysql glance -e "show tables;"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(6)完成安装

启动镜像服务、配置他们随机启动

# systemctl enable openstack-glance-api.service \
  openstack-glance-registry.service
# systemctl start openstack-glance-api.service \
  openstack-glance-registry.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(7) 查看网络

# netstat nltup

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(8)验证操作

①下载源镜像

$ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

② 使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

$ openstack image create "cirros" \
  --file cirros-0.3.4-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③确认镜像的上传并验证属性

$ openstack image list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

④  登录数据库验证

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑤查看

# openstack endpoint list | grep glance

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

8. 计算服务安装(控制节点)

(1)创建数据库

用数据库连接客户端

$ mysql -u root -p

创建 nova_api 和 nova 数据库

CREATE DATABASE nova_api;
CREATE DATABASE nova;

对数据库进行正确的授权

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)创建 nova 用户

$ openstack user create --domain default \
  --password-prompt nova

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

① 给 nova 用户添加 admin 角色

$ openstack role add --project service --user nova admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

② 创建 nova 服务实体

$ openstack service create --name nova \
  --description "OpenStack Compute" compute

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③ 创建 Compute 服务 API 端点

$ openstack endpoint create --region RegionOne \
  compute public http://controller:8774/v2.1/%\(tenant_id\)s

$ openstack endpoint create --region RegionOne \
  compute internal http://controller:8774/v2.1/%\(tenant_id\)s

$ openstack endpoint create --region RegionOne \
  compute admin http://controller:8774/v2.1/%\(tenant_id\)s

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)查看

# openstack endpoint list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4) 安装软件包

# yum install openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(5) 编辑/etc/nova/nova.conf

①  在[DEFAULT]部分,只启用计算和元数据API

[DEFAULT]
...
enabled_apis = osapi_compute,metadata

②在[api_database]和[database]部分,配置数据库的连接

[api_database]
...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

[database]
...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova

③在 [DEFAULT]和 [oslo_messaging_rabbit]部分,配置 RabbitMQ消息队列访问

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

④ 在 [DEFAULT]和 [keystone_authtoken] 部分,配置认证服务访问

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = NOVA_PASS

⑤ 在 [DEFAULT 部分,配置my_ip 来使用控制节点的管理接口的IP 地址

[DEFAULT]
...
my_ip = 192.168.204.210

⑥在 [DEFAULT] 部分,使能 Networking 服务

[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

⑦在[vnc]部分,配置VNC代理使用控制节点的管理接口IP地址

[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

⑧在 [glance] 区域,配置镜像服务 API 的位置

[glance]
...
api_servers = http://controller:9292

⑨在 [oslo_concurrency] 部分,配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

⑩备份并修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(6) 同步Compute 数据库

# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(7)查看数据库

# mysql nova -e "show tables;"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(8)启动 Compute 服务并将其设置为随系统启动

# systemctl enable openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service
# systemctl start openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

 (9) 查看服务列表

# openstack service list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

9. 计算服务安装(计算节点)

(1)安装软件包

# yum install openstack-nova-compute -y

# yum install libvirt -y

# yum install openstack-utils.noarch -y

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)编辑/etc/nova/nova.conf

①在[DEFAULT]和 [oslo_messaging_rabbit]部分,配置RabbitMQ消息队列的连接

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

② 在 [DEFAULT]和 [keystone_authtoken] 部分,配置认证服务访问

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = NOVA_PASS

③ 在 [DEFAULT] 部分,配置 my_ip 选项

[DEFAULT]
...
my_ip = 192.168.204.211

④ 在 [DEFAULT] 部分,使能 Networking 服务

[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

⑤ 在[vnc]部分,启用并配置远程控制台访问

[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

⑥在 [glance] 区域,配置镜像服务 API 的位置

[glance]
...
api_servers = http://controller:9292

⑦ 在 [oslo_concurrency] 部分,配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

⑧ 备份修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)完成安装

①  确定计算节点是否支持虚拟机的硬件加速

$ egrep -c '(vmx|svm)' /proc/cpuinfo

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

② 启动计算服务及其依赖,并将其配置为随系统自动启动

# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)验证操作

查看服务列表

# openstack service list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

10. 网络服务安装(控制节点)

(1)创建数据库

用数据库连接客户端

$ mysql -u root -p

创建neutron数据库

CREATE DATABASE neutron;

对neutron数据库授予合适的访问权限,使用合适的密码替换NEUTRON_DBPASS

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
  IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
  IDENTIFIED BY 'NEUTRON_DBPASS';

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)创建neutron用户

$ openstack user create --domain default --password-prompt neutron

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)添加admin角色到neutron用户

$ openstack role add --project service --user neutron admin

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)创建neutron服务实体

$ openstack service create --name neutron \
  --description "OpenStack Networking" network

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(5)创建网络服务API端点

$ openstack endpoint create --region RegionOne \
  network public http://controller:9696

$ openstack endpoint create --region RegionOne \
  network internal http://controller:9696

$ openstack endpoint create --region RegionOne \
  network admin http://controller:9696

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(6)查看

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维(7)安装 Modular Layer 2 (ML2) 插件

# yum install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(8)编辑/etc/neutron/plugins/ml2/ml2_conf.ini

① 在 [database] 部分,配置数据库访问

[database]
...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

② 在[DEFAULT]部分,启用ML2插件并禁用其他插件

[DEFAULT]
...
core_plugin = ml2
service_plugins =

③ 在 [DEFAULT]和 [oslo_messaging_rabbit]部分,配置 “RabbitMQ” 消息队列的连接

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

④在 [DEFAULT]和 [keystone_authtoken]部分,配置认证服务访问

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

⑤ 在[DEFAULT]和[nova]部分,配置网络服务来通知计算节点的网络拓扑变化

[DEFAULT]
...
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True

[nova]
...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS

⑥ 在 [oslo_concurrency] 部分,配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

⑦备份修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(9)配置 Modular Layer 2 (ML2) 插件,编辑/etc/neutron/plugins/ml2/ml2_conf.ini

①  在[ml2]部分,启用flat和VLAN网络

[ml2]
...
type_drivers = flat,vlan

② 在[ml2]部分,禁用私有网络

[ml2]
...
tenant_network_types =

③ 在[ml2]部分,启用Linuxbridge机制

[ml2]
...
mechanism_drivers = linuxbridge

④在[ml2]部分,启用端口安全扩展驱动

[ml2]
...
extension_drivers = port_security

⑤ 在[ml2_type_flat]部分,配置公共虚拟网络为flat网络

[ml2_type_flat]
...
flat_networks = provider

⑥ 在 [securitygroup]部分,启用 ipset 增加安全组规则的高效性

[securitygroup]
...
enable_ipset = True

(10)备份修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(11)查看IP

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(12)配置Linuxbridge代理,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini

①  在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

② 在[vxlan]部分,禁止VXLAN覆盖网络

[vxlan]
enable_vxlan = False

③ 在 [securitygroup]部分,启用安全组并配置 Linuxbridge iptables firewall driver

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

(13)修改备份

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(14)配置DHCP代理,编辑/etc/neutron/dhcp_agent.ini文件

① 在[DEFAULT]部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

② 修改备份

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(15)配置元数据代理

① 编辑/etc/neutron/metadata_agent.ini文件,在[DEFAULT] 部分,配置元数据主机以及共享密码

[DEFAULT]
...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET

②修改备份

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(16)为计算节点配置网络服务

①编辑/etc/nova/nova.conf文件,在[neutron]部分,配置访问参数,启用元数据代理并设置密码

[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET

② 直接修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(17)完成安装

① 网络服务初始化脚本需要一个超链接 /etc/neutron/plugin.ini指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini。如果超链接不存在,使用下面的命令创建它

# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

② 同步数据库

# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③ 重启计算API 服务

# systemctl restart openstack-nova-api.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(18)查看

# neutron agent-list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

11. 网络服务安装(计算节点)

(1)安装组件

# yum install openstack-neutron-linuxbridge ebtables ipset

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)配置通用组件,编辑/etc/neutron/neutron.conf文件

①在[database]部分,注释所有connection项,因为计算节点不直接访问数据库;

②在 [DEFAULT]和 [oslo_messaging_rabbit]部分,配置 RabbitMQ消息队列的连接

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

③ 在 [DEFAULT]和 [keystone_authtoken]部分,配置认证服务访问(将 NEUTRON_PASS 替换为在认证服务中为 neutron 用户选择的密码)

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

④ 在 [oslo_concurrency] 部分,配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

⑤ 备份修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3)   配置Linuxbridge代理,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini

①  在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

② 在[vxlan]部分,禁止VXLAN覆盖网络

[vxlan]
enable_vxlan = False

③ 在 [securitygroup]部分,启用安全组并配置 Linuxbridge iptables firewall driver

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

④ 备份修改

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)配置网络选项,编辑/etc/nova/nova.conf文件

在[neutron]部分,配置访问参数

[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(5)完成安装

重启计算服务

# systemctl restart openstack-nova-compute.service

启动Linuxbridge代理并配置它开机自启动

# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(6)查看

# neutron agent-list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(7)验证,列出加载的扩展来验证neutron-server进程是否正常启动

$ neutron ext-list

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

12. Dashboard图形化界面安装(控制节点)

(1)安装软件包

# yum install openstack-dashboard

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(2)编辑文件 /etc/openstack-dashboard/local_settings 

① 在 controller 节点上配置仪表盘以使用 OpenStack 服务

OPENSTACK_HOST = "controller"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

②允许所有主机访问仪表板

ALLOWED_HOSTS = ['*', ]

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③ 配置 memcached 会话存储服务

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

CACHES = {
    'default': {
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
         'LOCATION': 'controller:11211',
    }
}

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维④启用第3版认证API

OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑤ 用对域的支持

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑥ 启配置API版本

OPENSTACK_API_VERSIONS = {
    "identity": 3,
    "image": 2,
    "volume": 2,
}

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑦ 通过仪表盘创建用户时的默认域配置为 default

OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "default"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑧ 通过仪表盘创建的用户默认角色配置为 user

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑨ 如果选择网络参数1,禁用支持3层网络服务

OPENSTACK_NEUTRON_NETWORK = {
    ...
    'enable_router': False,
    'enable_quotas': False,
    'enable_distributed_router': False,
    'enable_ha_router': False,
    'enable_lb': False,
    'enable_firewall': False,
    'enable_vpn': False,
    'enable_fip_topology_check': False,
}

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑩可以选择性地配置时区

TIME_ZONE = "Asia/Shagnhai"

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(3) 完成安装

重启web服务器以及会话存储服务

# systemctl restart httpd.service memcached.service

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

(4)验证操作

①验证仪表盘的操作

在浏览器中输入 http://controller/dashboard访问仪表盘。

验证使用 admin用户凭证和default域凭证。

② 登录成功云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

③ 查看项目云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

④查看镜像

云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑤查看用户云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑥ 查看角色云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维

⑦安全云计算:OpenStack 分布式架构部署(单控制节点与单计算节点),云计算,云计算,openstack,架构,运维文章来源地址https://www.toymoban.com/news/detail-772181.html

到了这里,关于云计算:OpenStack 分布式架构部署(单控制节点与单计算节点)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式架构在云计算平台中的应用及优缺点

    【摘要】 云计算平台虽然可以解决数据中心资源使用和效率问题,但如果不解决IT架构问题,云计算平台一样无法满足业务的使用需要,分布式架构自然也成为云计算平台的一种选择。本文针对分布式云计算平台架构四个主要应用场景:分布式存储、分布式VXLAN网络、分布式

    2024年02月09日
    浏览(35)
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记28_控制层上

    2.3.1.1. 专职运维人员的固定成本 2.3.1.2. 部署加速、事故恢复和服务整备等可变成本 6.8.2.1. 软件越难以运维,人们在运维上所花费的时间就越多 6.8.3.1. 有些语言能让程序员快速编程,但需要更多实例处理特定的工作负载(这样就增加了成本) 6.9.8.1. 大多数度量指标数据库

    2024年02月14日
    浏览(26)
  • 部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)

    目录 前置 一、上传解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 (四)配置hdfs-site.xml文件 三、分发到hp2、hp3, 并设置环境变量 (一)准备数据目录    (二)配置环境变量 四、创建数据目录,并

    2024年04月14日
    浏览(47)
  • 【软件开发/设计】分布式架构中的组件(如Kafka、MongoDB和Nginx)如何进行容器化部署

    容器化部署是将应用程序及其依赖打包成一个容器镜像,然后在任何支持容器的环境中运行这个镜像的过程。在分布式架构中,像Nginx、MongoDB、Kafka这样的组件通过容器化可以更易于部署、扩展和管理。以下是这些组件容器化部署的一般步骤和原理: 容器化部署的一般步骤

    2024年02月04日
    浏览(37)
  • 1+X 云计算运维与开发(中级)案例实战——分布式部署集群应用商城系统

    学而不思则罔,思而不学则殆。 IP 主机名 节点 192.168.200.10 mycat Mycat 中间件服务节点 192.168.200.20 db1 MariaDB 数据库集群主节点 192.168.200.30 db2 MariaDB 数据库集群从节点 192.168.200.40 zookeeper1 集群节点 192.168.200.50 zookeeper2 集群节点 192.168.200.60 zookeeper3 集群节点 192.168.200.70 redis 消息队

    2023年04月23日
    浏览(50)
  • 【分布式】分布式存储架构

    说到分布式存储,我们先来看一下传统的存储是怎么个样子。 传统的存储也称为集中式存储, 从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系统中的,但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备,比如下图中的 EMC 存储就需

    2024年02月10日
    浏览(37)
  • 分布式爬虫架构-对等分布式(2)

    前言 本文是该专栏的第45篇,后面会持续分享python爬虫干货知识,记得关注。 在面对海量数据的采集需求时,使用分布式爬虫是非常有必要的。继上一篇,详细介绍主从分布式爬虫架构,对主从分布式相关知识感兴趣的同学,可往前翻阅。而本文,笔者再单独来详细介绍分布

    2023年04月25日
    浏览(40)
  • .NET CORE开源 DDD微服务 支持 多租户 单点登录 多级缓存、自动任务、分布式、日志、授权和鉴权 、网关 、注册与发现 系统架构 docker部署

    源代码地址https://github.com/junkai-li/NetCoreKevin 基于NET6搭建跨平台DDD思想WebApi架构、IDS4单点登录、多缓存、自动任务、分布式、多租户、日志、授权和鉴权、CAP、SignalR、 docker部署  如需简约项目可直接去除项目引用 解耦设计都可以单独引用 架构默认全部引用并启动 项目启动时

    2023年04月24日
    浏览(35)
  • 分布式系统架构设计之分布式缓存技术选型

    随着互联网业务的快速发展,分布式系统已经成为了解决大规模并发请求、高可用性、可扩展性等问题的重要手段。在分布式系统中,缓存作为提高系统性能的关键技术,能够显著降低数据库负载、减少网络延迟、提高数据访问速度。当面对大量并发请求时,如果每次都直接

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包