Today I Learned

[TIL] TIL 시작, 자료구조와 알고리즘 이해, 쿠버네티스 기본 명령어와 리소스 워크로드 오브젝트 [21-10-20]

목차

Today I Learned 기록 시작

TIL

- Data Structures [01-2] 알고리즘의 성능 분석 방법

- 소프트웨어 엔지니어가 되는 법

- 쿠버네티스 기본 명령어

- 쿠버네티스 리소스 워크로드 오브젝트


Today I Learned 시작

 

To Do List를 사용하면서 블로그에 오늘 내가 수행했던 것을 기록하면 좋지 않을까 해서 TIL을 쓰기로 마음먹었다. 천천히 꾸준하게 기록하고 공부한다면 꾸준히 성장할 수 있지 않을까 하는 마음이다.

 

TIL

 

 

Data Structures [01-2] 알고리즘의 성능 분석 방법

https://valuelog.tistory.com/75

 

[Data Structures][01-2] 알고리즘의 성능 분석 방법

본 글은 윤성우의 열혈 자료구조 책을 읽고, 강의를 수강하고 복습한 것을 기록한 글입니다. 강의 교안 또한 참고하여 작성하였습니다. (강의 교안의 경우 오렌지 미디어에서 다운로드할 수 있

valuelog.tistory.com

 

기본적인 자료구조와 알고리즘을 학습하고 있는 중이다.

오늘은 이진 탐색 알고리즘이 순차 탐색 알고리즘보다 시간 복잡도 상에서 훨씬 효율적인 것을 배웠다.

빅-오에 기반하여 시간 복잡도가 훨씬 큰 값이 나오게 되기 때문이다.

 

 

소프트웨어 엔지니어가 되는 법

https://cselabnotes.com/kr/2021/03/25/6/

 

소프트웨어 엔지니어가 되는 법 - 삐멜 소프트웨어 엔지니어

 내가 컴퓨터 공학을 전공하기로 했을 때 쯤 주변에서 컴퓨터 공학은 더 이상 발전 할 게 없고 이미 레드 오션이라는 말을 들었었다. 그래서 대학교에 진학 할 때 쯤 많은 걱정을 안고 있었다.

cselabnotes.com

aws 관련되어서 웹 서핑을 하던 도중 aws 책 신간 중 가장 상위에 올라온 저자의 블로그를 가보니, 우연히 가이드를 써놓으신 것을 발견했다. 어떤 순서를 공부해야 하는지 알려주며 유용해서 기록을 남긴다. 특히 운영체제 공부에 대한 중요성을 역설해주셔서 운영체제 공부의 필요성을 느꼈다.

 

 

영어를 공부 ->

프로그래밍(c, java, c++,..)/스크립팅 언어(python, shell, js,..)를 학습 ->

자료구조와 알고리즘 ->

연습하기 ->

프로그램 작성하기 -> 

프로그램은 어떻게 돌아갈까? ->

더 배울만한 것들

 

 

쿠버네티스 기본 명령어

https://valuelog.tistory.com/76

 

[Kubernetes] Kubernetes Architecture(3)[쿠버네티스 리소스 : 워크로드 오브젝트]

목차 - 쿠버네티스 리소스 - 기본 명령어 실습 - 워크로드 오브젝트 쿠버네티스 리소스 - POD : (고래 떼를 일컬음, 도커의 고래에서 유래) 하나 이상의 컨테이너로 구성 - 스케일링의 단위, 어플리

valuelog.tistory.com

 

POD 개념에 대해 알고, 기초 명령어에 대해 실습했다.

 

kubectl run test로는 run 되지 않고 image를 set 하라고 요구한다.

그렇기 때문에 base image를 설정해줘야 한다.

 

kubectl run test --image=nginx

nginx 기반 이미지로 pod를 실행한다.

또한 image base기반으로 yaml 파일을 생성하는 명령어도 학습했다.

 

kubectl run test --image=nginx --dry-run=client -o yaml > 1.yaml

--dry-run=client -o yaml를 사용하면 yaml파일로 만들어준다.

 

image 기반 pod을 yaml파일로 만들어 주는 명령어인 듯하다.

yaml파일로 pod를 구동해보자

kubetctl apply -f 1.yaml

 

kubectl get pod으로 확인할 수 있다.

 

다른 POD 명령어로는

kubectl get pod -o wide

kubectl describe pod test

kubectl logs test

등이 있다.

-o wide 명령어를 사용하면 어떤 작업 노드에서 실행되는지 확인할 수 있다.

describe pod 명령어는 현재 pod상태를 확인할 수 있다.

logs는 해당 pod의 logs를 확인할 수 있다.

 

 

쿠버네티스 리소스 워크로드 오브젝트

https://valuelog.tistory.com/76

 

[Kubernetes] Kubernetes Architecture(3)[쿠버네티스 리소스 : 워크로드 오브젝트]

목차 - 쿠버네티스 리소스 - 기본 명령어 실습 - 워크로드 오브젝트 쿠버네티스 리소스 - POD : (고래 떼를 일컬음, 도커의 고래에서 유래) 하나 이상의 컨테이너로 구성 - 스케일링의 단위, 어플리

valuelog.tistory.com

 

POD은 하나의 IP만 가지며 CNI 플러그인이 할당한다.

Multus 활용 시 POD에 2개 네트워크도 연결 가능하다.

 

컨테이너 네트워크 인터페이스(CNI)

네트워크로 연결될 파드는 동일 노드에, 다른 노드에 있을 수도 있다.

CNI의 역할은 단순히 파드 간 연결을 용이하게 만드는 것

컨테이너 런타임(예:도커)은 CNI 플러그인 실행파일(예: 칼리코)을 호출하여 컨테이너의 네트워킹 네임 스페이스에 인터페이스를 추가/제거할 수 있다

 

 

도커에 비해서 난이도가 확 올라간 것을 체감할 수 있었다. 어제 환경 설정, 쿠버네티스 설치만 6시간 가까이 걸린 것 같다. 아무래도 공룡책을 사서 학습해야겠다. 운영체제 꼭 배워야겠다. 뿐만아니라 강사님이 추천해주신 책들도 모두 읽어봐야겠다. 그 전에 번역해주신 메니징 쿠버네티스 부터 사서 꼭 읽어봐야겠다.