OpenEuler 在 PVE 上安装 cloud-init

实践操作

第一步 安装OpenEuler

OpenEuler的安装已经非常简单和 CentOS 基本是一致的.

第二步 安装 Cloud Init

yum install vim cloud-init cloud-utils -y

**在创建的虚拟机上添加一个 **Cloud Init设备,随便选择一个磁盘

image-20241130144436465.png

第三步 安装qemu-guest-agent

安装此内容可以在虚拟机中的概要中看到服务器的 IP 信息

yum install qemu-guest-agent -y

配置虚拟机

image-20241130144752265.png

第四步 清理修改配置

修改Cloud-init配置

使其允许 ssh连接

vim /etc/cloud/cloud.cfg
# ssh_pwauth true

修改网卡

精简网卡配置

/etc/sysconfig/network-scripts/ifcfg-ens18

# TYPE=Ethernet
# DEVICE=ens18
# ONBOOT=yes
# BOOTPROTO=none

清理文件

yum clean all
> /etc/machine-id
rm -f /etc/ssh/ssh_host_*
rm -rf /root/.ssh/
rm -f /root/anaconda-ks.cfg
rm -f /root/.bash_history
rm -f /var/log/boot.log
rm -f /var/log/cron
rm -f /var/log/dmesg
rm -f /var/log/grubby
rm -f /var/log/lastlog
rm -f /var/log/maillog
rm -f /var/log/messages
rm -f /var/log/secure
rm -f /var/log/spooler
rm -f /var/log/tallylog
rm -f /var/log/wpa_supplicant.log
rm -f /var/log/wtmp
rm -f /var/log/yum.log
rm -f /var/log/audit/audit.log
rm -f /var/log/ovirt-guest-agent/ovirt-guest-agent.log
rm -f /var/log/tuned/tuned.log
rm -f /etc/udev/rules/70-persistent-*-rules

关机

init 0

转化为模板

image-20241130145116577.png

创建虚拟机

image-20241130145204795.png

配置新虚拟机

image-20241130145225926.png

内容描述

PVE

Proxmox Virtual Environment,它是一个开源的服务器虚拟化环境。Proxmox VE 是基于 Debian Linux 的虚拟化管理平台,支持内核虚拟机(KVM)和 Linux 容器(LXC),可以用于管理虚拟机、容器和存储,以及提供高可用性集群和备份工具。

主要功能和特点包括:

  1. 虚拟机和容器支持:允许用户创建和管理虚拟机(使用 KVM)和容器(使用 LXC)。
  2. 集群功能:支持在多个物理服务器上创建集群,以实现高可用性和负载平衡。
  3. 存储解决方案:支持多种存储类型,包括本地存储、网络存储(如 NFS、iSCSI)、Ceph 分布式存储等。
  4. 高可用性:通过集成的 HA 管理可以保证虚拟机和容器在硬件故障时自动迁移和重启。
  5. 网络支持:支持复杂的网络配置,包括桥接、VLAN 和 SDN。
  6. 易于管理:提供基于 Web 的用户界面和命令行工具,便于管理和监控虚拟化环境。
  7. 开放源代码:Proxmox VE 是一个开源项目,拥有活跃的社区和商业支持选项。

由于其强大的功能集和开源特性,Proxmox VE 广泛用于各种规模的 IT 环境,从小型实验室到大规模企业级数据中心。

OpenEuler

openEuler 是一个由华为主导的开源操作系统项目,基于 Linux 内核,旨在为企业级应用提供安全、稳定、高性能的操作系统解决方案。该项目最初于2019年12月开源,主要面向多样性的计算架构,支持 x86、ARM 等多种硬件平台。

openEuler 的主要特点和目标包括:

  1. 多架构支持:openEuler 支持多种计算架构,包括 x86_64 和 ARM64,适用于各种数据中心和云计算环境。
  2. 企业级特性:提供企业级的安全性、稳定性和高性能,适合部署到关键任务和生产环境。
  3. 开放社区:openEuler 是一个完全开放的社区项目,鼓励开发者和企业参与贡献代码和进行创新。
  4. 多样性计算:除了传统的服务器应用,openEuler 还面向边缘计算、云计算等新兴领域,支持容器、人工智能、大数据等技术的优化和适配。
  5. 软件生态:openEuler 包含丰富的软件包和工具,支持主流的开发环境和应用服务,旨在构建一个广泛的生态系统。

openEuler 是中国自主的操作系统项目之一,旨在增强本地软件行业的自主能力和国际竞争力。在 openEuler 的发展中,社区强调协作创新、技术创新以及多样性计算的发展方向。

Cloud-Init

cloud-init 是一个用于云环境中的实例初始化的开源工具。它被广泛用于在基于云的基础设施中配置新的虚拟机实例,例如在公共云服务提供商(如 AWS、Microsoft Azure、Google Cloud Platform)上启动的新实例。cloud-init 的主要功能和特点包括:

  1. 实例初始化:cloud-init 在实例的首次启动时运行,用于执行初始化步骤,例如设置主机名、配置网络、以及其他系统设置。
  2. 用户数据和元数据处理:cloud-init 可以处理用户提供的自定义脚本和设置(称为用户数据),以及从云提供商提供的元数据服务中读取配置信息。
  3. 配置管理:可以使用 cloud-init 进行基本的配置管理任务,支持执行 shell 脚本、安装软件包、管理用户和组、配置 SSH 密钥等。
  4. 跨平台支持:cloud-init 支持多种 Linux 发行版和部分 Unix 系统,具有良好的跨平台适应性。
  5. 模块化架构:cloud-init 由多个模块组成,每个模块负责不同的初始化任务,这种模块化设计允许用户根据需要定制其行为。

通过提供自动化的初始化步骤,cloud-init 简化了云环境中大规模管理实例的复杂性,提高了云资源的可用性和部署速度。在 DevOps 和持续交付实践中,cloud-init 是实现基础设施即代码(Infrastructure as Code)理念的重要工具之一。