# 官方提供@yunTaoScripts Openstack 引入 🔥🔥

loading

# 云计算

# 定义

维基百科的定义:云计算就是通过 互联网 的方式将 共享的软硬件资源和信息,以 按需的方式 提供给计算机终端和其他设备。

  • 通过互联网的途径获取服务
    • 也就是说你只要能连接上互联网就行,你不需要关心背后的服务是如何提供的,比如机房在哪里,服务在哪里,服务是怎么部署的。你只要有互联网和终端(一般就是浏览器)即可。
  • 云计算的资源共享
    • 云计算的硬件和软件资源都是可以共享的,也就是说处在不同地理位置的两个人,使用了同一个服务,为这两个人提供服务的可能是同一台服务器,甚至是同一个进程。底层的计算资源是以共享池的方式为用户提供服务的。
  • 按需提供服务
    • 云计算的资源就像我们生活种使用的水和电一样,你用的时候才会计费,不用的时候是没有任何费用的。云计算的本质是按需提供服务。
  • 按照提供服务的层次分可以分为 IaaS 服务,PaaS 服务和 SaaS 服务。
  • 云计算的目的是 提升整个IT服务的效率降低成本

# 云计算的分类 (opens new window)

# 相关阅读 (opens new window)

# Openstack介绍

# 相关阅读 (opens new window)

# 使用Packstack安装Openstack

关闭所有节点selinux 和 firewalld

[root@openstack-71 ops]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

vnc需要hosts,否则控制台不识别

[root@openstack-73 ops]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.26.71 openstack-71
192.168.26.72 openstack-72
192.168.26.73 openstack-73
  • 配置安装源
rm -rf /etc/yum.repos.d/*
wget ftp://ftp.rhce.cc/ops/* -P /etc/yum.repos.d/

[root@openstack-vms71 ~]# yum list *packstack*
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
可安装的软件包
openstack-packstack.noarch        1:13.0.0-1.el7  Aliyun-openstack
openstack-packstack-doc.noarch    1:13.0.0-1.el7  Aliyun-openstack
openstack-packstack-puppet.noarch 1:13.0.0-1.el7  Aliyun-openstack
[root@openstack-vms71 ~]# yum install openstack-packstack -y
  • 主节点生成应答文件
[root@openstack-vms71 ~]# packstack --help | grep answer
  --gen-answer-file=GEN_ANSWER_FILE
                        Generate a template of an answer file.
  --validate-answer-file=VALIDATE_ANSWER_FILE
                        Check if answerfile contains unexpected options.
  --answer-file=ANSWER_FILE
                        answerfile will also be generated and should be used
  -o, --options         Print details on options available in answer file(rst
                        Packstack a second time with the same answer file and
[root@openstack-vms71 ~]# packstack --gen-answer-file=GEN_ANSWER_FILE
Packstack changed given value  to required value /root/.ssh/id_rsa.pub
[root@openstack-vms71 ~]# ll
总用量 60
-rw-------. 1 root root  1461 226 2022 anaconda-ks.cfg
-rw-------  1 root root 51797 1212 13:41 GEN_ANSWER_FILE
  • 修改应答文件, 修改计算节点信息,时钟同步服务器
sed -i '/^CONFIG_PROVISION_DEMO=/cCONFIG_PROVISION_DEMO=n' GEN_ANSWER_FILE
sed -i '/^CONFIG_NEUTRON_ML2_TYPE_DRIVERS=/cCONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat, vxlan' GEN_ANSWER_FILE
sed -i '/^CONFIG_NEUTRON_ML2_FLAT_NETWORKS=/cCONFIG_NEUTRON_ML2_FLAT_NETWORKS=datacentre' GEN_ANSWER_FILE
sed -i '/^CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=/cCONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=datacentre:br-ex' GEN_ANSWER_FILE
sed -i.bak -r 's/(.+_PW)=[0-9a-z]+/\1=redhat/g' GEN_ANSWER_FILE

[root@openstack-71 ~]# egrep 'ntp.aliyun|192.168.26.72' GEN_ANSWER_FILE
CONFIG_NTP_SERVERS=ntp.aliyun.com
CONFIG_COMPUTE_HOSTS=192.168.26.71,192.168.26.72
  • 安装额外包
[root@openstack-vms71 ops]# ll
总用量 588
-rw-r--r-- 1 root root  49133 1212 15:59 python2-pyngus-2.3.0-1.el7.noarch.rpm
-rw-r--r-- 1 root root 339667 1212 15:59 python2-qpid-proton-0.31.0-3.el7.x86_64.rpm
-rw-r--r-- 1 root root 208640 1212 15:59 qpid-proton-c-0.31.0-3.el7.x86_64.rpm
-rw-r--r-- 1 root root   1045 1212 15:59 rocky-repo.tar.gz
[root@openstack-vms71 ops]# rpm -ivh *.rpm
[root@openstack-vms71 ~]# packstack --answer-file=GEN_ANSWER_FILE
  • 安装openstack

Warning: NetworkManager is active on 192.168.26.71, 192.168.26.72.

systemctl stop NetworkManager
systemctl disable NetworkManager

facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory

# 每个节点都更新下
yum remove leatherman-1.10.0-1.el7.x86_64 -y
yum install  leatherman-1.3.0-9.el7.x86_64  -y
yum install openstack-packstack -y
[root@openstack-vms71 ~]# packstack --answer-file=GEN_ANSWER_FILE

Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 解决方法

sshd 服务记得允许账号密码登陆,否则脚本运行失败。

vmware 挂起虚拟机 检查服务是否正常

[root@openstack-vms71 ~]# systemctl is-active neutron-openvswitch-agent.service 
active
  • 创建网络

只需要修改主节点

[root@vms51 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex 
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=none
IPADDR=192.168.26.71
NETMASK=255.255.255.0
GATEWAY=192.168.26.2
DNS1=192.168.26.2
ONBOOT=yes
[root@vms51 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE=ens32 
DEVICETYPE=ovs 
TYPE=OVSPort 
ONBOOT=yes 
BOOTPROTO=none 
OVS_BRIDGE=br-ex 
[root@vms51 ~]# systemctl restart network

# 通过dashboard操作openstack

# admin用户设置和修改密码

# 创建项目、用户和组

  • _member_ : 这个指项目的管理员权限,权限会大一点
  • member: 这个指项目的普通用户权限,权限会小一点

# 创建镜像

  • kvm 使用镜像格式: QCOW2
  • vmware 使用镜像格式: VMDK

只有管理员才能上传共有镜像,其他用户只能上传私有镜像。

# 创建实例类型

  • 只有管理员可以创建实例类型flavor

# 创建网络

  • 需要管理员创建外部网络供所有人使用。
  • 用户创建内部网络和路由
  • 内网ip 叫fixed ip
  • 外网ip 叫 float ip
  • 固定外网ip 只能管理员分配,用户只能获取随机浮动IP

# 创建安全组

  • 默认安全组外部无法访问,需要新建安全组允许外部访问。

# 创建卷

  • 创建卷
  • 挂载卷
  • 扩展卷

# 主机聚合

  • 将主机划分可用区

# 实例热迁移

  • 只有管理员可以操作

# 密钥对

  • 实现免密登陆
[root@openstack-vms71 ~]# chmod 600 boeing.pem 
[root@openstack-vms71 ~]# ssh -i boeing.pem 192.168.26.28
Please login as 'cirros' user, not as root
[root@openstack-vms71 ~]# ssh -i boeing.pem cirros@192.168.26.28

注意

admin 用户可能 无法自动下载pem 密钥

# 对象存储

  • 上传下载文件,类似百度网盘。
最后修改时间: 12/31/2022, 12:00:03 PM