๐ข ํ DevOps ํ์ดํ๋ผ์ธ: ์ฃผ๋์ด ์์ง๋์ด์ ์ด์ผ๊ธฐ(4/4)
๋ชจ๋ํฐ๋ง
๋ด ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ๊ฐ๋ ์๊ฐ ๋ชจ๋ํฐ๋ง์ ๋ํ ์ด๊ธฐ ์๊ฐ์ UpTimeRobot ์ด์์ต๋๋ค. ์ด ์๋น์ค๋ ์ฃผ๊ธฐ์ ์ผ๋ก ํํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ด๋ฉ์ผ์ ํตํด ๊ฒฝ๊ณ ํฉ๋๋ค.
*
์ด๋ฉ์ผ ์์*
๊ทธ๋ฌ๋ ์น ์ฑ์์ ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ๋ชจ๋ํฐ๋งํ๊ณ ๋ณต๊ตฌํ ์ ์๋ค๋ ๊ฒ์ ์ ๋ง ํ๋ฅญํ๋ฉฐportainer ์ด ๊ธฐ๋ฅ์ ์ ๋ง ๋ฅ๊ฐํ์ต๋๋ค.
์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ํ๋ฅญํ๊ณ ์ค๋ช ํ๊ณ ์ถ์ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ปจํ ์ด๋ ๋ก๊ทธ๋ฅผ ๊ฒ์ฌํ๊ณ ์ปจํ ์ด๋์ SSH๋ฅผ ํตํด ์ ์ํ๋ฉฐ ์ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ์ฌ ์ฌ๋ฌ ํธ์คํธ๋ฅผ ์ ์ดํ๊ณ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
*
ํฌํฐ์ด๋ ๋ฌ๋*
portainer๋ฅผ ์คํํ๊ธฐ ์ํด ์ฝ๋ docker-compose ํ ํ๋ฆฟ์ ๋ค์์ ์ถ๊ฐํ์ต๋๋ค.
portainer:
image: portainer/portainer
command: -H unix:///var/run/docker.sock
restart: always
networks:
- homereponet
ports:
- 9000:9000
- 8000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/hdd/portainer:/data
labels:
- "traefik.enable=true"
- traefik.backend=portainer
- traefik.portainer.frontend.rule=Host:portainer.<domain>
- traefik.docker.network=homereponet
- traefik.portainer.port=9000
๋
์ด์ ์ด ์ด์ผ๊ธฐ๋ ์ฌ๊ธฐ์ ๋๋ฉ๋๋ค. ์ ๋ ์ด๊ฒ์ด ์ ๊ณ ์คํ์ผ์ ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ๊ฐ๊ณ ์ ํ๋ ๋ชจ๋ ์ฌ๋์ ์ํ ํ๋ฅญํ ์์ ์ค์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์์ฝํ์๋ฉด ์ด ์ต์ข ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Gitea ๋์ฉ๋ ๋ฏธ๋์ด ํ์ผ์ ๋ํด git LFS์ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ค. Drone CI์ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ๋น๋ํ๊ณ Docker Registry์ ์ ์ฅํ๊ณ Ansible ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ์์คํ ์ธํธ์ ๋ฐฐํฌํ๊ณ cloudformation plugin AWS ๋ฐฐํฌ์ ์ฌ์ฉํฉ๋๋ค. Portainer UI์์ ์ปจํ ์ด๋๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ดํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. Traefik ๋ฌด๋ฃletโs encrypt ๋๋ฉ์ธ์์ duckdns ๋ฌด๋ฃ https ์ธ์ฆ์๊ฐ ์๋ ๋ฆฌ๋ฒ์ค ํ๋ก์์ฉ. ๋ชจ๋ ์คํ ๋ฆฌ์ง๋ ํ๋ ๋๋ผ์ด๋ธ์ ์ ์ฅ๋๋ฉฐ AWS s3์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐฑ์ ๋ฉ๋๋ค.
์ด ๊ธฐ์ฌ ์๋ฆฌ์ฆ๋ฅผ ์ฆ๊ธฐ์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ํ ๋ค๋ฅธ ํ๋์จ์ด, 3D ์ธ์, ์ค๋งํธ ํ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ ๋น๋์ค ํ์์ ๊ธฐ๊ณ ํ์ต์ ํฌํจํ์ฌ ๋ ๋ง์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. ํ์ธํ์ญ์์ค.
๋ถ๋ก
์ฝ๋: https://github.com/sk-t3ch/home-repo
๊ธธ์ ๋ฐ๋ผ ๋ฐฐ์ด ์์์ ๊ฒ๋ค:
๋ด์ฉ: 1 , 2 , 3 , ( 4 )
์ฝ์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค
์ด ๊ธฐ์ฌ๋ฅผ ์ฆ๊ฒผ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์คํ์ผ์ด ๋ง์์ ๋ค๋ฉด T3chFlicks.org์์ ๊ธฐ์ ์ค์ฌ์ ๊ต์ก ์ฝํ ์ธ ( , , Facebook , )๋ฅผ ํ์ธํ์ญ์์ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ข ํ DevOps ํ์ดํ๋ผ์ธ: ์ฃผ๋์ด ์์ง๋์ด์ ์ด์ผ๊ธฐ(4/4)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/t3chflicks/home-devops-pipeline-a-junior-engineer-s-tale-4-4-b59ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค