์ต๊ณ ์ ๋จ์๋ผ๊ณ ํด๋ ๊ณผ์ธ์ด ์๋ ๊ฒ์ด๋ค.
๊ณ ๋์ ํตํด ๊ธฐ์จ์ ์ฐพ์ผ์ญ์์ค.
๋ฃจํธ๋นํ ํ ๋ฒ ํ ๋ฒค

์ ๋ Sergey์ ๋๋ค. Yandex.Money์ ์ฑ๊ณผ ์ฐ๊ตฌํ์์ ์ผํ๊ณ ์์ต๋๋ค. ์ ๋ ์ค์ผ์คํธ๋ ์ด์ ์ ์ฌ์ฉํ๋ ๊ณผ์ , ์ฆ ์ ๊ธฐ๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ณ ๋ คํ ์ฌํญ์ ๋ํ ์ด์ผ๊ธฐ์ ์์์ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ๊ธฐ์ฌ์ ๋ชจ๋ ์ด๋ฒคํธ๋ ์ค์๊ฐ์ผ๋ก ์งํ๋๋ฏ๋ก ๋ ์ ์ฌ๋ฌ๋ถ์ ์ํฉ์ ์ ๊ฐ๋ฅผ ๊ฑฐ์ ์ค์๊ฐ์ผ๋ก ๋ฐ๋ผ๊ฐ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ ํ์ ์งํ์๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์งํ์๋ ๋๊ตฌ์ ๋๊น? fr์์. diriger - ์์ ์ ์ธ๊ณ์์ ๊ด๋ฆฌํ๊ณ , ์งํํ๊ณ , ์ด๋๋ - ์์๋ธ ์์ ์ ํ์ต๊ณผ ์ฐ์ฃผ๋ฅผ ์ฃผ๋ํ๋ ์ฌ๋์ ๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์ด ์๋ฆฌ๋ ์ค์ผ์คํธ๋ ์ด์ ๋ฐ ์๋ํ ์์คํ ์ด ์ฐจ์งํฉ๋๋ค.
๊ทธ๋ค์ ์ญํ ์ ์์ ์งํ์์ ์ญํ ๊ณผ ๋ค๋ฅด์ง ์์ต๋๋ค. ๊ทธ๋ค์ ํ์ ๋๊ณ , ์ฐ๊ทน์ ์๋ดํ๊ณ ์กฐ์งํ๋ ๋ฐ ํ์ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํ์๋ ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ๋ ํน์ ์ฉ๋(์๋ฒ๋ผ๊ณ ๋ถ๋ฅด์)์ด ์์ต๋๋ค.
์ด๋ฌํ ์๋ฒ๋ฅผ ํ๋ณดํ๊ณ ์ด์ํ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ค์ํฉ๋๋ค. ๋ช ๊ฐ์ง ์:
- ํ์ ์๋ฅผ ๋ค์ด ์ด์ ๊ทธ๋ฃน์ ํน์ ๋งค๊ฐ๋ณ์๊ฐ ํฌํจ๋ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๋๋ก ์์ฒญํฉ๋๋ค.
- ์ด์ํ์ ํ์ํ ์๋(ํด๋ผ์ฐ๋ ๋๋ ๋ฒ ์ด ๋ฉํ)์ ์ ๊ณตํ๊ณ SLA์ ๋ฐ๋ผ ์ ์ ํ ์ํ๋ก ์ ์ง ๊ด๋ฆฌํฉ๋๋ค. ์ค์ ๋ ์ด์ํ์์ ์ํํฉ๋๋ค.
- ํ์ ์ด์ ๊ทธ๋ฃน์ผ๋ก๋ถํฐ ํด๋ผ์ฐ๋ ๋๋ ๋ฒ ์ด๋ฉํ ๋ฆฌ์์ค๋ง ๋ฐ์ ์์ฒด์ ์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค.
- ํ ์์ฒด๊ฐ ๋ฆฌ์์ค๋ฅผ "๊ตฌ๋งค"ํ๊ณ ์ด๋ฅผ ์์ ํ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ง/์ค์ ํฉ๋๋ค.
์ฐ๋ฆฌ ํ์ OS ์ ๋ฐ์ดํธ, ์ ํจํค์ง ์ค์น ๋ฑ ์ง์์ด ํ์ํ ์๋ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฅผ ๋ ๊ฐ์ง ์ฃผ์ ์ ํ์ผ๋ก ๋๋์์ต๋๋ค.
- ํฑํฌ ๊ทธ๋ฃน,
- ์๋น์ค ๊ทธ๋ฃน.
ํฑํฌ ๊ทธ๋ฃน์ Yandex.Tank๊ฐ ์๋ ํธ์คํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์๋น์ค ๊ทธ๋ฃน์๋ ์ ์ง ๊ด๋ฆฌ์ ๊ด๋ จ๋ ๋ชจ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ ์ง์, ์๋ ๋ณด๊ณ ์ ์์ฑ ๋ฑ์ ์ ๊ณตํ๋ ๋ค์ํ ์๋น์ค์ ๋๋ค.
์ด๋ ์๊ฐ ์ด ๋ชจ๋ ๊ฒ์ ์๋์ผ๋ก ๊ด๋ฆฌํ๊ธฐ๊ฐ ๋ถํธํด์ก๊ณ , ์ฐ๋ฆฌ๋ ์๋ฒ '๋ก๋ฉ'๋ถํฐ ์์ํ์ฌ ๋ด๋ถ ์๋น์ค์ ๊ฐ๋ฐ, ์ถ์, ์ถ์๊น์ง ์ ์ฒด ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ ๊ฒ์ ๊ณ ๋ คํ์ต๋๋ค.
์ค์ผ์คํธ๋ผ ์์ฒด๋ ์ฐ์ฃผํ ์ ์๋๋ฐ ์ ์งํ์๊ฐ ํ์ํ๊ฐ?
์ฐ์ , ์ฐ๋ฆฌ๋ Ansible์ ๋ง์คํฐํ๊ณ ์์คํ ๊ด๋ฆฌ์์ ๋ํ ์์กด๋๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ฒ ์ด๋ฉํ ์๋ฒ๋ฅผ "๋ถ์ด"ํ๊ธฐ ์์ํ์ต๋๋ค. ์ฌ๊ธฐ์ ๋ชจ๋๊ฐ ์น๋ฆฌํ๊ณ ์๋ก์ด ๊ธฐ์ ์ ์ต๋ํ๋ฉฐ ๊ด๋ฆฌ์๊ฐ ์ฐ๋ฆฌ ์์ด๋ ํญ์ ์ถฉ๋ถํ๋ ์ผ๋ถ ์์ ์ ๋์ด์ค๋๋ค. . ์ฐ๋ฆฌ๋ ์ ๋ฌธ์ฑ๊ณผ ํ ์์จ์ฑ์ ์ต๋ํ ๋ฐ์ด๋์ด ๋ฐ์ ํ๊ธฐ ์ํด ๋ ธ๋ ฅํฉ๋๋ค.
ํ์ฌ์์๋ Ansible์ ์ฌ์ฉํ ์์ ์ด ์ค๋ซ๋์ ๊ตฌ์ฑ ๋ฐ ๊ท์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ ์๋ฃจ์ ์ ์ด ํ๋ก์ธ์ค์ ์ฝ๊ฒ ํตํฉํ์ต๋๋ค.
ํ์ฌ ํธ์คํธ ํ์ ์ธ ๊ฐ์ง Ansible ์ญํ ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ ์ญํ ์ OS๋ฅผ ์ค์นํ๊ณ ,
- ๋ ๋ฒ์งธ๋ ํธ์คํธ์ ๋ํ ๊ธฐ๋ณธ ์ค์ ์ธ LDAP ์ธ์ฆ์ ์คํํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ธ ๋ฒ์งธ๋ Yandex.Tank ๋ฐ ๊ด๋ จ ์ข ์์ฑ์ Docker ์ปจํ ์ด๋์ ์ค์นํฉ๋๋ค.
ํ ๋ด์์ ์ฌ์ฉํ๋ ์๋น์ค๋ก ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ ์์ ์์๋ Kotlin๊ณผ Python์ ๋์ผํ๊ฒ ์ฌ์ฉํ๊ณ Golang์ ์กฐ๊ธ ๋ ์ฌ์ฉํฉ๋๋ค. ์๋น์ค ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ๋ฅผ ํตํฉํ๊ธฐ ์ํด ์๋น์ค๋ฅผ Docker ์ปจํ ์ด๋์ ํจํค์งํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์์ ๋กญ๊ฒ ์ ํํ ์ ์์ผ๋ฉฐ ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๊ท ์ผํ ์ ๋ฌ ํ์์ ๊ท์ ํ ์ ์์ต๋๋ค.
Docker์ ipv6์ ๋ํ ์์ ์ฐธ๊ณ ์ฌํญ
์ฐ๋ฆฌ๊ฐ ์ํธ ์์ฉํ๋ ์ผ๋ถ ์๋น์ค๋ ipv6์ ํตํด์๋ง ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ปจํ ์ด๋์ฉ ipv6์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ด์ผ ํ์ต๋๋ค.
๊ณต์ Docker ์น์ฌ์ดํธ์ ipv6 ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด ipv6์ daemon.json์ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ์ฌ ํ์ฑํ๋ฉ๋๋ค.
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}์ด ๊ฒฝ์ฐ ๊ณต๊ธ์๋ ๊ทํ๊ฐ ๋ฑ๋กํ ipv6 ์๋ธ๋ท์ ๋ฐ๊ธํด์ผ ํฉ๋๋ค. fixed-cidr-v6.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ์ต์
์ธ ipv6 NAT๋ฅผ ์ ํํ์ผ๋ฉฐ ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด์ ๋์ปค ipv6์์๋ง ๊ฐ๋ฅํฉ๋๋ค.
- ๊ฐ ์ปจํ ์ด๋์ ์ ์ญ์ ์ผ๋ก ๋ผ์ฐํ ๊ฐ๋ฅํ ์ฃผ์๊ฐ ์๋ค๋ ๊ฒ์ ์ถ๊ฐ ํํฐ๋ง์ ์ํํ์ง ์๋ ํ ๋ชจ๋ ํฌํธ(๊ฒ์๋์ง ์์ ํฌํธ๋ ํฌํจ)๊ฐ ๋ชจ๋ ์ฌ๋์๊ฒ ๋ ธ์ถ๋๋ค๋ ์๋ฏธ์ ๋๋ค.
- ๊ฒ์ ํฌํธ๋ฅผ ์ํ ์ฌ์ฉ์ ์์ญ ํ๋ก์, .
IPv6 NAT๋ , ์ด๋ ์์ฒด์ ์ผ๋ก ip6tables์ ๊ท์น์ ๊ด๋ฆฌํ๊ณ ์ ์ปจํ ์ด๋๋ฅผ ์ถ๊ฐํ ๋ ๊ท์น์ ํธ์งํฉ๋๋ค.
์ด ์๋ฃจ์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ค๋ฉด ๋ค๋ฅธ ์ฌ๋ฌ ๊ฐ์ง ์กฐ์์ด ํ์ํ์ต๋๋ค. ์์คํ ์์ ip6table_nat๋ฅผ ์ด๊ธฐํํด์ผ ํฉ๋๋ค. ์์คํ ์ ๋ชจ๋์ด ์ค์น๋์ด ์๋ค๊ณ ํด์ ์์ ์ ๋ชจ๋์ด ์ปค๋์ ๋ก๋๋๋ค๋ ๋ณด์ฅ์ ์์ต๋๋ค. ์๋ก์ด ํธ์คํธ์์ NAT๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ์คํํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
2019/01/22 14:59:54 running [/sbin/ip6tables -t filter -N DOCKER --wait]: exit status 3: modprobe: can't change directory to '/lib/modules': No such file or directory
ip6tables v1.6.2: can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)modprobe ๋ชจ๋์ ์ฌ์ฉํ์ฌ Ansible ์ญํ ์ ์ด๊ธฐํ๋ฅผ ์ถ๊ฐํ๊ณ lineinfile์ ์ฌ์ฉํ์ฌ OS ์์ ์ ์ด๋ฅผ ๋ก๋ํ ํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
- name: Add ip6table_nat module
modprobe:
name: ip6table_nat
state: present
- name: Add ip6table_nat to boot
lineinfile:
path: /etc/modules
line: 'ip6table_nat'๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ํ๋ธ์ ์ข์ ๊ฒ์ด ์์ต๋๋ค , docker์์ ipv6์ ์คํํ๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฅ์ ๊ณผ ๋จ์ ์ ๊ฐ๋จํ๊ณ ๋ช ํํ๊ฒ ์ค๋ช ํฉ๋๋ค.
ํ์ง๋ง ์ฒ์์ ํ๋ ์ง๋ฌธ์ผ๋ก ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค.
์ค์ผ์คํธ๋ผ ์์ฒด๋ ์ฐ์ฃผํ ์ ์๋๋ฐ ์ ์งํ์๊ฐ ํ์ํ๊ฐ?
์ด์ ๋ชจ๋๊ฐ ์ฐ๋ฆฌ ํ์์ ํ๋ ์ดํ๋ ๋ฐฉ๋ฒ์ ์์ํฉ๋๋ค.
- ์๋ฒ๋ฅผ "ํธ์ด"ํ๋ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋์์ต๋๋ค.
- ์๋น์ค ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ๊ฐ ํตํฉ๋ฉ๋๋ค.
ํฉ๋ฆฌ์ ์ธ ์ง๋ฌธ์ด ์๊น๋๋ค. Docker ์ปจํ ์ด๋์์ ์๋น์ค๋ฅผ ์ด๋ป๊ฒ ํจ์จ์ ์ด๊ณ ์๋์ผ๋ก ๋ฐฐํฌ, ์ ๋ฐ์ดํธ ๋ฐ ์ ์ดํ ์ ์์๊น์?
๊ฐ ์ค์ผ์คํธ๋ผ ๋จ์์ ์์ ์ ์ญํ ์ ์๊ณ ์์์๋ ๋ถ๊ตฌํ๊ณ ํผ๋์ค๋ฌ์ํ๊ณ ์๋ ์๊ฐ์์ ๋ฒ์ด๋ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ์งํ์๊ฐ ์์ผ๋ฉด ์ฐ๋ฆฌ ์ค์ผ์คํธ๋ผ๊ฐ ํจ๊ณผ์ ์ผ๋ก ๋ฆฌํ์คํ๊ณ ์ผ๊ด๋๊ฒ ์ฐ์ฃผํ ์ ์๋ค๋ ๊ฒฐ๋ก ์ ๋๋ฌํฉ๋๋ค. ์งํ์๋ ๊ณต์ฐ์ ๋ชจ๋ ๋งค๊ฐ๋ณ์๋ฅผ ๋ด๋นํ์ฌ ๋ชจ๋ ๊ฒ์ด ํ๋์ ํ ํฌ์ ๋ถ์๊ธฐ๋ก ํตํฉ๋๋๋ก ํฉ๋๋ค.
์ต์ํ์ ํฌ์๋ก ์ข์ ์งํ์๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
์ค์ผ์คํธ๋ ์ด์ ์ด๋ผ๋ ์ฃผ์ ๋ ์์ฅ์์ ๊ฝค ์ ๋ฐ๋ฌ๋์ด ์์ต๋๋ค. ํ์ง๋ง ๋จผ์ ์งํ์์๊ฒ ๋์์ด ๋ ์ ์๋ ๋ณด์กฐ ๋๊ตฌ์ ๋ํด ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค.
- ๋ ๊ฐ์ง ์ฃผ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์์คํ :
- ์๋น์ค ๋ฐ๊ฒฌ,
- ๋ถ์ฐ๋ ํค-๊ฐ ์ ์ฅ์.
์ฐ๋ฆฌ ์ค์ผ์คํธ๋ผ์์๋ Consul์ด ์๋น์ค ๋ฑ๋ก ๋ฐ ๊ตฌ์ฑ ์ ์ฅ์ ๋ด๋นํฉ๋๋ค. ๋ ๊ฐ์ง ๋ฑ๋ก ์ต์ ์ด ์์ต๋๋ค:
- ํ์ฑ์ ์๋น์ค๊ฐ HTTP API๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒด์ ์ผ๋ก ๋ฑ๋ก๋๋ ๊ฒฝ์ฐ์ ๋๋ค.
- ์๋ - ์๋น์ค๋ฅผ ์๋์ผ๋ก ๋ฑ๋กํด์ผ ํฉ๋๋ค.
Vault๋ ๋น๋ฐ๋ฒํธ, ์ธ์ฆ์ ๋ฑ ๋น๋ฐ์ ๋ณด์ ์ ์ฅ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ํ์คํํ๊ณ ํตํฉํ๋ ์ ์ฅ์์
๋๋ค.
์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ป์ ์ ์๋ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- HTTP API๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ฐ์ ์์ฑ ๋ฐ ์ ์ฅํ๊ณ ๋น๋ฐ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋จ์ผ ์ผํฐ์ ๋๋ค.
- Transit Secrets Engine - ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๊ณ ์ํธํ ๋ฐ ํด๋ ํฉ๋๋ค. ๋ณด์๋์ง ์์ ํต์ ์ฑ๋์ ํตํด ์ํธํ๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
- ๊ตฌ์ฑํ๊ธฐ ์ฌ์ด ์ก์ธ์ค ์ ์ฑ .
- ๋น๋ฐ์ ๋ํ ์ก์ธ์ค ๊ฐ์ฌ.
- ์ธํ๋ผ ๋ด์์ ์์ฒด ์๋ช ๋ ์ธ์ฆ์๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์์ฒด CA(์ธ์ฆ ๊ธฐ๊ด)๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ.
๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ ๋ ์งํ์์ ์ญํ ์๋ Kubernetes์ Nomad๋ผ๋ ๋ ๊ฐ์ง ์ต์ ์ด ์ ํฉํ์ต๋๋ค.
Kubernetes
๊ทธ์ ๋ํด ์ด๋ฏธ ์ผ๋ง๋ ๋ง์ ๊ธฐ์ฌ์ ์ฑ ์ด ์ฐ์ฌ์ก์ต๋๊น (์ฌ๊ธฐ , ์๋ฅผ ๋ค์ด) ๊ฐ๋ตํ๊ฒ ์์ฑํ ๋ณด๊ณ ์๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๊ฑฐ์ ๋ชจ๋ ์์ ์ ์ํํ ์ ์๋ ๋ง๋ฅ ์ํ๊ธฐ์ ๋๋ค. ์ด์ ๋ํ ๋๊ฐ๋ Kubernetes์์ ํด๋ฌ์คํฐ๋ฅผ ์ค์ ํ๊ณ ์ ์ง ๊ด๋ฆฌํ๋ ๊ฒ์ด ํญ์ ์ฌ์ด ๊ฒ์ ์๋๋ผ๋ ๊ฒ์ ๋๋ค.
์ ๋ชฉ๋ฏผ
์์์ ์ธ๊ธํ ์์ฌ ๋ฐ ๊ธ๊ณ ๋ก ์ ๋ช ํ HashiCorp ํ์ฌ์ ์ ํ์ ๋๋ค.
์ฐ๋ฆฌ๋ Nomad๊ฐ Kubernetes๋ณด๋ค ์ค์น ๋ฐ ๊ตฌ์ฑ์ด ํจ์ฌ ์ฝ๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ํ๋์ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ชจ๋ ๋ชจ๋์์ ์๋ํฉ๋๋ค. ๋์์ Nomad๋ ํด๋ฌ์คํฐ ๊ด๋ฆฌ, ๋น ๋ฅธ ์ค์ผ์ค๋ฌ, ๋ฉํฐ ๋ฐ์ดํฐ ์ผํฐ ์ง์ ๋ฑ ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํ๊ณ ์ ํ๋ ์์ ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ค๋ฃน๋๋ค. ๋ํ consul๊ณผ Vault๋ฅผ ์ฌ์ฉํ๋ฉด ์๋น์ค ์กฐ์ ์ ์ํ ํตํฉ์ด ๋์ฑ ๊ธด๋ฐํด์ง๋๋ค.
ํ์ฌ ์งํ ์ค์ธ ์์ :
- Consul ๋ฐฐํฌ๋ฅผ ์ํด ์ค๋น๋ ์๋ฒ,
- nomad ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ Consul์ ์ ๋ ฅ๋๋ฉฐ, ์ด๋ฅผ ํตํด nomad๊ฐ ์๋์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
- ๋์์ ๋น๋ฐ์ ์ ์ฅํ๊ธฐ ์ํด ์ ์ฅ์๋ฅผ ์ค์นํ ๊ฒ์ ๋๋ค.
์ฒญ์ค์ ์ํ ์ง๋ฌธ: ๊ทธ๋ฌํ ์์ ์ ์ํด ์งํ์๋ฅผ ๊ณ ์ฉํ ๊ฐ์น๊ฐ ์์ต๋๊น? ์๋๋ฉด ์งํ์๊ฐ ์์ด๋ ์ค์ผ์คํธ๋ผ๊ฐ ์ ๋๊ณ ์์ต๋๊น? ์ด์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ๋์ง ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์.
๋ธ๋ก๊ทธ๋ฅผ ๊ตฌ๋ ํ๊ณ ์ฐ๋ฝ์ ์ ์งํ์ธ์. ๊ฒฐ๊ตญ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง, ๊ทธ๋ฆฌ๊ณ ๋ ธ๋ง๋ ํด๋ฌ์คํฐ๋ฅผ ์ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑํ๋์ง ์ฌ๋ถ๋ฅผ ๊ณง ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ ์๋ํ ๊ณณ์ผ๋ก ์ค์ธ์ ์์๋ ์ธ์ ๋ ์ง ์กฐ์ธ์ ๊ตฌํ๊ณ , ๋๋ฃ๋ฅผ ๋๊ณ , ์์ฐ์ฑ ์ฐ๊ตฌ ๋ฑ์ ๊ดํด ๋ํ๋ฅผ ๋๋ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com
