linux 云计算平台基本环境(知识准备篇)-程序员宅基地

技术标签: 运维  linux  云计算  

为了更多的了解云计算平台,结合云计算和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
    

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_74994771/article/details/137793498

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签