云计算职业技能入门教程

云计算职业技能入门教程

本教程基于centos7.5系统和openstack(Q)版部署,全国职业技能大赛云计算赛项提供的镜像包支持。

在这里插入图片描述

设备名称主机名接口IP地址
云服务器1controllereth0172.129.x.0/24
eth1自定义
云服务器2computeeth0172.129.x.0/24
eth1自定义
PC-1本地连接172.24.16.0/24

注(拓扑图解析):

拓扑图中使用个人PC机,通过交换机连接竞赛系统提供的私有云竞赛平台(该私有云竞赛平台为本教程搭建好的open stack私有云平台)。
在提供的私有云平台中,创建两台云主机,作为controller和compute节点,其中云主机的第一张网卡的IP为表格中的地址,X为工位号(比赛时自己的号码,训练时改IP可自行定义)。

实验准备

  1. 两台空配的centos7.5系统的云主机(主机名自定义)

  2. 每台云主机的系统配额不得低于4CPU,8G内存,50G硬盘

  3. CentOS-7-x86_64-DVD-1804.iso镜像文件(centos7.5系统镜像)

  4. chinaskills_cloud_iaas.iso镜像文件(open stack软件镜像包)

    注:

    如果条件不允许,可使用VMware工具,创建两台centos系统的虚拟机,需要注意的是,第一张网卡模式自定义,只要你的PC宿主机能ping通就行,第二张网卡模式必须为NAT模式,可在“虚拟网络编辑器”-选择需要设置的网卡-点击“NAT设置”-设置“网关IP(G)”,设置该网卡所在网段的网关IP。
    

服务部署

1.编辑hosts文件和主机名
  1. 设置主机名

    基础命令:hostnamectl set-hostname <主机名>
    hostnamectl set-hostname compute
    hostnamectl set-hostname controller
    
  2. 编辑hosts文件

    基础命令:echo <ip> <主机名> <文件路径>
    echo 172.129.10.10 controller >> /etc/hosts
    echo 172.129.10.10 compute >> /etc/hosts
    
    #将controller节点的hosts文件复制到compute节点:
    基础命令:scp <原文件路径/原文件名> <目的主机名称或IP>:<目的文件路径/目的文件名>,其中确保目标主机可ping通
    scp /etc/hosts 172.129.10.20:/etc/hosts   (按提示输入:yes和目标主机root用户密码)
    
2.制作yum源和软件仓库

注:常用yum源

  1. 本地yum源

    baseurl=file:///opt/centos/,其中,baseurl键值对后面跟以file协议的路径为本地yum源
    
  2. ftp源

    baseurl=ftp://192.168.10.10/opt/centos/,baseurl键值对后面跟以ftp协议的路径为ftp的yum源,注意,使用ftp源时,需安装ftp服务器,在客户机上使用ftp源
    
  3. http源

    baseurl=http://192.168.10.10/opt/centos/,baseurl键值对后面跟以http协议的路径为http的yum源,注意,使用http源时,需安装http服务器,在客户机上使用http源
    

    上传iaas和centos的iso镜像文件到controller,在opt目录下创建相应文件夹,并将镜像临时挂载到相应文件夹下

    [root@controller ~]# mkdir /opt/{centos,iaas}      {}表示同时创建
    [root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /opt/centos/
    [root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /opt/iaas/
    基础命令: mount -o loop <相对(或绝对)文件路径/iso文件名称> <挂载路径>
    挂载查看命令:[root@controller ~]# df -h 
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   50G  8.8G   41G  18% /
    devtmpfs                 971M     0  971M   0% /dev
    tmpfs                    983M     0  983M   0% /dev/shm
    tmpfs                    983M  9.6M  974M   1% /run
    tmpfs                    983M     0  983M   0% /sys/fs/cgroup
    /dev/sda1                197M  120M   78M  61% /boot
    tmpfs                    197M     0  197M   0% /run/user/0
    /dev/loop0               4.2G  4.2G     0 100% /opt/centos     这里
    /dev/loop1               3.6G  3.6G     0 100% /opt/iaas       这里表示挂载成功
    
    备份原有yum源文件,并制作yum源
    [root@controller ~]# mv /etc/yum.repos.d/* /home/  #将/etc/yum.repos.d/下的所有文件移动到/home下
    [root@controller ~]# vi /etc/yum.repos.d/local.repo    #编辑local.repo文件,其中local可自定义
    /etc/yum.repos.d/local.repo 内容如下:
    [centos]    #一组yum源标签
    name=centos   #该yum源的名称
    gpgcheck=0    #是否启用gpg检查,0为不启用,1为启用,后面接gpgcheck码
    baseurl=file:///opt/centos/   #软件仓库路径,可为file,ftp,http等
    
    [openstack]
    name=openstack
    gpgcheck=0
    baseurl=file:///opt/iaas/iaas-repo
    
    检查yum源是否可用
    [root@controller ~]# yum repolist 
    

    如图表示yum源可用:

在这里插入图片描述

注:compute节点yum仓库使用ftp源

以controller节点作为ftp服务器,compute节点作为客户机

controller:

安装ftp服务
[root@controller ~]# yum install vsftpd -y  安装vsftp服务
将opt下的所有文件夹共享出去,允许任何人以root用户访问
[root@controller ~]# echo anon_root=/opt >> /etc/vsftpd/vsftpd.conf  
重启vsftpd即可生效配置
systemctl restart vsftpd
注意点:如果你要共享的目录下的文件夹被挂载了其他文件,则ftp无法访问,解决办法,将已经挂载的镜像文件取消挂载,并重新挂载到其他文件夹下,并将该文件夹下的所有文件拷贝到需要共享的文件夹下即可;使用ftp源的时候确保ftp服务器防火墙已关闭

compute:

备份原有的yum文件,
[root@compute ~]# mv /etc/yum.repos.d/* /home/
编辑ftp源的yum文件
[root@compute ~]# vi /etc/yum.repos.d/ftp.repo
内容如下:
[centos]
name=centos
gpgcheck=0
baseurl=ftp://172.129.10.10/centos/

[openstack]
name=openstack
gpgcheck=0
baseurl=ftp://172.129.10.10/iaas/iaas-repo

repolist一下,查看yum源是否可用
3.安装脚本文件和设置变量文件

1.安装脚本

controller和compute都需要安装

[root@controller ~]# yum install iaas-xiandian -y

2.编辑变量文件

两个节点都需要编辑变量文件
[root@controller ~]# vi /etc/xiandian/openrc.sh

变量内容如下:

HOST_IP=172.168.10.10                #controller节点的IP
HOST_PASS=000000                     #controller节点的root用户的密码
HOST_NAME=controller                 #controller节点的主机名
HOST_IP_NODE=172.129.10.20           #compute节点的IP
HOST_PASS_NODE=000000                #compute节点的root用户密码
HOST_NAME_NODE=compute               #compute节点的主机名
etwork_segment_IP=172.129.10.0/24    #时间同步服务的服务主机所在网段
RABBIT_USER=openstack                #rabbitmq服务的管理员用户
RABBIT_PASS=000000                   #rabbitmq服务的管理员密码
DB_PASS=000000                       #数据库的密码
DOMAIN_NAME=demo                     #open stack的domain域的名称
ADMIN_PASS=000000                    #open stack的管理员密码
DEMO_PASS=000000                     #open stack的demo域名称
KEYSTONE_DBPASS=000000               #keystone组件的数据库密码
GLANCE_DBPASS=000000                 #glance组件的数据库密码
GLANCE_PASS=000000                   #glance组件的密码 
NOVA_DBPASS=000000                   #nova组件的数据库密码
NOVA_PASS=000000                     #nova组件的密码
NEUTRON_DBPASS=000000                #neutron组件的数据库密码
NEUTRON_PASS=000000                  #neutron组件的密码
METADATA_SECRET=000000               #资源数据的密码
INTERFACE_IP=172.129.10.10           #controller与compute通信的隧道接口IP(controller节点为第一张网卡IP,compute节点为第一张网卡IP)
INTERFACE_NAME=eth1                  #对外接口名称,及第二张网卡名称
Physical_NAME=provider               #物理网卡名称
minvlan=101                          #vxlan最小标签
maxvlan=200                          #vxlan最大标签

注意:compute节点的环境变量与controller节点的基本相同,除了“INTERFACE_IP=172.129.10.10”的IP为各自节点的第一张网卡IP
两个节点都编辑好变量后,将每个变量前的“#”删掉
快捷命令:[root@controller ~]# sed -i "s/^#//g" /etc/xiandian/openrc.sh
命令解析:将/etc/xiandian/openrc.sh文件的每一行的第一个“#”替换为空字符
4.初始化系统环境
初始化系统变量,双节点都执行脚本:
[root@controller ~]# iaas-pre-host.sh 
5.controller节点部署服务
controller节点执行一下脚本(顺序不可变):
[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# iaas-install-nova-controller.sh
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-dashboard.sh
6.compute节点部署服务
compute节点执行一下脚本(必须在controller节点脚本执行完后执行):
[root@compute ~]# iaas-install-nova-compute.sh
[root@compute ~]# iaas-install-neutron-compute.sh
7.将controller节点资源加入平台中
修改openrc.sh环境变量中的值,然后执行相关脚本
HOST_IP_NODE=172.129.10.10     #将compute节点的IP改为controller的
HOST_PASS_NODE=000000          #将compute节点的root用户密码改为controller的
HOST_NAME_NODE=controller      #将compute节点的主机名改为controller的

执行脚本:
[root@controller ~]# iaas-install-nova-compute.sh
8.实验查看
打开浏览器,输入controller节点的IP/dashboard即可访问,域名:demo,用户名:admin,密码:000000

实验总结

  1. 熟练掌握linux的基本命令用法,如mkdir,mv,cp,scp,sed。
  2. yum原的三种写法,baseurl后面跟file,ftp,http协议。
  3. file源的写法注意:baseurl=file:///XXXX此处的三条斜杠前两个表示协议,后一个表示根目录。
  4. ftp源写法注意:baseurl=ftp://172.129.10.10/centos/此处可为IP也可为主机名,若为主机名时,需在hosts文件下写入主机名解析,被共享的目录可不用写,直接写共享目录下的目录即可。
  5. ftp使用注意,①需选择一台主机作为ftp服务器,并且关闭该服务器的防火墙。②如果ftp正常工作,但无法访问共享目录,查看该目录下的文件夹是否被挂载文件了。
  6. http使用注意,与ftp基本相同,写法也基本一致,需部署http服务器,直接安装httpd即可,在/var/www/html/下创建相关文件夹,继续操作即可。
  7. 执行脚本时,必须在controller节点执行完后才可执行compute节点的脚本,且以上脚本执行顺序不可变。
  8. 如果使用VMware部署,执行脚本后,遇到数据库莫名启动失败,主机内存低了,关机给controller加点内存。
  9. 使用vmware部署,两个节点需关闭防火墙。

创作不易,感谢阅读,关注,点赞加打赏,后续继续更新 q(≧▽≦q)!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cloud study

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

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

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

打赏作者

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

抵扣说明:

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

余额充值