쿠버네티스 전문가 양성과정 1주차 1일(12/19)

최수환·2022년 12월 19일
0

Kubernetes

목록 보기
2/75
post-thumbnail

지금의 AWS가 된 과정 (가상화)

  • AWS는 초기에 책을 팔았다
  • 이후 물류사업에서 배송이 오래걸리는 단점을 빅데이터사용해서 선풍적인 인기를 끌었다.
  • 이후 가상화를 사용해서 개발자가 단 몇번의 클릭으로 인프라를 구축할수 있게 함
  • Paas - 개발자가 몇번의 클릭으로 네트워크,서버,보안,스토리지등 인프라 즉, 플랫폼을 구축할 수 있게 해줌 = 개발자가 바로 투입될 수 있는 플랫폼을 제공한다
  • Iaas - 여러 회사가 오픈스택 프로젝트 진행함 - 인프라를 구성할 수 있는 환경을 제공 (여러 회사가 있기때문에 각자 색깔을 입혀야해서 플랫폼은 안된다)
  • Saas - 서비스를 인증하면 클라우드가 만들어놓은 서비스제공
    📒 Saas- > Paas - > Iaas

가상화의 장점/단점 및 컨테이너 기술

가상화의 장점

  • 과거에는 박스환경 즉, 서버에 CPU,OS등을 올려서 사용
  • 가상화를 통해 만든 독립적인 하드웨어에 os를 올려서 사용하여 싸고, 자동적인 오토스케일링,재해복구가 가능해졌다.

가상화의 치명적인 단점

  • 운영체제가 임포트되는데 느리다 - > 만약 재해복구를 위해 이중화(프라이머리-대기) , 오토스케일링을 할때 임포트가 느려서 공백시간이 있다.
  • 가상화는 자동화에 큰 제약이 있다.

컨테이너기술의 등장

  • 컨테이너 = 해석환경 + os
  • 즉시성을 가지고 있다
  • 즉시성 : 가상화 환경에서 오토스케일링 할때 사람이 설정해야함 - 그걸 자동화로 만들어서 스케일 아웃이 필요할때 즉시성으로 자동적으로 확장

📌 가상화는 꼭 필요(os올리고 그 안에서 컨테이너 사용하는경우) but 가상화만 가지고는 효율적이지 않다
📌 온프레미스환경 = 박스환경

devops(쿠버네티스 클러스터 관리자)

devops : build하고 test하고 release하고 나온 이미지를 docker, aws 탑재하는 (CI/CD) 까지 과정(파이프라인)을 automation(자동화) 시키는 것을 함

  • 개발자는 오로지 코드개발만하고 devops는 서버에만 집중한다고 보면됨

    개발자의 영역은 그림에서는 코드쉽까지다.
    이번 과정은 배포와 운영에 대한 것은 배운다.
    내가 만든것이 잘 운영되는지 보려면 monitor를 해야한다.
    AWS 제공 API를 저런 monitor(splunk,datadog등)사용해서 빅데이터로부터 통찰 -> 나중에 프로젝트할때 염두

네트워크

프로토콜 : 컴퓨터 네트워크를 하기 위하여 송수신 장치 간 통일된 통신 규약
📌 해당 프로토콜이 가진 규칙은 RFC문서에 반드시 정의되어있다

OSI 7계층

  • 계층 별 특징
  • 계층 별 PDU
  • 게층 별 장비 및 Protocol

📌encapsulation : 위에서 아래로 내려오는 과정
📌decapsulation : 아래에서 위로 올라가는 과정

Application layer(7)

Presentation Layer(6)

  • pdu = data = 위 data + 압축,인코딩,암호화(SSL/TLS),코덱

Session Layer(5)

  • pdu = data
  • client들이 sever의 동일한 port를 목적지로해서 보냈을때 client를 session단위로 구분한다.
  • 운영체제내에서 사용자를 식별하기 위한 단위, 로그인을했을때 유지되는 이유
    if 세션날리면 로그아웃됨

Transport Layer(4)

  • pdu = port+pdu = segment
  • Transport Layer가 Aplication(aplication+presentation+session)에 연결해준다.
  • Port number는 세가지 범위내에서 할당된다.
    • System Ports(0~1023) : administrator, root권한으로 프로그램실행(binding)
    • User Ports(1024~49151) : user권한으로 프로그램을 실행
    • Dynamic and/or Private Ports(49152~65536) : cilent port(결국 source port)로 셋팅되는 포트로 os가 할당해줌

📒 보통 system,user는 서버, dynamic은 클라이언트에 할당된다.
-> C/S구조
📒 만약 system,user두가지만 있다면 system이 우위다. system이 서버가 된다.

  • 포트넘버 찾기 : netstat -nato | findstr :445(포트넘버)
  • 포트에 연결된 모든 프로세스 찾기 : netstat -nato | more
  • port가 없다면 네트워크패킷이 들어올때마다 cpu가 계속 연산을 통해 process(PID)를 식별해야하고 이것은 비효율적이다.
  • port는 패킷을 응용프로그램에 연결시켜줌

Network Layer(3)

  • pdu = packet
  • 장비 : router
  • 논리적인 주소(IP)를 사용
  • protocol : IP(주소 프로토콜), {ICMP, IGMP, IPSEC}(통신프로토콜)
  • ARP를 통해 상대방의 MAC주소를 알 수 있다. 다만 Broadcast를 사용하기 때문에 Bandwidth의 낭비가 있다.
    낭비를 해결하기 위해 ARP Cache Table을 사용하여 이미 통신한 MAC주소는 일정 기간동안 기록해둔다.
  • ARP를 보낼때 Cache table을 확인하고 원하는 MAC주소가 있다면 이미 통신한 것이기에 ARP를 보내지 않는다.
    📌 ARP는 IP를 통해 상대방의 MAC주소를 아는 방법
    💡 arp -a : arp cache테이블 확인
    💡 arp -d : arp cache테이블 삭제
    📌 RARP는 나의 MAC에 해당하는 IP를 아는 방법
  • 데이터 전송을 위한 Format결정 , Error Detection제공
  • MAC(하드웨어의 고유 주소),LLC정보 사용
  • 물리적인 주소(MAC) 사용
  • PDU = frame
  • 장비 : 스위치 OR 스위칭 허브
  • topology = 네트워크 망(ex.star,bus,ring,tree 등)
    -> 네트워크의 끝단은 endpoint에 연결된다
  • 기업 topology는 한마디로 기업의 네트워크 구성도
    💡 현재 사용중인 네트워크망은 star + tree의 topology구조가 많다
    💡 MAC의 OUI정보는 앞의 세가지 값으로 만든 회사의 정보를 알 수 있다.

Physical Layer(1)

  • 물리적인 연결, 전기신호를 보냄
  • PDU = 비트
  • 장비 : 허브, repeater(증폭기), 케이블(ex. utp 등), 커넥터

추가 정보

process = 프로그램이 메모리에 올라가면
program = 확장자가 exe
processor = cpu
📒 it기술자가 사용하는 워딩 익숙해지기

📒saas업체는 iaas인증받은 업체에서 서비스를 인증받아서 제공받아야하는데 국내 iaas업체들의 kubernetes기술력이 약하다.

📒 협업도구 - slack, notion, trello, jira, github도 많이 사용해 버릇하자.

📒 만약 A에서 B로 보내는데 라우터를 거쳐서 보낼때 라우터에서는 데이터를 볼 수 없다.
-> 라우터는 3계층이고 데이터는 4계층 패킷에 담기기 때문에 라우터를 거칠때 3계층까지만 올라가므로 패킷을 볼 수 없다.

📒 windows - system32 - etc - services에 가면 내 os에서 규정한 서비스에 대한 프로토콜/포트번호가 정의되어 있다.

마치며

첫주차라 그런지 인트로 느낌의 강의였고 이것저것 많이 알려주신 느낌이다. 이번 주차까지는 네트워크와 전반적인 흐름에 대해서 포스팅 할 예정이다.

profile
성실하게 열심히!

0개의 댓글