Quick Deploy vm ESXi с Terraform

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ Π½Π° всички, ΠΊΠ°Π·Π²Π°ΠΌ сС Иван ΠΈ съм систСмСн администратор Π°Π»ΠΊΠΎΡ…ΠΎΠ»ΠΈΠΊ (OPS).

Π‘ΠΈΡ… искал Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ внСдрявам Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π½Π° ESXi Π±Π΅Π· vCenter, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Terraform.

Доста чСсто трябва Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ / ΠΏΡ€Π΅ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини, Π·Π° Π΄Π° тСстватС Ρ‚ΠΎΠ²Π° ΠΈΠ»ΠΈ ΠΎΠ½ΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΡ€Π°Π΄ΠΈ ΠΌΡŠΡ€Π·Π΅Π» сС замислих Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° процСса. Π’ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ ΠΌΠΈ ΠΌΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΅Π΄ΠΈΠ½ прСкрасСн ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π° компанията Ρ…Π°ΡˆΠΈΠΊΠΎΡ€ΠΏ, Ρ‚Π΅Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ°.

Мисля, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€Π° знаят ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Terraform, Π° ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅, Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° всСки ΠΎΠ±Π»Π°ΠΊ, инфраструктура ΠΈΠ»ΠΈ услуга, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ концСпцията IasC (Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄).

Използвам ESXi ΠΊΠ°Ρ‚ΠΎ срСда Π·Π° виртуализация. Доста просто, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ.
ΠžΡ‡Π°ΠΊΠ²Π°ΠΌ Π²ΡŠΠΏΡ€ΠΎΡ.

Π—Π°Ρ‰ΠΎ Π΄Π° Ρ‚Π΅Ρ€Π°Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ vCenter Server?

ΠœΠΎΠΆΠ΅Ρ‚Π΅, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½ΠΎ. ΠŸΡŠΡ€Π²ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π»ΠΈΡ†Π΅Π½Π·, Π²Ρ‚ΠΎΡ€ΠΎ, Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ΅ΠΌΡŠΠΊ ΠΈ просто Π½Π΅ сС ΠΏΠΎΠ±ΠΈΡ€Π° Π½Π° моя домашСн ΡΡŠΡ€Π²ΡŠΡ€, ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΎ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° умСния.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Intel 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

Към ΠΏΠ°ΠΏΠΊΠ° ΠΈΠ·ΠΎ трябва Π΄Π° поставитС ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π° Π·Π° разпространСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма. Π’ моя случай Ρ‚ΠΎΠ²Π° Π΅ centos 7.

Врябва ΡΡŠΡ‰ΠΎ Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π°. centos-7-base.json:

variables: ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
iso_urls: ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ
iso_checksum: чСксумма вашСго ΠΎΠ±Ρ€Π°Π·Π° 

Π‘Π»Π΅Π΄ всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ стартирайтС сборката:

/usr/bin/packer build centos-7-base.json

Ако всичко Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΎ ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ снимка Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° инсталация Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма. Π’ΠΎΠ·ΠΈ процСс ΠΌΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ° 7-8 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ.

Π‘Π»Π΅Π΄ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚-centos7-x86_64 ova Ρ„Π°ΠΉΠ»ΡŠΡ‚ Ρ‰Π΅ бъдС Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ Terraform:

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

ΠŸΡŠΡ€Π²ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ.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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€