ToB企服应用市场:ToB评测及商务社交产业平台

标题: 利用 Pulumi 创建 pve 平台的假造机 [打印本页]

作者: 干翻全岛蛙蛙    时间: 2024-8-23 07:03
标题: 利用 Pulumi 创建 pve 平台的假造机
基础设施即代码 (Infrastructure as Code)简称 IaC,主要是通过代码的方式管理云平台资源,好比 AWS 的 vpc ec2 ecs eks elb 等等。Iac 基本上分为两种:

Pulumi 属于第二种,利用编程语言举行编写,本文将先容如何利用 pulumi 创建 pve 平台的假造机。
在创建假造机之前需要三部:
依赖安装

点击链接下载 pulumi 的对应安装包。
点击链接安装 Python 情况。
执行命令安装 pve 对应的 pulumi 包:
  1. pip install pulumi_proxmoxve
复制代码
配置 pulumi

每个 pulumi 的库,都有一个默认的配置参数,点击此链接可以看到完成的参数列表,创建 pve 中的假造机时,我们只需要留意以下部门:
  1.     "namespaces": {
  2.         "proxmoxve": "ProxmoxVE"
  3.         },
  4.     "config": {
  5.         "variables": {
  6.             "endpoint": {
  7.                 "type": "string",
  8.                 "description": "The endpoint for the Proxmox VE API.\n"
  9.             },
  10.             "insecure": {
  11.                 "type": "boolean",
  12.                 "description": "Whether to skip the TLS verification step.\n"
  13.             },
  14.             "password": {
  15.                 "type": "string",
  16.                 "description": "The password for the Proxmox VE API.\n",
  17.                 "secret": true
  18.             },
  19.             "username": {
  20.                 "type": "string",
  21.                 "description": "The username for the Proxmox VE API.\n"
  22.             }
  23.         }
  24.     },
复制代码
这些参数代表了以下几个参数:

了解过之后执行命令举行配置:
  1. pulumi config set proxmoxve:endpoint http://x.x.x.x:8006
  2. pulumi config set proxmoxve:insecure true
  3. pulumi config set proxmoxve:password xxxxx
  4. pulumi config set proxmoxve:username xxxxx
复制代码
在配置之后就需要编写代码了。
Python 代码编写

在 pulumi 的项目中 __main__.py 文件修改为如下内容:
  1. import pulumi
  2. import pulumi_proxmoxve as proxmox
  3. virtual_machine = proxmox.vm.VirtualMachine(
  4.     resource_name="vm", ##资源名称
  5.     node_name="pve1",   ## pve 的节点名称
  6.     bios="seabios",  
  7.     cpu=proxmox.vm.VirtualMachineCpuArgs(  
  8.         cores=1,  ##虚拟机 CPU
  9.         sockets=1
  10.     ),
  11.     clone=proxmox.vm.VirtualMachineCloneArgs( ##克隆的虚拟机的相关信息
  12.         node_name="pve1",
  13.         vm_id=9000,
  14.         full=True
  15.     ),
  16.     disks=[
  17.         proxmox.vm.VirtualMachineDiskArgs(
  18.             interface="scsi0",
  19.             datastore_id="local-lvm",  ##存储名称
  20.             size=32,  ##大小
  21.             file_format="qcow2"
  22.         )
  23.     ],
  24.     memory=proxmox.vm.VirtualMachineMemoryArgs(
  25.         dedicated=1024  ##虚拟机内存
  26.     ),
  27.     name="proxmox-vm",  ##虚拟机名称
  28.     network_devices=[
  29.         proxmox.vm.VirtualMachineNetworkDeviceArgs(
  30.             bridge="vmbr0", ##网卡名称
  31.             model="virtio"
  32.         )
  33.     ],
  34.     on_boot=True,
  35.     operating_system=proxmox.vm.VirtualMachineOperatingSystemArgs(type="l26"),
  36.     initialization=proxmox.vm.VirtualMachineInitializationArgs( ## 网络相关配置
  37.         type="nocloud",
  38.         datastore_id="local-lvm",
  39.         dns=proxmox.vm.VirtualMachineInitializationDnsArgs(
  40.             domain="example.com",
  41.             server="1.1.1.1 1.0.0.1"
  42.         ),
  43.         ip_configs=[
  44.             proxmox.vm.VirtualMachineInitializationIpConfigArgs(
  45.                 ipv4=proxmox.vm.VirtualMachineInitializationIpConfigIpv4Args(
  46.                     address="10.0.0.10/24",
  47.                     gateway="10.0.0.1"
  48.                 )
  49.             )
  50.         ]
  51.     )
  52. )
复制代码
修改以上注释的部门,然后执行 pulumi up -y 命令即可启动步伐,最终会在 PVE 平台中发现新创建的 proxmox-vm 的假造机。
后记

假如想利用镜像镜像举行创建需要添加 VirtualMachineCdromArgs 字段,可以参考此链接,别的需要留意的是 file_id 的内容格式为:local:iso/*.iso,可以在平台网页利用 F12 来举行检察相关镜像的 id。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4