본문 바로가기

Work166

[KANS] 3주차 - Calico CNI & Mode 정리 Calico OverviewCalico 관련된 설정을 하게되면 calico datastore에 모든 정보가 저장됨. 이 정보를 기반으로 calico-node Pod가 동작함calicoctl로 Calico 관련 설정들에 대한 CRUD를 할 수 있음calico-node Pod는 데몬셋으로 동작함데몬셋 Pod는 호스트의 네트워크 인터페이스를 공유해서 사용calico-node는 bird, felix, confd로 구성됨노드가 신규로 생성되면 각 노드의 bird 간에 마치 명함을 교환하는 것처럼 BGP 라우팅 프로토콜을 통해 상호 정보를 교환함 (정보를 동적으로 광고)Felix는 Bird를 통해 BGP로 받은 정보를 호스트의 라우팅 테이블에 반영하는 역할과 iptables의 규칙을 수정하는 역할을 함iptable.. 2024. 9. 21.
[KANS] 2주차 - K8S Flannel CNI & Pause 정리 Kind그림 출처: https://kind.sigs.k8s.io/ kubernetes in docker의 약자로컬환경에서 테스트용도로 사용하며 docker 기반으로 Kubernetes를 설치함docker 컨테이너 안에서 docker를 사용해서 Kubernetes 실행에 필요한 각 컴포넌트들을 컨테이너로 실행멀티 클러스터에 대한 테스트를 해보기 좋음아래 명령으로 설치 및 실행# Install Kindbrew install kindkind --version# Install kubectlbrew install kubernetes-clikubectl version --client=true# Install Helmbrew install helmhelm version# Install Wireshark : 캡처된 패.. 2024. 9. 7.
[KANS] 1주차 - 컨테이너 격리 & 네트워크 및 보안 프로세스 개념컨테이너는 독립된 리눅스 환경을 보장 받는 프로세스Docker를 설치하면 호스트에 Docker daemon이 설치되고, 클라이언트가 docker 명령을 실행하면 Docker daemon이 컨테이너를 실행함. 만약 호스트에 컨테이너 이미지가 존재하지 않으면 Registry에서 pull 받아서 생성이 때, 클라이언트와 Docker daemon 간에는 Unix socket을 사용프로세스는 실행 중인 프로그램의 인스턴스를 의미. OS에서 프로세스를 관리하며, 각 프로세스는 고유한 ID(PID)를 가짐.프로세스가 실행 되려면 CPU와 메모리 자원이 필요한데 OS 커널(Cgroup)에서 이를 관리함유용한 프로세스 관련 명령어# 프로세스 정보 확인ps# /sbin/init 1번 프로세스 확인# 프로세스별.. 2024. 8. 31.
[Kubernetes] Overlay 파일시스템으로 이미지 중복 제거 이 글은 if(kakao)2022에서 발표된 "이게 돼요? 도커 없이 컨테이너 만들기" 발표 내용 중 이미지 중복 내용을 참고해서 정리했습니다. 컨테이너 환경의 파일시스템은 격리를 위해 prviot_root해서 완전히 독립된 root 파일 시스템을 갖게 되기 때문에 필요한 코드나 라이브러리를 패키징해서 관리할 수 있다는 장점이 있습니다. 하지만 OS는 동일한 ubuntu를 사용하고 그 위에 nginx를 설치한 환경과, web app까지 설치된 환경을 각각 운영한다고 했을 때 패키징 된 파일시스템이 여러개 존재해야 합니다. 이 경우에는 스토리지 용량도 많이 사용하게 되고, 패키징된 파일들을 네트워크를 통해 각각 내려 받는다고 생각하면 네트워크 비용도 만만치 않습니다. 컨테이너 이미지 내 패키징된 파일들의 .. 2024. 8. 30.