블로그

[ 인프런 워밍업 클럽 4기 Devops ] 1 주차 발자국(13일의 금요일 -안상민)

강의 수강 내용월 - OT, Q & A화 - Sprint1 컨테이너 한방 정리수 - 무게감 있게 쿠버네티스 설치목 - 실무에서 느껴 본 쿠버네티스 정말 평한 이유금 - Object를 그려보며 쿠버네티스 이해 강의 칭찬하고 싶은 점칭찬하고 싶었던점 헤이해졌었지만 다시 마음 잡아 공부를 시작한거 복습 글을 모두 작성했던 것 칭찬하고 싶습니다.아쉬웠던 점필기로 그려봐서 나의 것으로 확실히 만들려 했는데 글이나 그림 그리는데 시간이 부족해서 다 하지 못했습니다.그리고 시간이 상당히 오래 걸려서 비효율적이였습니다.보안해야 될 점쓸데 없는데 힘 빼지 말고(그림이나 글 직접 그리거나 쓰기) 공부하는 시간 딱 집중해서 수업을 듣고 복습 내용 바로 정리 해서 글 올리기, 발자국을 일주일 다되서 작성하지 말고 복습 그날그날 하면서 회고 때 넣을 내용 생각날 때 적어두기(생각 이 안남) 미션 미션 해결 하는 과정VM & K8S 설치 스크립트 도중에 종료처음에 스크립트가 시간이 꽤나 오래 걸리는지 모르고 렉이 걸려서 안되는지 알았다. ctrl + c 로 중지하게 되었다.그랬더니 남아 있는 베이그란트 프로세스가 컴퓨터 관리자에 남아 있어서 vagrant up 명령이 듣지를 않았다.검색 후에 돌아가고 있는 vagrant 프로세스를 다 종료, VM 에 남아 있는 모든 vagrant 관련 디렉터리를 삭제 후에다시 설치 했더니 문제가 해결이 되었다. 프로메테우스 모니터링 보드 오류프로메테우스 모니터링 보드에 모든 데이터가 No data 로 되어 있어서 Locky 가 k8s 클러스터 상의 컴포넌트들의 메트릭스를 수집 못하고 있나해서 Locky를 삭제 후 다시 깔았다. But 증상은 똑같았고 프로메테우스와 Locky를 모두 삭제 후 다시 설치 했더니 정상적으로 K8s의 파드 디폴로이 먼트 등 컴포넌트들의 모니터링이 가능해졌다.  

k8s회고발자국컨테이너VMk8s클러스터설치

윤희준

[워밍업 클럽 4기 DevOps] - 1주차 발자국

학습했던 내용 요약컨테이너 한방 정리• 컨테이너 기술의 이해• 컨테이너는 리눅스 커널 기능을 바탕으로 격리된 실행 환경을 제공• Docker는 이러한 커널 기술을 바탕으로 사용자 친화적인 인터페이스를 제공, 컨테이너 기술의 대중화를 이끎• 다양한 컨테이너 런타임이 존재하며 Low-Level(runC, LXC)과 High Level(Docker, containerd, cri-o)로 구분 • 리눅스 배포판의 계열과 선택 기준• Debian 계열과 Red Hat 계열의 특성을 이해• CentOS 종료 후 등장한 Rocky Linux, AlmaLinux 등 대안 배포판 존재 • 쿠버네티스 구조와 역할• 쿠버네티스는 컨테이너를 직접 다루지 않고, Pod 단위로 애플리케이션을 배포• 주요 컴포넌트• kube-apiserver: 사용자 요청 수신• kubelet: 노드 내 컨테이너 런타임과 연동• CRI: 다양한 컨테이너 런타임과의 통신을 표준화(gRPC 기반) 쿠버네티스 무게감 있게 설치하기• 가상화 환경 구성 이해• UTM을 통해 Mac에서도 ARM 기반 Rocky Linux를 구동할 수 있다는 것을 경험• 리눅스 네트워크 및 시스템 세팅 경험• 고정IP 설정, hosts 파일 구성, 방화벽 해제, Swap 비활성화 등 시스템 초기 설정이 쿠버네티스 구동에 직접적인 영향을 준다는 것을 실습• 컨테이너 런타임과 쿠버네티스 설치 경험• containerd 설치 및 CRI 활성화 과정에서 쿠버네티스가 특정 컨테이너 런타임과 어떻게 통신하는지 이해• Pod 네트워크와 마스터 노드 제어에 대한 학습• Calico 설치를 통해 CNI 기반 네트워크 구성 실습 실무에서 느껴 본 쿠버네티스 정말 편한 이유• CNCF와 쿠버네티스 생태계의 구조적 이해• CNCF는 클라우드 네이티브 기술 표준화를 추진하는 단체• 쿠버네티스를 포함해 수많은 오픈소스 프로젝트를 관리• 프로젝트는 안정성 및 성숙도에 따라 Sandbox → Incubating → Graduated로 구분• 쿠버네티스는 Graduated 프로젝트로, 클라우드 인프라의 표준 오케스트레이터로 자리 잡음 • 쿠버네티스 기반 인프라 구축 시 고려 요소• 개발과 모니터링 시스템은 분리되기 어려운 구조, 초기 설계부터 운영 요소를 고려해야함• 에이전트 삽입이나 모니터링 시스템 구축이 늦춰지면 성능 이슈가 생겼을 때 분석이 어렵고, 원인 추적이 애매해질 수 있음 • 현업에서 흔히 마주치는 실무적 문제• 개발자는 처음부터 운영 도구를 쓰지 않음 → 익숙한 로우레벨 방식(로그, 디버깅)에 의존• APP과 모니터링 대상 불일치 문제 → APP이 바뀌어도 모니터링 시스템이 자동으로 대응되지 않음• 모니터링 프로젝트와 개발 프로젝트의 속도 불일치 → 나중에 운영팀만 남고 개발자가 없는 상황에서 설정 누락 발생 가능 Object를 그려보며 쿠버네티스 이해• Label과 Selector의 역할 및 구조적 연결• Label은 쿠버네티스 오브젝트에 부여되는 메타데이터로, selector를 통해 리소스 간 연결을 유도하는 핵심 수단• Deployment → ReplicaSet → Pod 간의 관계에서 Label이 일치해야 연결됨• HPA, Service, ConfigMap 등 다양한 리소스에서 selector 기반 연결이 이루어짐을 시각적으로 이해 • Object 네이밍 규칙 및 컨벤션 정립• 이름은 유니크해야 하며, 하이픈(-)과 점(.)만 허용• 일반적인 네이밍 전략은 Application name + Instance name 조합• ConfigMap, Service 등에 목적에 맞는 suffix(-rule, -internal) 부여하는 게 나을 수 있음 학습 내용에 대한 간단한 회고컨테이너 기술, 쿠버네티스 실습 등 폭 넓은 학습을 진행한 한 주였습니다.특히 UTM과 Rocky Linux 환경 구성부터 containerd, kubeadm 설치, Pod Network 구성까지 실습을 통해직접 확인하면서 실전 기술에 대한 이해도가 크게 높아졌습니다.다만 학습한 내용에 대한 정리가 부족했던 점은 아쉬움으로 남았고, 향후에는 시간을 더 할애해 블로그에 학습 내용을 정리함으로써 보완해 나갈 계획입니다.

데브옵스 · 인프라쿠버네티스컨테이너Docker워밍업클럽

채널톡 아이콘