Điểm:0

Nguồn dữ liệu Terraform DataSourceNone với Ubuntu 20.04

lá cờ fr

Vấn đề

Sau khi xây dựng mẫu Ubuntu 20.04 (cũng đã thử 21.04) với Packer, tôi không thể đặt cài đặt mới khi khởi tạo mẫu bằng Terraform. Cấu hình này không có vấn đề gì với Debian 10.

người đóng gói

{
    "nhà xây dựng": [
    {
        "CPU": "{{người dùng `vm-cpu-num`}}",
        "RAM": "{{người dùng `vm-mem-size`}}",
        "RAM_reserve_all": đúng,

        "boot_command": [
        "<esc><esc><esc><esc>e<wait>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "<del><del><del><del><del><del><del><del>",
        "linux /casper/vmlinuz --- autoinstall ds=\"nocloud-net;seedfrom=http://{{.HTTPIP}}:{{.HTTPPort}}/\"<enter><wait>",
        "initrd /casper/initrd<enter><wait>",
        "khởi động<nhập>",
        "<enter><f10><chờ>"
      ],
      "boot_wait": "3s",
      "boot_order": "đĩa, cdrom",
      "cụm": "{{người dùng `cụm`}}",
      "convert_to_template": "true",
      "kho dữ liệu": "{{người dùng `datastore`}}",
      "disk_controller_type": "pvscsi",
      "thư mục": "{{người dùng `thư mục`}}",
      "guest_os_type": "ubuntu64Guest",
      "máy chủ": "{{người dùng `máy chủ`}}",
      "http_directory": "http",
      "http_port_min" : "8000",
      "http_port_max" : "8000",
      "insecure_connection": "true",
      "iso_paths": ["{{người dùng `iso-paths`}}"],
      "bộ điều hợp mạng": [
      {
          "mạng": "{{người dùng `mạng`}}",
          "thẻ mạng": "vmxnet3"
      }
      ],
      "password": "{{người dùng `vcenter-password`}}",
      "shutdown_command": "echo '{{user `ssh-username`}}' | sudo -S shutdown -P now",
      "ssh_username": "{{người dùng `ssh-username`}}",
      "ssh_password": "{{người dùng `ssh-password`}}",
      "ssh_timeout": "20 phút",
      "ssh_handshake_attempts": "50",
      "kho": [
      {
          "disk_size": "{{người dùng `vm-đĩa-1-size`}}",
          "đĩa_thin_cung cấp": đúng
      }
      ],
      "type": "vsphere-iso",
      "tên người dùng": "{{người dùng `vcenter-username`}}",
      "vcenter_server": "{{người dùng `vcenter-server`}}",
      "vm_name": "{{người dùng `vm-name`}}"
    }
    ],
    "nhà cung cấp": [
    {
        "loại": "vỏ",
        "nội tuyến": ["curl -sSL https://raw.githubusercontent.com/vmware/cloud-init-vmware-guestinfo/master/install.sh | sudo sh -"]
    },
    {
        "loại": "vỏ",
        "inline": ["mkdir $HOME/.ssh && echo {{ user `ssh-key` }} > $HOME/.ssh/authorized_keys"]
    },
    {
        "loại": "ansible",
        "playbook_file": "../../ansible/packer.yml"
    },
    {
        "nội tuyến": [
        "echo 'Bản dựng mẫu Packer -- Hoàn thành'"
        ],
        "loại": "vỏ"
    }
    ]
}

tệp dữ liệu người dùng được phân phối bởi trình đóng gói

#cloud-config
tự động cài đặt:
  phiên bản 1
  ngôn ngữ: en_US
  gói:
    - open-vm-công cụ
    - python-là-python3
    - khởi tạo đám mây
  bàn phím:
    bố cục: vi
    biến thể: chúng tôi
  mạng:
    mạng:
      phiên bản: 2
      ethernet:
        vis192:
          dhcp4: đúng
          định danh dhcp: mac
  kho:
    cách trình bày:
      tên: lvm
  xác thực:
    tên máy chủ: ubuntu
    tên người dùng: ubuntu
    mật khẩu: $6$rounds=4096$8dkK1P/oE$2DGKKt0wLlTVJ7USY.0jN9du8FetmEr51yjPyeiR.zKE3DGFcitNL/nF1l62BLJNR87lQZixObuXYny.Mf17K1
  ssh:
    máy chủ cài đặt: có
  dữ liệu người dùng:
    vô hiệu hóa_root: sai
  lệnh muộn:
    - 'sed -i "s/dhcp4: true/&\n dhcp-identifier: mac/" /target/etc/netplan/00-installer-config.yaml'
    - echo 'ubuntu ALL=(ALL) NOPASSWD:ALL' > /target/etc/sudoers.d/ubuntu

tập lệnh dọn dẹp được gọi bởi nhà cung cấp Ansible

#!/bin/sh

đặt -e

# cloud init: di chuyển tệp và thay đổi quyền
#mv /tmp/cloud-init/* /etc/cloud/cloud.cfg.d/
chown -R root:root /etc/cloud/cloud.cfg.d/

# dọn dẹp dữ liệu khởi tạo trên đám mây
rm -rf /var/lib/cloud/*

ln -s /var/lib/cloud/instance /var/lib/cloud/instance

# dọn dẹp nhật ký khởi tạo trên đám mây
rm -rf /var/log/cloud-init*

# dọn dẹp tập tin tmp
rm -rf /tmp/cloud-init

cắt bớt -s 0 /etc/machine-id

rm /var/lib/dbus/machine-id

ln -s /etc/machine-id /var/lib/dbus/machine-id

địa hình

chính.tf

tài nguyên "vsphere_virtual_machine" "vm" {
  tên = "${var.hostname}"
  #resource_pool_id = "${data.vsphere_compute_cluster.cluster.resource_pool_id}"
  resource_pool_id = "${data.vsphere_resource_pool.pool.id}"
  datastore_id = "${data.vsphere_datastore.datastore.id}"

  num_cpus = var.vm_cpus
  bộ nhớ = var.vm_ram

  guest_id = "${data.vsphere_virtual_machine.template.guest_id}"
  scsi_type = "${data.vsphere_virtual_machine.template.scsi_type}"

  giao diện mạng {
    network_id = "${data.vsphere_network.network.id}"
    adapter_type = "${data.vsphere_virtual_machine.template.network_interface_types[0]}"
  }

  đĩa {
    nhãn = "đĩa0"
    size = "${var.os_disk_size}"
    háo hức_scrub = "${data.vsphere_virtual_machine.template.disks.0.eagerly_scrub}"
    thin_provisioned = "${data.vsphere_virtual_machine.template.disks.0.thin_provisioned}"
  }

  "đĩa" động {
    for_each = var.data_disk? [1] :[]
    Nội dung {
      #Tất cả các trường trong tài nguyên vsphere_virtual_disk hiện không thay đổi được và buộc phải cung cấp tài nguyên mới nếu thay đổi.
      nhãn = "đĩa1"
      đính kèm = đúng
      đường dẫn = "${vsphere_virtual_disk.data-disk[0].vmdk_path}"
      đơn vị_số = 1
      datastore_id = "${data.vsphere_datastore.datastore.id}"
    }
  }

  extra_config = {
    "guestinfo.metadata" = base64gzip(templatefile("${path.module}/templates/metadata.tmpl", { hostname = var.hostname }))
    "guestinfo.metadata.encoding" = "base64"
    "guestinfo.userdata" = base64gzip(templatefile("${path.module}/templates/userdata.tmpl", {
        tên máy chủ = var.hostname,
        tên miền = var.domain
    })))
    "guestinfo.userdata.encoding" = "base64"
  }

  dòng vô tính {
    template_uuid = "${data.vsphere_virtual_machine.template.id}"
  }
}

userdata.tmpl

#cloud-config

bảo tồn_hostname: sai
quản lý_etc_hosts: đúng
prefer_fqdn_over_hostname: true
fqdn: "${hostname}.${domain}"

chạy cmd:
  - lặp lại xin chào > /root/xin chào
  - chạm /root/lol
Cloud-init v. 21.2-3-g899bfaa9-0ubuntu2~21.04.1 đã hoàn thành vào Thứ Ba, ngày 28 tháng 9 năm 2021 15:55:02 +0000. Nguồn dữ liệu DataSourceNone. Lên 19,12 giây
28-09-2021 15:55:02,449 - cc_final_message.py[CẢNH BÁO]: Nguồn dữ liệu dự phòng đã sử dụng
Điểm:0
lá cờ fr

Vấn đề là cụ thể đối với VMware vSphere. Để sửa chữa nó :

rm -rf /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
rm -rf /etc/cloud/cloud.cfg.d/99-installer.cfg

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.