āĻ¸āĻŦāĻžāĻāĻā§ āĻšā§āĻ¯āĻžāĻ˛ā§, āĻāĻŽāĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻāĻžāĻ¨ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻāĻāĻ¨ āĻ ā§āĻ¯āĻžāĻ˛āĻā§āĻšāĻ˛āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻā§āĻ°ā§āĻāĻ° (OPS)āĨ¤
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŽāĻŋ āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ vCenter āĻāĻžāĻĄāĻŧāĻž ESXi āĻ¤ā§ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŋāĨ¤
āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ, āĻāĻ āĻŦāĻž āĻ¸ā§āĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨āĻā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ / āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ
āĻ˛āĻ¸āĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖā§, āĻāĻŽāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻāĻĨāĻž āĻā§āĻŦā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻŽāĻžāĻ° āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŽāĻžāĻā§ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻŽā§āĻāĻžāĻ° āĻĒāĻŖā§āĻ¯ā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻā§āĻā§
āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻ āĻ¨ā§āĻā§āĻ āĻāĻžāĻ¨ā§āĻ¨ āĻ¯ā§ Terraform āĻā§, āĻāĻŦāĻ āĻ¯āĻžāĻ°āĻž āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž, āĻāĻāĻŋ IasC āĻ§āĻžāĻ°āĻŖāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¯ā§āĻā§āĻ¨ā§ āĻā§āĻ˛āĻžāĻāĻĄ, āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§).
āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ ESXi āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤ āĻŦā§āĻļ āĻ¸āĻšāĻ, āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯āĨ¤
āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻļāĻž āĻāĻ°āĻāĻŋ.
āĻā§āĻ¨ āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ vCenter āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨?
āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§. āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻāĻ āĻĒāĻŖā§āĻ¯āĻāĻŋ āĻā§āĻŦ āĻ¸āĻŽā§āĻĒāĻĻ-āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻāĻŦāĻ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻŽāĻžāĻ° āĻšā§āĻŽ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĢāĻŋāĻ āĻāĻ°ā§ āĻ¨āĻž, āĻāĻŦāĻ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧāĻ¤, āĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻĒāĻā§āĻ°ā§āĻĄ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤
āĻāĻ¨ā§āĻā§āĻ˛ NUC āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§:
CPU: 2 CPUs x Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz
RAM: 8Gb
HDD: 500Gb
ESXi version: ESXi-6.5.0-4564106-standard (VMware, Inc.)
āĻāĻŦāĻ āĻ¤āĻžāĻ, āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻĒā§āĻ°āĻĨāĻŽ.
āĻāĻĒāĻžāĻ¤āĻ¤, esxi āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻ¯āĻžāĻ, āĻ¯āĻĨāĻž, āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ VNC āĻĒā§āĻ°ā§āĻ āĻā§āĻ˛ā§āĻ¨āĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ˛ā§āĻāĻž-āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤āĨ¤ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŋ:
chmod 644 /etc/vmware/firewall/service.xml
chmod +t /etc/vmware/firewall/service.xml
vi /etc/vmware/firewall/service.xml
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻˇā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦā§āĻ˛āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
<service id="1000">
<id>packer-vnc</id>
<rule id="0000">
<direction>inbound</direction>
<protocol>tcp</protocol>
<porttype>dst</porttype>
<port>
<begin>5900</begin>
<end>6000</end>
</port>
</rule>
<enabled>true</enabled>
<required>true</required>
</service>
āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨, āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻ āĻ§āĻŋāĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨:
chmod 444 /etc/vmware/firewall/service.xml
esxcli network firewall refresh
āĻšā§āĻ¸ā§āĻ āĻ°āĻŋāĻŦā§āĻ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ¸āĻ˛āĨ¤ āĻāĻ° āĻĒāĻ°ā§, āĻāĻ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ°āĻ, āĻāĻŽāĻŋ āĻāĻāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŦāĨ¤
āĻĒāĻŖā§āĻ¯ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ˛ā§āĻ˛ā§āĻ:
OS: Centos 7 x86_64 minimal
RAM: 1GB
HDD: 20GB
Selinux: disable
firewalld: disable
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ "āĻ¸ā§āĻ¨āĻžāĻ˛ā§" āĻāĻŽā§āĻ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
yum install unzip git -y
curl -O https://releases.hashicorp.com/packer/1.5.5/packer_1.5.5_linux_amd64.zip
unzip packer_1.5.5_linux_amd64.zip -d /usr/bin && rm -rf packer_1.5.5_linux_amd64.zip
packer version
Packer v1.5.5
āĻāĻ˛āĻžāĻĢā§āĻ°āĻž āĻĒā§āĻ¯āĻžāĻāĻžāĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻšā§āĻ¤ā§ RedHat-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻāĻāĻ āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
which -a packer
/usr/sbin/packer
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻŦāĻž āĻāĻāĻāĻŋ āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ /usr/bin/packerāĨ¤
āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° ovftool āĻĻāĻ°āĻāĻžāĻ°
chmod +x VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle
./VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle
Extracting VMware Installer...done.
You must accept the VMware OVF Tool component for Linux End User
License Agreement to continue. Press Enter to proceed.
VMWARE END USER LICENSE AGREEMENT
Do you agree? [yes/no]:yes
The product is ready to be installed. Press Enter to begin
installation or Ctrl-C to cancel.
Installing VMware OVF Tool component for Linux 4.4.0
Configuring...
[######################################################################] 100%
Installation was successful.
āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĨ¤
āĻāĻŋāĻĨā§ āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤.
git clone https://github.com/letnab/create-and-deploy-esxi.git && cd create-and-deploy-esxi
āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻŦāĻŋāĻļāĻžāĻ˛ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻāĻŋāĻ āĻ˛āĻžāĻāĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻ¨ā§āĻā§āĻ¸ 7āĨ¤
āĻāĻĒāĻ¨āĻžāĻā§ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ centos-7-base.json:
variables: ŅĐēаСаŅŅ ŅвОи Đ´Đ°ĐŊĐŊŅĐĩ Đ´ĐģŅ ĐŋОдĐēĐģŅŅĐĩĐŊиŅ
iso_urls: ŅĐēаСаŅŅ Đ°ĐēŅŅĐ°ĐģŅĐŊŅĐš
iso_checksum: ŅĐĩĐēŅŅĐŧĐŧĐ° ваŅĐĩĐŗĐž ОйŅаСа
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻĒāĻ°ā§, āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻāĻžāĻ˛āĻžāĻ¨:
/usr/bin/packer build centos-7-base.json
āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻŦāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻāĻŽāĻžāĻ° 7-8 āĻŽāĻŋāĻ¨āĻŋāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§āĻ¯āĻŧāĨ¤
āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻ¸āĻĢāĻ˛ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ° āĻĒāĻ°ā§ output-packer-centos7-x86_64 ova āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§āĨ¤
āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
curl -O https://releases.hashicorp.com/terraform/0.12.24/terraform_0.12.24_linux_amd64.zip
unzip terraform_0.12.24_linux_amd64.zip -d /usr/bin/ && rm -rf terraform_0.12.24_linux_amd64.zip
terraform version
Terraform v0.12.24
āĻ¯ā§āĻšā§āĻ¤ā§ Terraform-āĻāĻ° ESXi-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻ¨ā§āĻ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻŽāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋ:
cd /tmp
curl -O https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.14.2.linux-amd64.tar.gz && rm -rf go1.14.2.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
go version go1.14.2 linux/amd64
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻŋ:
go get -u -v golang.org/x/crypto/ssh
go get -u -v github.com/hashicorp/terraform
go get -u -v github.com/josenk/terraform-provider-esxi
export GOPATH="$HOME/go"
cd $GOPATH/src/github.com/josenk/terraform-provider-esxi
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags '-w -extldflags "-static"' -o terraform-provider-esxi_`cat version`
cp terraform-provider-esxi_`cat version` /usr/bin
āĻāĻŽāĻ°āĻž āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻŋāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŽā§āĻ āĻ°ā§āĻ˛ āĻāĻāĻ āĻ¯āĻžāĻ¨.
āĻāĻ¸ā§āĻ¨ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻ¯āĻžāĻ:
cd /root/create-and-deploy-esxi/centos7
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§āĻ¨ variables.tf. āĻāĻĒāĻ¨āĻžāĻā§ ESXi āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĢāĻžāĻāĻ˛ā§ network_config.cfg āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§āĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻ¯āĻŧāĻžāĻ¨-āĻ˛āĻžāĻāĻ¨āĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨:
sed -i -e '2d' -e '3i "network": "'$(gzip < network_config.cfg| base64 | tr -d 'n')'",' metadata.json
āĻāĻžāĻ˛, āĻĢāĻžāĻāĻ˛ā§ main.tf ova āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒāĻžāĻĨ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻŽāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨, āĻ¯āĻĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻ¤ā§āĻ¯ā§āĻ° āĻŽā§āĻšā§āĻ°ā§āĻ¤.
terraform init
Initializing the backend...
Initializing provider plugins...
The following providers do not have any version constraints in configuration,
so the latest version was installed.
To prevent automatic upgrades to new major versions that may contain breaking
changes, it is recommended to add version = "..." constraints to the
corresponding provider blocks in configuration, with the constraint strings
suggested below.
* provider.esxi: version = "~> 1.6"
* provider.template: version = "~> 2.1"
Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
data.template_file.Default: Refreshing state...
data.template_file.network_config: Refreshing state...
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# esxi_guest.Default will be created
+ resource "esxi_guest" "Default" {
+ boot_disk_size = (known after apply)
+ disk_store = "datastore1"
+ guest_name = "centos7-test"
+ guest_shutdown_timeout = (known after apply)
+ guest_startup_timeout = (known after apply)
+ guestinfo = {
+ "metadata" = "base64text"
+ "metadata.encoding" = "gzip+base64"
+ "userdata" = "base64text"
+ "userdata.encoding" = "gzip+base64"
}
+ guestos = (known after apply)
+ id = (known after apply)
+ ip_address = (known after apply)
+ memsize = "1024"
+ notes = (known after apply)
+ numvcpus = (known after apply)
+ ovf_properties_timer = (known after apply)
+ ovf_source = "/root/create-and-deploy-esxi/output-packer-centos7-x86_64/packer-centos7-x86_64.ova"
+ power = "on"
+ resource_pool_name = (known after apply)
+ virthwver = (known after apply)
+ network_interfaces {
+ mac_address = (known after apply)
+ nic_type = (known after apply)
+ virtual_network = "VM Network"
}
}
Plan: 1 to add, 0 to change, 0 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
āĻļā§āĻˇ:
terraform apply
āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ 2-3 āĻŽāĻŋāĻ¨āĻŋāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°ā§āĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻŋāĻ¤ā§āĻ° āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻ āĻ¸āĻŦ āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§.
āĻāĻ āĻĒāĻŖā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻŋ āĻā§āĻŦāĻ˛ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻŽā§āĻ˛ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻžāĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽā§ˇ
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!
PS: āĻāĻ āĻ¨āĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻžāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻ˛ā§ āĻāĻŽāĻŋ āĻā§āĻļāĻŋ āĻšāĻŦāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com