jjzjj

原生RedHat OpenStack搭建

坏坏-5 2023-10-13 原文

文章目录


OpenStack的搭建方式

  • Allinone
    • 在一台服务节点上安装阉割版的OpenStack,再使用此节点,在其他三个节点上安装不同的组件
  • TrpileO(OpenStack On OpenStack)
  • PackStack(RedHat)
  • Ansbile(自动化运维工具)
  • 原生OpenStack安装时,是手动安装各个组件

实验软件及镜像

  • 镜像【下载】,提取码Bad5
    软件作用
    VMware Workstation Pro用于部署实验主机节点
    Xshell/Putty/Mobaxterm用于远程连接节点主机
    WinSCP用于上传ISO镜像文件至节点主机
    rhel-server-7.1-x86_64-dvd.iso用于安装节点主机的镜像文件
    RHEL7OSP-6.0-2015-02-23.2-x86_64.iso用于安装搭建OpenStack
    small.img用于发放云主机

实验环境

  • 实验使用的为RHEL7.1版本的Linux,网络模式为仅主机模式,桥接到物理主机的VMnet1网卡,VMnnet1网卡的IP作为节点主机的DNS服务器
    主机名IP地址功能配置
    NTP192.168.43.128提供 NTP服务以及网络YUM源2CPU/1G_RAM/200G_Disk
    Controller192.168.43.129作为管理节点和计算节点2CPU/4G_RAM/200G_Disk
    Compute192.168.43.130作为计算节点2CPU/4G_RAM/200G_Disk
    物理主机VMnet1192.168.43.1

配置NTP节点

初始化配置

  • 修改主机名为NTP
  • 关闭SeLinux
  • 配置主机的IP地址、子网掩码、网关以及DNS
  • 禁止NetworkManager开机自启
  • 关闭防火墙并禁止防火墙开机自启,检查防火墙的状态
  • 重启节点主机
[root@localhost ~]# vim /etc/hostname
  NTP
[root@localhost ~]# vim /etc/selinux/config
  SELINUX=disabled
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
  TYPE=Ethernet
  BOOTPROTO=static
  NAME=eno16777736
  DEVICE=eno16777736
  ONBOOT=yes
  IPADDR=192.168.43.128
  NETMASK=255.255.255.0
  GATEWAY=192.168.43.1
  DNS1=192.168.43.1
[root@localhost ~]# systemctl disable NetworkManager
[root@localhost ~]# systemctl stop firewall.service
[root@localhost ~]# systemctl disable firewall.service
[root@localhost ~]# systemctl status firewall.service
firewall.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
[root@localhost ~]# reboot

配置本地yum仓库

  • 配置本地yum源文件
  • 挂载RHEL7.1的镜像文件到NTP节点主机的/mnt下
[root@NTP ~]# cd /etc/yum.repos.d/
[root@NTP yum.repos.d]# ls
[root@NTP yum.repos.d]# vim RHEL.repo
  [Base]
  name=RHEL
  baseurl=file:///mnt
  gpgcheck=0
  enable=1
[root@NTP yum.repos.d]# mount /dev/cdrom /mnt/    #将ISO文件挂载到/mnt下
mount: /dev/sr0 is write-protected, mounting read-only
[root@NTP yum.repos.d]# yum clean all     #清除yum缓存
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: InstallMedia Base
Cleaning up everything
[root@NTP yum.repos.d]# yum repolist    #刷新yum仓库
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Base                                                     | 4.1 kB     00:00
(1/2): Base/group_gz                                       | 134 kB   00:00
(2/2): Base/primary_db                                     | 3.4 MB   00:00
repo id                               repo name                           status
Base                                  RHEL                                4,371
repolist: 4,371

上传镜像文件至NTP节点

  • 创建/iso目录,用于存放镜像文件
  • 使用WinSCP或Mobaxterm将镜像文件上传到NTP节点
[root@NTP ~]# mkdir /iso
[root@NTP ~]# cd /iso/
[root@NTP iso]# ls
RHEL7OSP-6.0-2015-02-23.2-x86_64.iso  rhel-server-7.1-x86_64-dvd.iso

搭建基于http的网络yum源

  • 安装http服务,启动http服务,并设置开机自启动
  • 查看http服务的状态
  • 创建发布目录,并配置镜像文件开机自动挂载到发布目录
  • 重新配置基于http的网络yum源仓库,并测试网络yum源的可用性(如果在yum仓库的目录中还有系统自动生成的其他.repo的文件,需要全部删掉,避免影响之后的实验)
[root@NTP ~]# yum  -y install httpd
[root@NTP ~]# systemctl start httpd
[root@NTP ~]# systemctl enable httpd
[root@NTP ~]# systemctl status httpd
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
   Active: active (running) since Thu 2023-01-12 15:55:35 CST; 19s ago
 Main PID: 10713 (httpd)
  ......
[root@NTP ~]# mkdir /var/www/html/{ISO,OpenStack}
[root@NTP ~]# cd /var/www/html/
[root@NTP html]# ls
ISO  OpenStack
[root@NTP html]# vim /etc/fstab    #配置开机自动挂载
[root@NTP html]# tail -2 /etc/fstab
/iso/rhel-server-7.1-x86_64-dvd.iso /var/www/html/ISO iso9660 defaults,loop,ro 0 0
/iso/RHEL7OSP-6.0-2015-02-23.2-x86_64.iso /var/www/html/OpenStack iso9660 defaults,loop,ro 0 0
[root@NTP html]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   50G  7.1G   43G  15% /
devtmpfs               481M     0  481M   0% /dev
tmpfs                  490M  140K  490M   1% /dev/shm
tmpfs                  490M  7.1M  483M   2% /run
tmpfs                  490M     0  490M   0% /sys/fs/cgroup
/dev/sda1              497M  124M  373M  25% /boot
/dev/mapper/rhel-home  148G   33M  148G   1% /home
/dev/sr0               3.7G  3.7G     0 100% /mnt
[root@NTP html]# mount -a  #重新读取fstab文件,进行挂载
[root@NTP html]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   50G  7.1G   43G  15% /
devtmpfs               481M     0  481M   0% /dev
tmpfs                  490M  140K  490M   1% /dev/shm
tmpfs                  490M  7.1M  483M   2% /run
tmpfs                  490M     0  490M   0% /sys/fs/cgroup
/dev/sda1              497M  124M  373M  25% /boot
/dev/mapper/rhel-home  148G   33M  148G   1% /home
/dev/sr0               3.7G  3.7G     0 100% /mnt
/dev/loop0             3.7G  3.7G     0 100% /var/www/html/ISO
/dev/loop1             515M  515M     0 100% /var/www/html/OpenStack
[root@NTP html]# cd /etc/yum.repos.d/
[root@NTP yum.repos.d]# vim RHEL.repo
  [Base]
  name=RHEL
  baseurl=http://192.168.43.128/ISO
  gpgcheck=0
  enable=1
[root@NTP yum.repos.d]# vim OpenStack.repo
  [RH7-RHOS-6.0-Installer]
  name=RH7-RHOS-6.0-Installer
  baseurl=http://192.168.43.128/OpenStack/RH7-RHOS-6.0-Installer
  gpgcheck=0
  enabled=1

  [RH7-RHOS-6.0]
  name=RH7-RHOS-6.0
  baseurl=http://192.168.43.128/OpenStack/RH7-RHOS-6.0
  gpgcheck=0
  enabled=1

  [RHEL-7-RHSCL-1.2]
  name=RHEL-7-RHSCL-1.2
  baseurl=http://192.168.43.128/OpenStack/RHEL-7-RHSCL-1.2
  gpgcheck=0
  enabled=1

  [RHEL7-Errata]
  name=RHEL7-Errata
  baseurl=http://192.168.43.128/OpenStack/RHEL7-Errata
  gpgcheck=0
  enabeld=1
[root@NTP yum.repos.d]# yum clean all
[root@NTP yum.repos.d]# yum repolist all
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Base                                                     | 4.1 kB     00:00
RH7-RHOS-6.0                                             | 1.3 kB     00:00
RH7-RHOS-6.0-Installer                                   | 1.2 kB     00:00
RHEL-7-RHSCL-1.2                                         | 3.3 kB     00:00
RHEL7-Errata                                             | 2.9 kB     00:00
(1/6): Base/group_gz                                       | 134 kB   00:00
(2/6): Base/primary_db                                     | 3.4 MB   00:00
(3/6): RH7-RHOS-6.0/primary                                | 117 kB   00:00
(4/6): RHEL-7-RHSCL-1.2/primary_db                         | 776 kB   00:00
(5/6): RHEL7-Errata/primary_db                             |  10 kB   00:00
(6/6): RH7-RHOS-6.0-Installer/primary                      |  47 kB   00:00
RH7-RHOS-6.0                                                            393/393
RH7-RHOS-6.0-Installer                                                  194/194
repo id                          repo name                        status
Base                             RHEL                             enabled: 4,371
RH7-RHOS-6.0                     RH7-RHOS-6.0                     enabled:   393
RH7-RHOS-6.0-Installer           RH7-RHOS-6.0-Installer           enabled:   194
RHEL-7-RHSCL-1.2                 RHEL-7-RHSCL-1.2                 enabled: 1,766
RHEL7-Errata                     RHEL7-Errata                     enabled:    11
repolist: 6,735

搭建NTP服务

  • 安装NTP服务
  • 配置NTP服务,将NTP节点主机作为服务端。控制节点和计算节点会向NTP节点进行时间同步
  • 启动NTP服务,并设置开机自启动,查看NTP服务的状态
  • 关闭chrony服务,并禁止开机自启。此服务也可以作为时间同步服务器,会和NTP冲突
[root@NTP yum.repos.d]# cd
[root@NTP ~]# rpm -qa | grep ntp    #查看是否安装了NTP服务
ntpdate-4.2.6p5-19.el7_0.x86_64
fontpackages-filesystem-1.44-8.el7.noarch
[root@NTP ~]# yum -y install ntp
    ....
Installed:
  ntp.x86_64 0:4.2.6p5-19.el7_0

Complete!
[root@NTP ~]# vim /etc/ntp.conf    #将网络时间同步服务器注释,配置自身作为时间同步服务器
  ......
   21 #server 0.rhel.pool.ntp.org iburst
   22 #server 1.rhel.pool.ntp.org iburst
   23 #server 2.rhel.pool.ntp.org iburst
   24 #server 3.rhel.pool.ntp.org iburst
   25
   26 server 127.127.1.0    #配置时间同步服务器为自身
   27 fudge 127.127.1.0 stratum 10    #配置自身作为时间同步服务器
  ......
[root@NTP ~]# systemctl start ntpd
[root@NTP ~]# systemctl enable ntpd    #配置NTP服务开机自启动
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'
[root@NTP ~]# systemctl status ntpd
ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled)
   Active: active (running) since Thu 2023-01-12 16:24:12 CST; 18s ago
 Main PID: 21546 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─21546 /usr/sbin/ntpd -u ntp:ntp -g
  ......
[root@NTP ~]# systemctl stop chrony
[root@NTP ~]# systemctl disable chronyd.service
rm '/etc/systemd/system/multi-user.target.wants/chronyd.service'
[root@NTP ~]# systemctl status chronyd.service
chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled)
   Active: inactive (dead)
  ......

NTP节点配置完成

配置Controller控制节点和Compute计算节点

初始化配置

  • 修改主机名为Controller
  • 关闭SeLinux
  • 配置主机的IP地址、子网掩码、网关以及DNS(这里回归了网卡传统命名,所以是ifcfg-eth0)
  • 禁止NetworkManager开机自启
  • 关闭防火墙并禁止防火墙开机自启,检查防火墙的状态
  • 重启节点主机
[root@localhost ~]# vim /etc/hostname
  Controller
[root@localhost ~]# vim /etc/selinux/config
  SELINUX=disabled
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  TYPE=Ethernet
  BOOTPROTO=static
  NAME=eth0
  DEVICE=eth0
  ONBOOT=yes
  IPADDR=192.168.43.129
  NETMASK=255.255.255.0
  GATEWAY=192.168.43.1
  DNS1=192.168.43.1
[root@localhost ~]# systemctl disable NetworkManager
[root@localhost ~]# systemctl stop firewall.service
[root@localhost ~]# systemctl disable firewall.service
[root@localhost ~]# systemctl status firewall.service
firewall.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
[root@localhost ~]# reboot

重启完成后,测试与NTP节点主机的连通性

  • 在NTP节点主机,将配置好的网络yum源仓库文件传给Controller控制节点
[root@NTP ~]# cd /etc/yum.repos.d/
[root@NTP yum.repos.d]# ls
OpenStack.repo  redhat.repo  RHEL.repo
[root@NTP yum.repos.d]# rm -rf redhat.repo
[root@NTP yum.repos.d]# ls
OpenStack.repo  RHEL.repo
[root@NTP yum.repos.d]# scp ./* root@192.168.43.129:/etc/yum.repos.d/
The authenticity of host '192.168.43.129 (192.168.43.129)' can't be established.
ECDSA key fingerprint is e9:ee:b8:50:13:9b:f7:de:70:ef:44:1f:11:35:cb:54.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.43.129' (ECDSA) to the list of known hosts.
root@192.168.43.129's password:
OpenStack.repo                                100%  473     0.5KB/s   00:00
RHEL.repo                                     100%   71     0.1KB/s   00:00
  • 在控制节点测试网络yum源仓库的可用性
[root@Controller ~]# cd /etc/yum.repos.d/
[root@Controller yum.repos.d]# ls
OpenStack.repo  redhat.repo  RHEL.repo
[root@Controller yum.repos.d]# yum clean all
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: Base RH7-RHOS-6.0 RH7-RHOS-6.0-Installer RHEL-7-RHSCL-1.2
              : RHEL7-Errata
Cleaning up everything
[root@Controller yum.repos.d]# yum repolist all
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Base                                                     | 4.1 kB     00:00
RH7-RHOS-6.0                                             | 1.3 kB     00:00
RH7-RHOS-6.0-Installer                                   | 1.2 kB     00:00
RHEL-7-RHSCL-1.2                                         | 3.3 kB     00:00
RHEL7-Errata                                             | 2.9 kB     00:00
(1/6): Base/group_gz                                       | 134 kB   00:00
(2/6): RHEL7-Errata/primary_db                             |  10 kB   00:00
(3/6): RH7-RHOS-6.0-Installer/primary                      |  47 kB   00:00
(4/6): RH7-RHOS-6.0/primary                                | 117 kB   00:00
(5/6): Base/primary_db                                     | 3.4 MB   00:00
(6/6): RHEL-7-RHSCL-1.2/primary_db                         | 776 kB   00:00
RH7-RHOS-6.0                                                            393/393
RH7-RHOS-6.0-Installer                                                  194/194
repo id                          repo name                        status
Base                             RHEL                             enabled: 4,371
RH7-RHOS-6.0                     RH7-RHOS-6.0                     enabled:   393
RH7-RHOS-6.0-Installer           RH7-RHOS-6.0-Installer           enabled:   194
RHEL-7-RHSCL-1.2                 RHEL-7-RHSCL-1.2                 enabled: 1,766
RHEL7-Errata                     RHEL7-Errata                     enabled:    11
repolist: 6,735
  • 在Compute计算节点同样的初始化配置节点主机,并测试连通性
  • 将NTP节点主机的yum源仓库文件上传到Compute计算节点上,并测试网络yum源仓库的可用性

安装RedHat OpenStack

  • 在控制节点安装packstack工具,用于安装部署OpenStack
  • 安装完成后,检查控制节点的DNS是否配置正确。如果配置不正确,需要在网卡的配置文件中重新配置DNS
[root@Controller ~]# yum -y install openstack-packstack
   ......
Installed:
  openstack-packstack.noarch 0:2014.2-0.16.dev1401.gdd19d48.el7ost

Dependency Installed:
  PyYAML.x86_64 0:3.10-11.el7
  libyaml.x86_64 0:0.1.4-11.el7_0
  openstack-packstack-puppet.noarch 0:2014.2-0.16.dev1401.gdd19d48.el7ost
  openstack-puppet-modules.noarch 0:2014.2.8-2.el7ost
    ......
Complete!
[root@Controller ~]# cat /etc/resolv.conf
nameserver 192.168.43.1

安装部署OpenStack

  • 生成应答文件,并修改该应答文件
  • 利用应答文件,使用packstack工具安装OpenStack
[root@Controller ~]# packstack --gen-answer-file=/root/ans.txt
Packstack changed given value  to required value /root/.ssh/id_rsa.pub
[root@Controller ~]# cd /root/
[root@Controller ~]# ls
anaconda-ks.cfg  Desktop    Downloads             Music     Public     Videos
ans.txt          Documents  initial-setup-ks.cfg  Pictures  Templates
[root@Controller ~]# vim ans.txt
  ......
  67 CONFIG_NTP_SERVERS=192.168.43.128  #配置NTP服务器节点
  ......
  85 CONFIG_CONTROLLER_HOST=192.168.43.129  #配置控制节点
  ......
  89 CONFIG_COMPUTE_HOSTS=192.168.43.129,192.168.43.130  #配置多计算节点,控制节点复用
  ......
  93 CONFIG_NETWORK_HOSTS=192.168.43.129  #配置网络节点,控制节点暂代
  ......
  246 CONFIG_KEYSTONE_ADMIN_PW=badboy  #配置Web界面管理员登录密码 
  ......
  560 CONFIG_HORIZON_SSL=y   #配置加密通信的Web界面
  ......
  629 CONFIG_PROVISION_DEMO=n  #配置不创建演示环境
  ......
[root@Controller ~]# packstack --answer-file=/root/ans.txt
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20230112-173134-eqBcat/openstack-setup.log

Installing:
Clean Up                                             [ DONE ]
root@192.168.43.129's password:
root@192.168.43.130's password:
Setting up ssh keys                                  [ DONE ]
Discovering hosts' details                           [ DONE ]
  ......
Applying 192.168.43.130_postscript.pp
192.168.43.130_postscript.pp:                        [ DONE ]
192.168.43.129_postscript.pp:                        [ DONE ]
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]

 **** Installation completed successfully ******

Additional information:
  ......

登录OpenStack首页测试:https://192.168.43.129/dashboard,登录成功后无需做配置


配置OVS桥接

  • 修改控制节点的网卡配置文件
  • 先将网卡配置文件做备份 , 防止出现故障时无法恢复
  • 创建OVS桥接,修改网卡配置文件
  • 修改网卡桥接,重启网络服务
[root@Controller ~]# cd /etc/sysconfig/network-scripts/
[root@Controller network-scripts]# cp ifcfg-eth0 ifcfg-eth0.bak
[root@Controller network-scripts]# cp ifcfg-eth0 ifcfg-br-ex
[root@Controller network-scripts]# vim ifcfg-br-ex
  TYPE=OVSBridge
  NAME=br-ex
  DEVICE=br-ex
  ONBOOT=yes
  DEVICETYPE=ovs
  OVS_BRIDGE=br-ex
  IPADDR=192.168.43.129
  NETMASK=255.255.255.0
  GATEWAY=192.168.43.1
  DNS1=192.168.43.1
[root@Controller network-scripts]# vim ifcfg-eth0
  TYPE=OVSPort
  NAME=eth0
  DEVICE=eth0
  ONBOOT=yes
  DEVICETYPE=ovs
  OVS_BRIDGE=br-ex
[root@Controller network-scripts]# service network restart
Restarting network (via systemctl):                        [  OK  ]
[root@Controller network-scripts]# ifconfig
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.43.129  netmask 255.255.255.0  broadcast 192.168.43.255
        inet6 fe80::742d:32ff:fe73:e74f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:52:94:1d  txqueuelen 0  (Ethernet)
        RX packets 93  bytes 7953 (7.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 137  bytes 17053 (16.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br-int: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::14b6:b1ff:fe67:294e  prefixlen 64  scopeid 0x20<link>
        ether 16:b6:b1:67:29:4e  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::20c:29ff:fe52:941d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:52:94:1d  txqueuelen 1000  (Ethernet)
        RX packets 212126  bytes 219696484 (209.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 106409  bytes 18842452 (17.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 496279  bytes 74615394 (71.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 496279  bytes 74615394 (71.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

以上内容均属原创,如有不详或错误,敬请指出。
本文作者: 坏坏
本文链接: http://t.csdn.cn/Rotab
版权声明: 本博客所有文章转载请联系作者注明出处并附带本文链接!

有关原生RedHat OpenStack搭建的更多相关文章

  1. 【云原生】SpringCloud-Spring Boot Starter使用测试 - 2

    目录SpringBootStarter是什么?以前传统的做法使用SpringBootStarter之后starter的理念:starter的实现: 创建SpringBootStarter步骤在idea新建一个starter项目、直接执行下一步即可生成项目。 在xml中加入如下配置文件:创建proterties类来保存配置信息创建业务类:创建AutoConfiguration测试如下:SpringBootStarter是什么? SpringBootStarter是在SpringBoot组件中被提出来的一种概念、简化了很多烦琐的配置、通过引入各种SpringBootStarter包可以快速搭建出一

  2. ruby - 如何让 Ruby 找到原生库? - 2

    我在/usr/local/lib中安装了一些本地库。我现在正在尝试安装一个需要这些的gem,以便正确构建,但是gem构建失败,因为它找不到图书馆。gem的extconf.rb文件试图确认它可以找到库have_library()但由于某种原因失败了。我尝试设置一堆环境变量,但似乎没有任何效果:irb(main):003:0>require'mkmf'=>trueirb(main):004:0>have_library('gecodesearch')checkingformain()in-lgecodesearch...no=>falseirb(main):005:0>ENV['LD_LI

  3. LinuxGUI自动化测试框架搭建(二十二)-框架主入口main.py设计&log日志调用 - 2

    (二十二)-框架主入口main.py设计&log日志调用和生成1测试目的2测试需求3需求分析4详细设计4.1新建存放日志目录log4.1.1配置config.py中写入log的目录4.2`baseInfo.py`中加入日志4.3`test_gedit.py`中加入日志4.4主函数入口main.py中调用日志5调用日志主函数main.py源码6`baseInfo.py`源码7`test_gedit.py`源码8运行效果9目前框架结构1测试目的组织运行所有的测试用例,并调用日志模块,便于问题定位。

  4. 基于ActiveMQ搭建MQTT服务备忘(二):webapp集成 - 2

    (1)为什么写这个话题(Why)读万卷书不如行千里路。这次搭建MQTT服务,遇到了一些误解,特此记录备忘。主要包括:(1)服务(Broker)的账户管理与网页管理平台的账户(2)与web应用的集成(Spring系)(2)ActiveMQ版本选择因为JAVA环境是JDK8,所以按兼容性考虑选择了ActiveMQ5.15的最后版本5.15.15。如果你是JDK11则可考虑ActiveMQ的最新版本5.17或5.18。ActiveMQ支持MQTTv3.1.1andv3.1。(3)ActiveMQ与web应用的集成主要介绍与Spring系的webapp集成(SpringBoot和SpringMVC)。

  5. 【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程 - 2

    这篇文章,主要介绍如何使用SpringCloud微服务组件从0到1搭建一个微服务工程。目录一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件(2)微服务依赖1.2、搭建注册中心(1)引入依赖(2)配置文件(3)启动类1.3、搭建配置中心(1)引入依赖(2)配置文件(3)启动类1.4、搭建API网关(1)引入依赖(2)配置文件(3)启动类1.5、搭建服务提供者(1)引入依赖(2)配置文件(3)启动类1.6、搭建服务消费者(1)引入依赖(2)配置文件(3)启动类1.7、运行测试一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件这里主要是使用的SpringCloudNetflix

  6. 云原生(十八) | Kubernetes篇之Kubernetes(k8s)工作负载 - 2

    文章目录Kubernetes(k8s)工作负载一、Workloads二、Pod三、Deployment四、RC、RS、DaemonSet、StatefulSet五、Job、CronJob1、Job2、CronJob六、GCKubernetes(k8s)工作负载一、Workloads什么是工作负载(Workloads)工作负载是运行在Kubernetes上的一个应用程序。一个应用很复杂,可能由单个组件或者多个组件共同完成。无论怎样我们可以用一组Pod来表示一个应用,也就是一个工作负载Pod又是一组容器(Containers)所以关系又像是这样工作负载(Workloads)控制一组PodPod控制

  7. ruby-on-rails - 搭建Ruby开发环境 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我目前正在尝试搭建一个学习Ruby的开发环境。环境主要是为了掌握这门语言,但我很可能会在很长一段时间后转向使用Rails进行开发。以Web开发为目标,我想了解首选的Web服务器和数据库。我打算在虚拟机上设置环境,所以我不担心把它弄坏。因此,我愿意使用Linux发行版、OSX或Windows作为操作系统。我正从C#转向,所以我想在一定程度上被迫采用Ruby的

  8. geth下载安装配置环境及联盟链的搭建 - 2

    以太坊概论考察课更具课堂教学讲解,参考开放资料。使用所学的知识,创建项目并完成要求的内容。包含的功能和要求具体如下:一:安装并运行geth客户端1、下载安装geth首先下载geth:https://geth.ethereum.org/downloads/​选择路径↓2、配置环境变量3、运行geth如下命令所示:查看geth命令。使用gethversion查看geth版本号,判断geth是否成功安装。如下命令所示:`gethversion`可以通过geth--help查看geth工具所支持的命令和相关参数,方便后期关于geth的操作。如下命令所示:geth--help运行结果如下:二:搭建get

  9. 五-1、elasticsearch集群搭建(ES集群搭建) - 2

    目录一、下载Elasticsearch1.选择你要下载的Elasticsearch版本二、采用通用搭建集群的方法三、配置三台es1.上传压缩包到任意一台虚拟机中2.解压并修改配置文件(配置单台es)3.配置三台es集群4.设置后台启动和开机自启(可选)一、下载Elasticsearch1.选择你要下载的Elasticsearch版本es下载地址这里我下载的是二、采用通用搭建集群的方法集群搭建方法三、配置三台es1.上传压缩包到任意一台虚拟机中上传方式有两种第一种:使用xftp上传直接拖动过去就可以了。第二种:使用lrzsz先安装yum-yinstalllrzsz切换到要上传的位置cd/opt/

  10. 【Element UI通用后台管理系统】(一)项目搭建 - 2

    一、使用Yarn作为项目的包管理工具1、Yarn是什么?“Yarn是由Facebook、Google、Exponent和Tilde联合推出了一个新的JS包管理工具,正如官方文档中写的,Yarn是为了弥补npm的一些缺陷而出现的。”这句话让我想起了使用npm时的坑:npminstall的时候非常慢,特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表的含义不同。 "5.0.3"   表示:安装指定的5.0.3版本"~5.0.3"  表示:安

随机推荐