рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣ рдХреНрд╡рд┐рдХ рдбрд┐рдкреНрд▓реЙрдп vm ESXi

рд╕рд░реНрд╡рд╛рдВрдирд╛ рдирдорд╕реНрдХрд╛рд░, рдорд╛рдЭреЗ рдирд╛рд╡ рдЗрд╡реНрд╣рд╛рди рдЖрд╣реЗ рдЖрдгрд┐ рдореА рдЕрд▓реНрдХреЛрд╣реЛрд▓рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ (OPS) рдЖрд╣реЗ.

рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреВ рдЗрдЪреНрдЫрд┐рддреЛ рдХреА рдореА рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╡рд╛рдкрд░реВрди vCenter рд╢рд┐рд╡рд╛рдп ESXi рд╡рд░ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдХрд╕реЗ рддреИрдирд╛рдд рдХрд░реВ.

рдмрд░реНтАНрдпрд╛рдЪрджрд╛, рдпрд╛ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдиреНрд╕ рддреИрдирд╛рдд/рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рд╛рд╡реА рд▓рд╛рдЧрддрд╛рдд. рдЖрд│рд╢реАрдкрдгрд╛рдореБрд│реЗ, рдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛. рдорд╛рдЭреНрдпрд╛ рд╢реЛрдзрд╛рдореБрд│реЗ рдорд▓рд╛ рдХрдВрдкрдиреАрдЪреНрдпрд╛ рдПрдХрд╛ рдЕрджреНрднреБрдд рдЙрддреНрдкрд╛рджрдирд╛рдХрдбреЗ рдиреЗрд▓реЗ hashicorp, рдЫрдд.

рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореНрд╣рдгрдЬреЗ рдХрд╛рдп рд╣реЗ рдмрд░реНтАНрдпрд╛рдЪ рд▓реЛрдХрд╛рдВрдирд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдХреЛрдгрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА, рд╣рд╛ 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

рдкреБрдвреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдкреЕрдХрд░, рддрд╕реЗрдЪ HashiCorp рдЪреЗ рдЙрддреНрдкрд╛рджрди.

"рд╕реЛрдиреЗрд░реА" рдкреНрд░рддрд┐рдорд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдПрдХрддреНрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬреНрдпрд╛рдЪрд╛ рдЖрдкрдг рднрд╡рд┐рд╖реНрдпрд╛рдд рд╡рд╛рдкрд░ рдХрд░реВ.

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

рдЯреЗрд░рд╛рдлреЙрд░реНрдордХрдбреЗ 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛