linux 云计算平台基本环境(知识准备篇)

时间:2024-04-20 07:20:10

为了更多的了解云计算平台,结合云计算和linux的知识写了一篇云计算的介绍和汇总。

文章目录

  • 前言
  • 1. centos的软件管理
    • 1.1 yum软件包管理
      • 1.1.1 yum命令语法:
      • 1.1.2 安装软件包的步骤
      • 1.1.3 yum源
  • 2. 主机名管理与域名解析
  • 3. centos的防火墙管理
  • 4. openstack的基础支持服务
    • 4.1 chrony时间同步服务
      • (1)时间同步服务配置
      • (2)时间同步服务管理
    • 4.2. openstak云计算平台框架
    • 4.3 MariaDB数据库服务
    • 4.4 RabbitMQ消息队列服务


前言

云计算平台基本环境是以虚拟化技术为核心的分布式计算系统,包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)三层架构。其中,IaaS提供虚拟服务器、存储和网络资源,如Amazon EC2、阿里云ECS;PaaS则包含了运行时环境和数据库服务,如Heroku、Google App Engine,助力开发者快速构建和部署应用;SaaS层则是完整的云端应用程序,如Office 365、Salesforce等。此外,还包括诸如Kubernetes的容器编排工具、如Yum/DNF的包管理器,以及如Keystone的身份验证服务、如Neutron的网络服务等,共同保障了资源的弹性伸缩、安全防护和高可用性。各类服务通过统一的管理界面和API接口进行集成管理,以满足不同业务场景的需求。

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

1. centos的软件管理

CentOS(Community ENTerprise Operating System)作为一个基于RHEL(Red Hat Enterprise Linux)源代码重新构建的开源操作系统,其软件管理主要包括了以下几个方面:

  1. RPM包管理器
    RPM(Red Hat Package Manager)是CentOS以及其他基于RPM的Linux发行版的标准包管理系统。它可以用来安装、更新、查询、验证和删除软件包。用户可以使用rpm命令行工具直接处理.rpm格式的软件包,但通常更倾向于使用高级包管理工具来进行依赖关系解决和便捷的软件包管理。

  2. Yum(Yellowdog Updater, Modified)
    在较旧版本的CentOS(如CentOS 6及以前版本)中,Yum是默认的高级软件包管理器,它可以自动处理依赖关系并从官方或自定义的软件仓库下载并安装软件包。通过yum installyum updateyum remove等命令来管理软件。

  3. DNF(Dandified Yum)
    在CentOS 7后期及CentOS 8中,DNF取代了Yum成为默认的软件包管理器。DNF是Yum的一个后继项目,具有更快的速度和更好的性能,同时也改进了依赖解析和包组管理等功能。

  4. Package Groups
    CentOS还支持通过包组(package groups)来批量安装一组相关的软件包,这有助于快速搭建特定的开发环境或服务器角色。

  5. Software Collections
    CentOS提供了Software Collections(SCL),允许用户在同一系统上安装多个版本的软件,如不同版本的Python、Ruby等,而不影响系统默认的软件版本。

  6. 第三方包管理工具
    除了系统自带的包管理器,用户还可以选择安装其他工具,比如对于Python开发,可能会用到Conda来管理Python环境和相关库;对于Node.js、Go等语言环境,也会有对应的包管理工具如npm、go get等。

  7. 容器化管理
    随着容器技术的发展,在CentOS上可以通过Docker等容器引擎来安装和管理容器化的软件应用,每个容器包含应用及其所有依赖,独立于主机系统环境。

在这里插入图片描述

因此,在CentOS上进行软件管理主要是通过上述工具来实现安装、升级、维护和卸载软件,同时保持系统的稳定性和安全性。不过在此主要讲yum的软件包管理

1.1 yum软件包管理

Yum(Yellowdog Updater, Modified)是一种流行的Linux操作系统下的高级软件包管理器,主要用于基于RPM(Red Hat Package Manager)包格式的Linux发行版,如早期的Fedora、CentOS和RHEL(Red Hat Enterprise Linux)。Yum提供了一种简单易用的方式来自动处理软件包之间的依赖关系,使得用户无需手动查找和安装软件包所依赖的其他包。

1.1.1 yum命令语法:

yum [选项] <操作> <软件包名称>

常用操作

操作 功能
install 安装软件包
update 更新软件包
check-update 检查是否有可用的更新软件包
remove 删除指定的软件包
list 显示软件包列表
search 查询软件所属的软件包信息
info 显示指定的软件包的描述信息和概要信息
clean 清理过期的缓存
resolvedep 显示软件包的依赖关系
deplist 显示软件包的所有依赖关系

选项常用命令

选项 功能
-h 显示帮助信息
-y 对所有的提问都回答"yes"
-c 指定配置文件
-q 安静模式,即不显示软件反馈信息
-v 详细模式
-R 处理一个命令的最大等待时间
-C 完全从缓存中运行,而不去下载或者更新任何文件

1.1.2 安装软件包的步骤

  1. 检查
yum search 软件包
  1. 查询仓库包信息
yum list  查询的包

例如:

yum list net-*

3.安装软件包

yum -y install 包名称

1.1.3 yum源

  1. 进入yum源配置文件
[root@localhost lh]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
centos-addons.repo  centos.repo

查看配置信息如下:

[root@localhost yum.repos.d]# cat centos.repo 
[baseos]
name=CentOS Stream $releasever - BaseOS
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[baseos-debuginfo]
name=CentOS Stream $releasever - BaseOS - Debug
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-debug-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[baseos-source]
name=CentOS Stream $releasever - BaseOS - Source
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-source-$stream&arch=source&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[appstream]
name=CentOS Stream $releasever - AppStream
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[appstream-debuginfo]
name=CentOS Stream $releasever - AppStream - Debug
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-debug-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[appstream-source]
name=CentOS Stream $releasever - AppStream - Source
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-source-$stream&arch=source&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[crb]
name=CentOS Stream $releasever - CRB
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0

[crb-debuginfo]
name=CentOS Stream $releasever - CRB - Debug
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-debug-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[crb-source]
name=CentOS Stream $releasever - CRB - Source
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-source-$stream&arch=source&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

yum源容器的配置及功能

配置项 功能
name 源容器的说明
mirrorlist 镜像站点,与baseurl参数只启用其中一项
baseurl 源服务器的地址
enabled 如果不写此参数或者值为1,则表示此容器生效;值为0则表示此容器不生效
gpgcheck 如果值为1,则表示需要验证软件包的数字证书信息;值为0则表示不需要验证
gpgkey 数字证书的公钥文件保存位置,当gpgcheck值为0时,此参数无效

2. 主机名管理与域名解析

1. 查看主机名

hostname

2. 更改主机名
方法一:
进入配置文件

vi /etc/hostname

重启系统

reboot

方法二:

hostnamectl set-hostname 新主机名
bash

3. 本地域名解析
打开hosts文件

vi /etc/hosts

内容:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

最后一行添加:192.168.19.131 新主机名

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.19.131  newhost

测试联通

ping 新主机名

测试结果

[root@newhost yum.repos.d]# ping newhost 
PING newhost (192.168.19.131) 56(84) 比特的数据。
64 比特,来自 newhost (192.168.19.131): icmp_seq=1 ttl=64 时间=0.100 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=2 ttl=64 时间=0.100 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=3 ttl=64 时间=0.067 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=4 ttl=64 时间=0.093 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=5 ttl=64 时间=0.157 毫秒

3. centos的防火墙管理

systemctl命令语法:

systemctl <参数> <服务名>

常用参数

参数 功能
status 查看服务运行状态
start 开启服务
stop 停止服务
enable 设置服务开机自启
disable 取消服务开机自启
restart 重启服务

例如:
查看防火墙状态

[root@newhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset>
     Active: active (running) since Tue 2023-12-12 23:07:07 CST; 4 months 3 day>
       Docs: man:firewalld(1)
   Main PID: 819 (firewalld)
      Tasks: 2 (limit: 4323)
     Memory: 500.0K
        CPU: 407ms
     CGroup: /system.slice/firewalld.service
             └─819 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

停止防火墙

[root@newhost ~]# systemctl stop firewalld

取消防火墙开机自启

[root@newhost ~]# systemctl disable firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

启动防火墙

[root@newhost ~]# systemctl start firewalld

设置防火墙开机自启

[root@newhost ~]# systemctl enable firewalld
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.

4. openstack的基础支持服务

OpenStack的基础支持服务指的是构成OpenStack云平台核心功能的一系列关键服务。这些服务协同工作,为用户提供完整的基础设施即服务(IaaS)功能,包括计算、存储、网络、身份认证、镜像管理、以及资源调度等

4.1 chrony时间同步服务

Chrony 是一款现代的网络时间协议(NTP)客户端和服务端软件,设计用于实现计算机系统间的精确时间同步

(1)时间同步服务配置

1. 安装Chrony

在RHEL 8、CentOS 8或其他兼容的Linux发行版中安装Chrony,可以使用相应的包管理器命令:

# 对于基于RHEL/CentOS 8的系统
sudo yum install -y chrony

# 对于基于Debian/Ubuntu的系统
sudo apt-get update && sudo apt-get install -y chrony

2. 配置Chrony

编辑Chrony的主配置文件:

sudo nano /etc/chrony/chrony.conf

在此文件中,你可以添加或修改以下配置项:

  • 添加上游NTP服务器:

    server ntp1.example.com iburst
    server ntp2.example.com iburst
    

    iburst 参数可以让Chrony在初始化连接时发送多个请求,加快初始同步速度。

  • 允许特定IP地址或子网进行时间同步(如果配置Chrony作为NTP服务器):

    allow <subnet_or_IP>
    
  • 设置本地时钟的精度等级(stratum):

    local stratum 10
    
  • 如果服务器有GPS或者其他外部时间源,也需要相应配置。

3. 启动和启用Chrony服务

确保Chrony服务已经启动并且设置为开机自启动:

sudo systemctl start chronyd
sudo systemctl enable chronyd

4. 检查Chrony状态和同步信息

确认Chrony服务状态:

sudo systemctl status chronyd

查看Chrony同步源状态和统计信息:

chronyc sources -v

确认时钟跟踪和偏移信息:

chronyc tracking

5. 重启Chrony以应用配置更改

如果对配置文件做了修改,需要重启Chrony服务让更改生效:

sudo systemctl restart chronyd

(2)时间同步服务管理

chrony命令语法:

chrony <参数>

常用参数

参数 功能
sources[-v] 显示当前NTP服务器的信息,加上选项-v将显示对数据的说明
Activity 检查有多少个NTP源在线/离线
Clients 显示访问本服务器的客户端
add server 添加新的NTP服务器
delete 删除已有的NTP服务器

4.2. openstak云计算平台框架

  1. 安装openstak云计算平台框架
yum -y install centos-release-openstack-train

查看功能:

yum list *openstack-train
  1. 升级所有软件包
yum upgrade -y
  1. 安装openstack云计算平台客户端
yum -y install python-openstackclient
  1. 安装openstack selinux管理包
yum -y install openstack-selinux

进入selinux配置文件

cd /etc/selinux/config

配置内容:

SELINUX=disabled

4.3 MariaDB数据库服务

1.安装MariaDB数据库

yum -y install mariadb-server python2-PyMySQL

2.编辑数据库配置信息

vi /etc/my.cnf.d/openstack.cnf

MariaDB数据库参数:

参数 功能
port 数据库对外服务的端口号,默认为3306
datair 数据库文件存放目录
bind-address 绑定远程访问地址,只允许从该地址访问数据库
default-storage-engine 默认存储引擎,MariaDB支持十种存储引擎,其中InnoDB是比较常用的支持事务存储引擎
innobd_file_per_table InnoDB引擎的独立表空间,使每张表的数据都单独保存
max_connections 最大连接数
collation-server 字符的排序规则,也称为排列字符集,每个字符集都对应一个或多个排列字符集
character-set-server 字符集

3.启动数据库
设置开机启动

systemctl enable mariadb

立即启动服务

systemctl start mariadb

4.初始化数据库

mysql_secure_installation

4.4 RabbitMQ消息队列服务

RabbitMQ 是一个开源的消息中间件,基于 AMQP(Advanced Message Queuing Protocol)标准协议实现,采用 Erlang 语言编写,以其高可用性、健壮性、易于部署和管理等特点,在企业级消息传递系统中广泛应用。RabbitMQ 提供了可靠的异步通信和任务队列功能,可以帮助分布式系统中的各个组件解耦合,支持多种消息传递模型,如点对点、发布/订阅、路由、主题交换等多种模式。

  1. 安装 Erlang 环境
    对于 Ubuntu,可以使用 APT 包管理器:

    sudo apt-get update
    sudo apt-get install esl-erlang
    

    对于 CentOS,可以从 RabbitMQ 官方推荐的源或 EPEL 仓库安装 Erlang:

    sudo yum install epel-release
    sudo yum install erlang
    
  2. 安装 RabbitMQ
    对于 Ubuntu:

    sudo apt-get install rabbitmq-server
    

    对于 CentOS,可以使用官方提供的 RPM 包或 EPEL 仓库:

    sudo yum install rabbitmq-server
    
  3. 启动与配置
    启动 RabbitMQ 服务:

    sudo systemctl start rabbitmq-server
    sudo systemctl enable rabbitmq-server
    

    初始化 RabbitMQ 并设置管理用户(如 rabbitmqctl add_user username password):

    sudo rabbitmqctl add_user admin your_password
    sudo rabbitmqctl set_user_tags admin administrator
    sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
    

    开启 Web 管理插件(若需要):

    sudo rabbitmq-plugins enable rabbitmq_management
    

最近比较懒惰,时间管理也随意了。完全没有心思写作和学习,也做了一小会的反思,不断的给自己打气——????加油!