From 078be77e0f2623dd50528e6f50efc1c493cd068b Mon Sep 17 00:00:00 2001 From: yanbang <16524689+beauty-list@user.noreply.gitee.com> Date: Fri, 6 Feb 2026 13:44:35 +0800 Subject: [PATCH] test:1 --- cloud-init.tpl | 35 +++++++++++++++++++ main.tf | 53 ++++++++++++++++++++++++++++ scripts/setup.sh | 82 ++++++++++++++++++++++++++++++++++++++++++++ test-starrocks-fe.tf | 65 +++++++++++++++++++++++++++++++++++ variables.tf | 34 ++++++++++++++++++ 5 files changed, 269 insertions(+) create mode 100644 cloud-init.tpl create mode 100644 main.tf create mode 100644 scripts/setup.sh create mode 100644 test-starrocks-fe.tf create mode 100644 variables.tf diff --git a/cloud-init.tpl b/cloud-init.tpl new file mode 100644 index 0000000..39a28a0 --- /dev/null +++ b/cloud-init.tpl @@ -0,0 +1,35 @@ +#cloud-config +hostname: ${hostname} +manage_etc_hosts: true +users: + - name: ubuntu + passwd: $6$X9ichNs1seliRKSE$z2ci5fBlG8karm40.JAO607XmZn5fm0wncHBiIMzXYNuvphVBfJNowNUA55fITPN8.JbtCMRR3o8NjmPWni/S/ + lock_passwd: false + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + groups: [adm, audio, cdrom, dialout, floppy, video, plugdev, dip, netdev] + shell: /bin/bash + ssh-authorized-keys: + - "${ssh_key}" + +write_files: + - path: /etc/netplan/50-cloud-init.yaml + content: | + network: + version: 2 + ethernets: + ens192: + dhcp4: no + addresses: + - ${ip_addr}/24 + routes: + - to: default + via: ${gateway} + nameservers: + addresses: + - ${dns1} + - ${dns2} + owner: root:root + permissions: '0600' + +runcmd: + - netplan apply diff --git a/main.tf b/main.tf new file mode 100644 index 0000000..fc507d9 --- /dev/null +++ b/main.tf @@ -0,0 +1,53 @@ +terraform { + required_version = ">= 1.12.2" + + required_providers { + vsphere = { + source = "hashicorp/vsphere" + version = "2.12.0" + } + } + + backend "s3" { + bucket = "terraform-tfstate-file" + key = "61/test2/terraform.tfstate" + region = "cn-east-1" + skip_credentials_validation = true + skip_metadata_api_check = true + skip_region_validation = true + skip_requesting_account_id = true + use_path_style = true + } +} + +provider "vsphere" { + user = var.vsphere_user + password = var.vsphere_password + vsphere_server = var.vsphere_server + allow_unverified_ssl = true + api_timeout = 10 +} + +data "vsphere_datacenter" "datacenter" { + name = "Datacenter" +} + +data "vsphere_datastore" "datastore" { + name = "datastore2-NVMe" + datacenter_id = data.vsphere_datacenter.datacenter.id +} +data "vsphere_compute_cluster" "cluster" { + name = "test-vm" + datacenter_id = data.vsphere_datacenter.datacenter.id +} + +data "vsphere_network" "network" { + name = "VM Network" + datacenter_id = data.vsphere_datacenter.datacenter.id +} + +data "vsphere_virtual_machine" "template" { + name = "ubuntu-noble-24.04-cloudimg" + datacenter_id = data.vsphere_datacenter.datacenter.id +} + diff --git a/scripts/setup.sh b/scripts/setup.sh new file mode 100644 index 0000000..fdde567 --- /dev/null +++ b/scripts/setup.sh @@ -0,0 +1,82 @@ +#!/bin/bash +set -eux + +# 备份原来的 sources.list +cp /etc/apt/sources.list /etc/apt/sources.list.bak + +# 使用国内源(这里以阿里云为例,你也可以选择其他源) +cat > /etc/apt/sources.list < /dev/null +chmod a+r /etc/apt/keyrings/docker.asc + +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + + +apt-get update +apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + + +mkdir -p /etc/docker +cat > /etc/docker/daemon.json <> /etc/chrony/chrony.conf <