ToB企服应用市场:ToB评测及商务社交产业平台
标题:
利用 Pulumi 创建 pve 平台的假造机
[打印本页]
作者:
干翻全岛蛙蛙
时间:
2024-8-23 07:03
标题:
利用 Pulumi 创建 pve 平台的假造机
基础设施即代码 (Infrastructure as Code)简称 IaC,主要是通过代码的方式管理云平台资源,好比 AWS 的 vpc ec2 ecs eks elb 等等。Iac 基本上分为两种:
第一种:利用声明式的编程语言举行编写,好比 yaml,Json,TCL 等等
第二种:利用编程语言举行编写,好比:Python,Golang,NodeJs 等等
Pulumi 属于第二种,利用编程语言举行编写,本文将先容如何利用 pulumi 创建 pve 平台的假造机。
在创建假造机之前需要三部:
安装依赖,本次利用需要预备:Python、Pulumi、pve 假造化平台的情况
选择 pulumi 的存储方式,本次将利用本地存储,执行命令 pulumi login --local。
初始化项目:执行 pulumi new 然后选择一个名为 Python 的模板,按照引导走完全部过程。
创建相对应的配置。
编写 python 代码,并启动。
依赖安装
点击链接下载 pulumi 的对应安装包。
点击链接安装 Python 情况。
执行命令安装 pve 对应的 pulumi 包:
pip install pulumi_proxmoxve
复制代码
配置 pulumi
每个 pulumi 的库,都有一个默认的配置参数,点击此链接可以看到完成的参数列表,创建 pve 中的假造机时,我们只需要留意以下部门:
"namespaces": {
"proxmoxve": "ProxmoxVE"
},
"config": {
"variables": {
"endpoint": {
"type": "string",
"description": "The endpoint for the Proxmox VE API.\n"
},
"insecure": {
"type": "boolean",
"description": "Whether to skip the TLS verification step.\n"
},
"password": {
"type": "string",
"description": "The password for the Proxmox VE API.\n",
"secret": true
},
"username": {
"type": "string",
"description": "The username for the Proxmox VE API.\n"
}
}
},
复制代码
这些参数代表了以下几个参数:
namespaces: 配置参数的命名空间
endpoint:pve 的登录地址,一般是 http://x.x.x.x:8006
insecure: 是否要跳过 https 验证
password: endpoint 的登录密码
username: endpoint 的登录用户
了解过之后执行命令举行配置:
pulumi config set proxmoxve:endpoint http://x.x.x.x:8006
pulumi config set proxmoxve:insecure true
pulumi config set proxmoxve:password xxxxx
pulumi config set proxmoxve:username xxxxx
复制代码
在配置之后就需要编写代码了。
Python 代码编写
在 pulumi 的项目中 __main__.py 文件修改为如下内容:
import pulumi
import pulumi_proxmoxve as proxmox
virtual_machine = proxmox.vm.VirtualMachine(
resource_name="vm", ##资源名称
node_name="pve1", ## pve 的节点名称
bios="seabios",
cpu=proxmox.vm.VirtualMachineCpuArgs(
cores=1, ##虚拟机 CPU
sockets=1
),
clone=proxmox.vm.VirtualMachineCloneArgs( ##克隆的虚拟机的相关信息
node_name="pve1",
vm_id=9000,
full=True
),
disks=[
proxmox.vm.VirtualMachineDiskArgs(
interface="scsi0",
datastore_id="local-lvm", ##存储名称
size=32, ##大小
file_format="qcow2"
)
],
memory=proxmox.vm.VirtualMachineMemoryArgs(
dedicated=1024 ##虚拟机内存
),
name="proxmox-vm", ##虚拟机名称
network_devices=[
proxmox.vm.VirtualMachineNetworkDeviceArgs(
bridge="vmbr0", ##网卡名称
model="virtio"
)
],
on_boot=True,
operating_system=proxmox.vm.VirtualMachineOperatingSystemArgs(type="l26"),
initialization=proxmox.vm.VirtualMachineInitializationArgs( ## 网络相关配置
type="nocloud",
datastore_id="local-lvm",
dns=proxmox.vm.VirtualMachineInitializationDnsArgs(
domain="example.com",
server="1.1.1.1 1.0.0.1"
),
ip_configs=[
proxmox.vm.VirtualMachineInitializationIpConfigArgs(
ipv4=proxmox.vm.VirtualMachineInitializationIpConfigIpv4Args(
address="10.0.0.10/24",
gateway="10.0.0.1"
)
)
]
)
)
复制代码
修改以上注释的部门,然后执行 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