Facts (사실, 객관)

  • 오늘 회사에서, 일이 굉장히 잘 풀렸다.

  • 도커의 내부 원리에 대해서, 공부하였다.

  • 쿠버네티스의 아키텍처에 대해서 공부하였다.

Feelings (느낌, 주관)

  • 미리 풀리퀘를 날리고, 거기에 구현할 계획을 세우고 체크 박스로 하나씩 요구사항을 체크하면서 개발을 하다보니, 실수도 적어지고 내가 무엇을 해야할지 빠르게 파악할 수 있었다.

  • 다만 어떻게 구현할지에 대한 계획에 대한 고민을 좀 더 체계적으로 해야하는 필요성을 느낄 수 있었다.

  • 여태까지, 도커의 명령어만 사용하면서 아키텍처에 대해서는 제대로 이해하지 못하고 있었다는 사실을 깨닫게 되었다.

Findings (배운 점)

1_c3AiZFHuib7FUGyINzkEag

  • 리눅스가 하는 일을 보면, 크게 두 가지가 있는데 하나는 애플리케이션 자원 관리(PID, ROOT, PORT)이고, 다른 하나는 하드웨어 자원 관리이다.

  • 컨테이너는 독립된 리눅스 환경을 보장 받는 컨테이너라는 것을 알게 되었다.

  • 리눅스는 커널안에 있는 자원을 namespace 라는 기능을 통해서 애플리케이션 자원을 독립화 시킬 수 있으며, 하드웨어 자원은 cgroup을 이용하여 독립화 시킨다. 따라서 도커는 리눅스의 이 두 기능을 이용하여 독립된 컨테이너 환경을 만드는 것이다.

도커네트워크

  • docker0가 내부적으로 브릿지 역할을 한다. 그리고 컨테이너간의 통신은 가상 네트워크 인터페이스인 veth를 통해서 이루어 지고, 내부적으로는 두 개의 namespace를 이어주는 것이라고 보면 된다.

  • 컨테이너 각각의 eth0 인터페이스를 통해서 통신을 하게 된다.

  • 만약 하나의 컨테이너와 다른 컨테이너가 통신을 할 때, docker0를 통하게 되어 다른 컨테이너로 통신이 이루어지게 된다.

img1 daumcdn

  • etcd는 쿠버네티스 안에서, 모든 로깅에 정보를 기록한다.

  • API server는 컨테이너를 늘리는 명령어를 비롯한 모든 명령어들을 처리한다.

  • 스케줄러는 여러 서버가 있을 때, 어떤 노드에 명령어를 실행할지를 정해준다.

  • POD은 논리적으로 애플리케이션의 묶음이고, 기본적으로 여러개의 POD이 하나의 애플리케이션을 구성하게 된다.

Bad (개선할 점)

  • 집중하다 보면, 너무 오래 앉아있는데 일어날때마다 어지럽게 된다. 따라서, 일정 시간마다 일어나서 체력 분배를 하자.

Affimation (자기 선언)

  • 네트워크 및 클라우드에 대한 지식 및 데브옵스 지식을 배우는 것이 전체적인 개발 스킬을 늘려줄 수 있을 것이다. 열심히 공부하자!

회고 작성법

  1. Facts(사실, 객관) 회사에서 실제로 내가 했던 일이나 겪었던 일의 사실을 적는다.
  2. Feelings(느낌, 주관) 내가 했던 일을 하면서 느꼈던 감정이나 느낌을 적는다.
  3. Findings(배운 점) 내가 했던 일을 통해서 새롭게 배운 점이나 알게 된 점을 적는다.
  4. Affirmation (자기 선언) 내가 했던 일을 통해 배운 점과 아쉬운 점을 어떻게 유지 하고 개선할지를 적는다.
>> Home