Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Π’ΠΎΠ²Π° Π΅ стСнограма Π½Π° Ρ€Π΅Ρ‡Ρ‚Π° DevopsConf 2019-10-01 ΠΈ SPbLUG 2019-09-25.

Π’ΠΎΠ²Π° Π΅ историята Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° самостоятСлно написана систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията ΠΈ Π·Π°Ρ‰ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ към Ansible ΠΎΡ‚Π½Π΅ 18 мСсСца.

Π”Π΅Π½ β„– -Π₯Π₯Π₯: ΠŸΡ€Π΅Π΄ΠΈ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ инфраструктурата сС ΡΡŠΡΡ‚ΠΎΠ΅ΡˆΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ хостовС, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ с Hyper-V. Π‘ΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина изисквашС ΠΌΠ½ΠΎΠ³ΠΎ ΡΡ‚ΡŠΠΏΠΊΠΈ: поставянС Π½Π° дисковСтС Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ място, рСгистриранС Π½Π° DNS, Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° DHCP, поставянС Π½Π° конфигурацията Π½Π° VM Π² git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ. Π’ΠΎΠ·ΠΈ процСс бСшС частично ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½, Π½ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини бяха Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ хостовСтС Π½Π° Ρ€ΡŠΠΊΠ°. Но, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚ конфигурацията Π½Π° VM Π² git ΠΈ Π΄Π° я ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ°Ρ‚, ΠΊΠ°Ρ‚ΠΎ рСстартират VM.

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

ΠŸΠΎΠ΄ΠΎΠ·ΠΈΡ€Π°ΠΌ, Ρ‡Π΅ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° идСя Π΅ Π±ΠΈΠ»Π° замислСна ΠΊΠ°Ρ‚ΠΎ IaC: ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π±Π΅Π· ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΡƒΠ»ΠΈΡ€Π°Ρ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ си ΠΏΡ€ΠΈ рСстартиранС. Какво бСшС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° конфигурацията Π½Π° VM? Π‘Ρ…Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° просто:

  1. Π‘Ρ‚Π°Ρ‚ΠΈΡ‡Π΅Π½ MAC бСшС Π·Π°ΠΊΠΎΠ²Π°Π½ Π·Π° VM.
  2. ISO с CoreOS ΠΈ диск Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ бяха ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ към VM.
  3. CoreOS стартира скрипта Π·Π° пСрсонализиранС, ΠΊΠ°Ρ‚ΠΎ Π³ΠΎ изтСгля ΠΎΡ‚ WEB ΡΡŠΡ€Π²ΡŠΡ€Π° въз основа Π½Π° нСговия IP адрСс.
  4. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ изтСгля VM конфигурацията Ρ‡Ρ€Π΅Π· SCP въз основа Π½Π° IP адрСса.
  5. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Ρ‚ сС ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° систСмния ΠΌΠΎΠ΄ΡƒΠ» ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° Π½Π° bash скриптовСтС.

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Π’ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ имашС ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

  1. CoreOS ISO Π΅ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½.
  2. Много слоТни Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ дСйствия ΠΈ магия ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅/създаванС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини.
  3. Врудности с Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° вСрсия Π½Π° софтуСра. ΠžΡ‰Π΅ ΠΏΠΎ-Π·Π°Π±Π°Π²Π½ΠΎ с ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Π½Π° ядрото.
  4. VM Π½Π΅ са ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ Ρ‚Π°ΠΊΠ° Π±Π΅Π· Π΄Π°Π½Π½ΠΈ, Ρ‚.Π΅. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини сС появиха с диск с ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ потрСбитСлски Π΄Π°Π½Π½ΠΈ.
  5. Някой Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ ΠΏΡ€Π΅Ρ†Π°ΠΊΠ²Π°ΡˆΠ΅ зависимоститС Π½Π° систСмния ΠΌΠΎΠ΄ΡƒΠ» ΠΈ CoreOS Π·Π°ΠΌΡ€ΡŠΠ·Π²Π°ΡˆΠ΅ ΠΏΡ€ΠΈ рСстартиранС. Π‘Π΅ΡˆΠ΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС ΡƒΠ»ΠΎΠ²ΠΈ Ρ‚ΠΎΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ инструмСнти Π² CoreOS.
  6. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΉΠ½ΠΈΡ‚Π΅.
  7. НямашС CM. ИмашС bash ΠΈ YML ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° CoreOS.

Π—Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ конфигурацията Π½Π° VM, трябва Π΄Π° Π³ΠΎ рСстартиратС, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ сС рСстартира. ИзглСТда ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ няма постоянни дисковС - няма къдС Π΄Π° сС записват рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π•, Π΄ΠΎΠ±Ρ€Π΅, Π½Π΅ΠΊΠ° ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ опцията Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ядрото, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ. Но Π½Π΅, ΠΊΠΎΠ»ΠΊΠΎ слоТно Π΅ всичко.

Π”Π΅Π½ #0: Π Π°Π·ΠΏΠΎΠ·Π½Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Π’ΠΎΠ²Π° бСшС ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½Π°Ρ‚Π° инфраструктура Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: ДТСнкинс, тСстови срСди, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€. CoreOS Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Π·Π° хостванС Π½Π° k8s ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, Ρ‚.Π΅. ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ бСшС ΠΊΠ°ΠΊ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° CoreOS. ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° бСшС ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° стСк. БпряхмС сС Π½Π°:

  1. CentOS ΠΊΠ°Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ρ‚.ΠΊ Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΎΡ‚ΠΎ разпространСниС Π΄ΠΎ производствСнитС срСди.
  2. Ansible Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията, Ρ‚.ΠΊ имашС Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎ Π½Π΅Π³ΠΎ.
  3. ДТСнкинс ΠΊΠ°Ρ‚ΠΎ Ρ€Π°ΠΌΠΊΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ процСси, Ρ‚.ΠΊ Π²Π΅Ρ‡Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° процСси Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅
  4. Hyper-V ΠΊΠ°Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° виртуализация. Има Ρ€Π΅Π΄ΠΈΡ†Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»ΡΡ‚ ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° историята, Π½ΠΎ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ – Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±Π»Π°Ρ†ΠΈΡ‚Π΅, трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ собствСния си Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€.

Π”Π΅Π½ β„– 30: ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ споразумСния - БпоразумСнията ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΡΡ‚Π΅ΠΊΡŠΡ‚ бСшС чист, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π·Π° прСмСстванСто Π·Π°ΠΏΠΎΡ‡Π½Π°. ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ споразумСния ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄ (БпоразумСнията ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄!). ΠŸΡ€Π΅Ρ…ΠΎΠ΄ Ρ€ΡŠΡ‡Π΅Π½ Ρ‚Ρ€ΡƒΠ΄ -> мСханизация -> автоматизация.

1. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Ansible сС справя чудСсно с Ρ‚ΠΎΠ²Π°. Π‘ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ двиТСния Π½Π° тялото ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ΅ΠΌΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π°Π΄ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° VM:

  1. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.
  2. ΠŸΠΎΡΡ‚Π°Π²ΡΠΌΠ΅ списъка с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π² ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π°, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π² ΠΊΠ½ΠΈΠ³ΠΈΡ‚Π΅ ΠΈ Ρ€ΠΎΠ»ΠΈΡ‚Π΅.
  3. БъздавамС спСциалСн ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ Jenkins, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стартиратС Ansible.
  4. БъздавамС Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Jenkins.

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ процСс Π΅ Π³ΠΎΡ‚ΠΎΠ². БпоразумСнията са фиксирани.

2. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ² VM

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Всичко Ρ‚ΡƒΠΊ Π½Π΅ бСшС ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. НС Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π½Π° Hyper-V ΠΎΡ‚ Linux. Π•Π΄ΠΈΠ½ ΠΎΡ‚ ΠΎΠΏΠΈΡ‚ΠΈΡ‚Π΅ Π·Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ процСс бСшС:

  1. Ansbile сС ΡΠ²ΡŠΡ€Π·Π²Π° Ρ‡Ρ€Π΅Π· WinRM към хоста Π½Π° Windows.
  2. Ansible изпълнява скрипт Π½Π° powershell.
  3. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Powershell създава Π½ΠΎΠ²Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина.
  4. Използвайки Hyper-V/ScVMM, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Π·Π° гости, ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° хоста сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°.
  5. ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° DHCP Π½Π°Π΅ΠΌΠ°, VM ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° своСто ΠΈΠΌΠ΅ Π½Π° хост.
  6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π°Ρ‚Π° ddns & dhcp интСграция ΠΎΡ‚ страната Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° DNS записа.
  7. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ VM към вашия ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΈ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ с Ansible.

3.БъздаванС на VM шаблон

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Π’ΡƒΠΊ Π½Π΅ са измислили Π½ΠΈΡ‰ΠΎ - Π²Π·Π΅Ρ…Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°.

  1. Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, конфигурацията Π½Π° kickstart към git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ.
  2. НастройванС Π½Π° спСциалСн ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ Jenkins с hyper-v ΠΈ Packer.
  3. БъздавамС Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Jenkins.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚Π°Π·ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ°:

  1. Packer създава ΠΏΡ€Π°Π·Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина ΠΈ Π²Π·ΠΈΠΌΠ° ISO.
  2. VM стартира, Packer въвСТда ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π² Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€Π°, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° нашия kickstart Ρ„Π°ΠΉΠ» ΠΎΡ‚ Ρ„Π»ΠΎΠΏΠΈ диск ΠΈΠ»ΠΈ http.
  3. Anaconda сС стартира с Π½Π°ΡˆΠ°Ρ‚Π° конфигурация ΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° конфигурация Π½Π° ОБ Π΅ Π³ΠΎΡ‚ΠΎΠ²Π°.
  4. Packer ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Π΄Π° станС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π°.
  5. Packer Π²ΡŠΡ‚Ρ€Π΅ във VM Ρ€Π°Π±ΠΎΡ‚ΠΈ ansible Π² Π»ΠΎΠΊΠ°Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ.
  6. Ansible ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΡ‡Π½ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ€ΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΡΡ‚ΡŠΠΏΠΊΠ° #1.
  7. Packer Скспортира VM шаблона.

Π”Π΅Π½ #75: Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° споразумСниСто Π±Π΅Π· ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ = ВСст ansible + Testkitchen

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

УлавянСто Π½Π° ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈ Π² ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Π°ΠΊΠΎ Π² Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° процСса искатС Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° счупитС Π½Π΅Ρ‰ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ Π² случая с инфраструктурата сС появява тСстванС Π½Π° ΡΡŠΡ‰Π°Ρ‚Π° Ρ‚Π°Π·ΠΈ инфраструктура. Π—Π° Π΄Π° синхронизирамС знанията Π² Π΅ΠΊΠΈΠΏΠ°, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° тСствамС Ansible Ρ€ΠΎΠ»ΠΈ. Няма Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°ΠΌ Π² Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ... ΠΈΠΌΠ° статия, описваща ΡΡŠΠ±ΠΈΡ‚ΠΈΡΡ‚Π° Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ВСствайтС ΠΌΠ΅, Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ YML програмиститС мСчтаят Π΄Π° тСстват Ansible?(спойлСр Ρ‚ΠΎΠ²Π° Π½Π΅ бСшС ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½Π°Ρ‚Π° вСрсия ΠΈ ΠΏΠΎ-късно всичко стана ΠΏΠΎ-слоТно Как Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° тСстватС Ansible, Π΄Π° ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π° Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΠ΄Π΅Π΅Ρ‚Π΅).

Π”Π΅Π½ #130: МоТС Π±ΠΈ CentOS+ansible Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ? ΠΌΠΎΠΆΠ΅ Π±ΠΈ openshift?

Врябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Π΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° въвСТданС Π½Π° инфраструктура Π½Π΅ бСшС СдинствСният ΠΈ имашС странични ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. НапримСр Π΄ΠΎΠΉΠ΄Π΅ заявка Π·Π° стартиранС Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² openshift ΠΈ Ρ‚ΠΎΠ²Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅ Π·Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄Π½Π° сСдмица Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Openshift ΠΈ сравнявамС ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ инструмСнти ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π°Π±Π°Π²ΠΈ процСса Π½Π° ΠΏΡ€ΠΈΠ΄Π²ΠΈΠΆΠ²Π°Π½Π΅. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ сС ΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ openshift Π½Π΅ ΠΏΠΎΠΊΡ€ΠΈΠ²Π° всички Π½ΡƒΠΆΠ΄ΠΈ, трябва Π²ΠΈ истински Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ ΠΈΠ»ΠΈ ΠΏΠΎΠ½Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ с ядрото.

Π”Π΅Π½ #170: Openshift Π½Π΅ Π΅ подходящ, Π½Π΅ΠΊΠ° рискувамС с Windows Azure Pack?

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Hyper-V Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ приятСлски настроСн, SCVMM Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€. Но ΠΈΠΌΠ° Ρ‚Π°ΠΊΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ Windows Azure Pack, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Π°Π²ΠΊΠ° към SCVMM ΠΈ ΠΈΠΌΠΈΡ‚ΠΈΡ€Π° Azure. Но Π² дСйствитСлност ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΡŠΡ‚ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° изоставСн: докумСнтацията ΠΈΠΌΠ° ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ оскъдна. Но ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ Π·Π° опростяванС Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° нашия ΠΎΠ±Π»Π°ΠΊ, Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…Π°.

Π”Π΅Π½ #250: Windows Azure Pack Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€. ΠžΡΡ‚Π°Π²Π°ΠΌΠ΅ Π½Π° SCVMM

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Windows Azure Pack изглСТдашС ΠΎΠ±Π΅Ρ‰Π°Π²Π°Ρ‰ΠΎ, Π½ΠΎ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° Π½Π΅ сС въвСТда WAP с Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ слоТности Π² систСмата Π² ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ остана с SCVMM.

Π”Π΅Π½ #360: ИзяТданС Π½Π° слона ΠΏΠ°Ρ€Ρ‡Π΅ ΠΏΠΎ ΠΏΠ°Ρ€Ρ‡Π΅

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Π‘Π°ΠΌΠΎ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΠΎ-късно ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° прСмСстванС Π΅ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΈ прСмСстванСто Π·Π°ΠΏΠΎΡ‡Π²Π°. Π—Π° Ρ†Π΅Π»Ρ‚Π° бСшС Π·Π°Π΄Π°Π΄Π΅Π½Π° SMART Π·Π°Π΄Π°Ρ‡Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅ всички Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° измислямС конфигурацията Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π°, описахмС я Π² Ansible ΠΈ я ΠΏΠΎΠΊΡ€ΠΈΡ…ΠΌΠ΅ с тСстовС.

Π”Π΅Π½ #450: Каква систСма ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Ρ‚Π΅?

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Бамият процСс Π½Π΅ Π΅ интСрСсСн. Π’ΠΎΠ²Π° Π΅ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ са относитСлно прости ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½ΠΈ ΠΈ спорСд ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π° ΠŸΠ°Ρ€Π΅Ρ‚ΠΎ, 80% ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° VM изискват 20% ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. По ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ 80% ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ бСшС ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Π½ΠΎ Π·Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° прСмСстванСто ΠΈ само 20% Π·Π° самото прСмСстванС.

Π”Π΅Π½ #540: Π€ΠΈΠ½Π°Π»

Ansible: ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° 120 VM конфигурация ΠΎΡ‚ CoreOS към CentOS Π·Π° 18 мСсСца

Какво сС случи Π·Π° 18 мСсСца?

  1. БпоразумСнията сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π°Ρ…Π° Π² кодСкс.
  2. Π ΡŠΡ‡Π΅Π½ Ρ‚Ρ€ΡƒΠ΄ -> ΠœΠ΅Ρ…Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ -> Автоматизация.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

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