2022 08 1주차

엄희준·2022년 8월 7일
0

8월 1주차는 리눅스, 클라우드 기본에 대해 수강했습니다.

학교에서 제공해준 교육 기회가 매우 소중하고 감사합니다.

또한 매번 휴게실에 간식을 제공해주시는 직원분께도 감사합니다.

일주일의 끝과 시작을 장식할 이번 게시물에서 1주차를 정리하고 2주차를 맞이하는 시간을 가져보겠습니다~~🤟

정신없이 지나간 일주일이었습니다. 아침 9시부터 저녁시간 전까지 교육이 진행되는 관계로 따로 공부할 시간을 내지 못했죠... 핑계

요즘 집중도 잘 안되고, 7월 초에 비해 의지도 많이 약해진 것도 사실입니다. 워낙 자기합리화의 달인인지라 지금 상태에도 나름 만족한다는 사실이 제일 문제지만요..

지난 시간은 뒤로 하고 8월 첫째주 학습내용을 정리해보겠습니다.

온라인 강의 부분

Django 프레임워크를 이용한 배달어플 제작 실습 진행 - 마무리 단계 데이터베이스를 sqlite에서 mysql로 옮기기 (AWS RDS 이용)

로드밸런싱을 이용한 서버수 늘리기 실습 진행 - (AWS CLB 이용)

  • L4 로드밸런싱 방식은 IP주소 및 포트번호만 식별하여 부하분산하고, 빠르고 싸다. Microservice에 불리하다.

  • L7 로드밸런싱 방식은 IP주소 이외에도 데이터를 모두 살펴보고 해당 데이터를 처리하는 서버로 정보를 전송한다. Microservice가 늘어나는 추세에 적합하고, 단점은 속도가 늦어질 수 있고, 프로그램이 복잡해진다.

오프라인 강의 부분

리눅스 커널이란 - 운영체제의 심장, 하드웨어의 자원을 자원이 필요한 프로세스에 나눠주고 프로세스 제어, 메모리 제어, 시스템 콜 등을 수행하는 운영체제 최하단에서 역할을 수행한다.
리눅스 커널의 쌍두마차 debian, fedora

리눅스의 부팅 과정 (간략하게)
ROM-BIOS 실행 (하드웨어 인식) - cpu는 전원이 들어오면 메모리의 특정 주소에 들어있는 BIOS 명령어를 실행하도록 설계되어 있다.
POST 실행 - 자체 진단 기능. 각 장치 인식과 이상 체크 및 초기화 수행
부트로더 - 커널 로딩, 커널 이미지를 메모리에 적재
swapper 프로세스가 각 장치 드라이브를 초기화하고 PID 1번에 해당되는 init을 실행한다.
시스템 점검, 서비스 프로세스 관리, 가상 콘솔 접속 관리, 실행 레벨 관리 등 루트 파일시스템이 마운트된 후 시스템 초기화 프로세스가 이뤄진다. 응용 프로그램들이 실행되면 부팅 완료.

리눅스 데몬 - 백그라운드에서 계속 실행되는 프로세스
리눅스 소켓 - 리소스 낭비 방지, 서버로의 통로를 여는 매개

리눅스 실습 (괄호 안은 넣어야할 내용)

root, pw
hostnamectl set-hostname (host name) //호스트 네임 변경
man (명령어) //해당 명령어의 메뉴얼 실행
su //switch user
watch // 실시간 시계를 보여준다.
date //명령어를 실행한 시간 보여줌
timedatectl -local time //내가 설정한 지역시간을 보여준다.
timedatectl set-time (시간:분:초) //새로운 시간 설정
timedatectl n1 //시계 소환
sed -i ('경로') (파일) //표준출력기를 실행함과 동시에 편집 가능
ip -a //현재 컴퓨터 ip주소 확인 가능
ifup (네트워크명) //네트워크 인터페이스 실행
systemctl (명령-status, start, enable, stop...) (프로그램명)
mv (이동시킬 위치와 파일) ./ //현재 디렉토리로 옮기기
yum repolist //yum 저장소 참조
grep (잡아낼 문자열) (해당 파일) //해당 문자가 들어가는 파일 출력
lsblk //디스크 상태 확인(용량이나 위치 등등)

이후 특강에서는 클라우드 작동 원리에 대해 간단히 학습했습니다.

쿠버네티스의 기본 동작 과정에 대해 알아보자.
쿠버네티스는 kubectl명령어로 api server에 pod생성을 요청한다. 여기서 api 서버와 연결된 controller manger와 scheduler에서 pod생성 여부를 확인한다. api서버는 pod가 없는 경우 kubelet에서 생성 요청을 전달한다.
api 서버에서 pod생성 확인을 요청하고 CRI를 통해 컨테이너를 생성한다. CRI의 종류는 여러 가지가 있는데 대표적인 것이 DOCKER이다.

CRI는 Container Runtime Interface의 약자로서 kubelet을 관리하는 역할을 하는 프로그램이다. 정확히 kubelet이 CRI를 사용하여 컨테이너를 관리한다. OCI 표준을 따르는 컨테이너 런타임은 쿠버네티스와 사용이 가능하다. CRI-shim이란 컨테이너 런타임과 Kubelet 사이를 지원한다. 현재 다양한 Container Runtime마다 CRI shim을 개발하는 상황이나, OCI(Open Container Initiative)에서 정의한 규격을 구현하는 런타임은 쿠버네티스에서 모두 사용이 가능하다. (쿠버네티스가 표준이 된 이유)

사실상 Docker가 업계 표준으로 자리잡았지만, CRI의 종류에는 Containerd, CRI-O가 있다. 각각의 작동 방식은 일부 차이가 있다.

내일부터 다시 달려보겠습니다. 모두들 화이팅~🤟

profile
passion

0개의 댓글