분류 전체보기 74

도커(Docker)와 컨테이너(Container) : 컨테이너를 사용하는 이유, 컨테이너와 가상머신의 차이

도커와 컨테이너는 무엇일까? 최근 클라우드 컴퓨팅에서는 컨테이너 기반 가상화가 기존의 하이퍼바이저 기반의 가상화 기술을 대체하며 각광받고 있다. 특히 구글은 Gmail, Google Drive를 포함한 모든 서비스를 컨테이너로 제공한다고 발표하였으며, 현재 자사의 컨테이너 플랫폼인 ‘쿠버네티스(Kubernetes)’를 통해 2014년부터 매주 20억 개 이상의 컨테이너를 구동하고 있다. 도커 플랫폼이 설치되면 컨테이너로 묶인 애플리케이션을 어디서든 독립적으로 실행할 수 있다는 장점을 가진다. 클라우드 컴퓨팅 기술이 등장하면서 빠르게 인프라를 구축할 수 있게 되었다. 따라서 서비스를 빠르게 배포할 수 있게 되는 기술인 도커가 등장했다. 도커(Docker) 도커(Docker)는 가상실행 환경을 제공해 주는 ..

DevOps/Docker 2023.07.13

[GCP] GKE 배포, 로드밸런서 서비스 배포, 카나리아 배포

GKE 클러스터에 배포하기 nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 # nginx 배포하기 kubectl apply -f ./nginx-deployment.yaml # 배포 목록 확인하기 kubectl get deployments Pod 확장하기 # 포..

Cloud/GCP 2023.07.12

OSI 7계층(OSI 7 Layers)과 TCP/IP 프로토콜

OSI 7계층(OSI 7 Layers) OSI(Open Systems Interconnection) 모델 OSI(Open Systems Interconnection) 모델: 네트워크 프로토콜의 설계와 구현을 위해 사용되는 참조 모델이다. OSI 모델은 네트워크 통신에서 일어나는 다양한 기능을 개별 계층으로 분리하여 계층적으로 이룬다. OSI 7계층(OSI 7 Layers) 네트워크 통신할 때 7개의 레이어에서 통신한다. 1) 물리 계층 (Physical Layer) 전기적, 물리적 신호를 전송하는 계층이다. 데이터 비트를 전송하는 역할을 수행하며, 케이블, 허브, 리피터 등의 하드웨어를 포함한다. 물리 주소로 MAC 주소(MAC address) 를 사용한다. L1 스위치 종류 repeter: 1개의 케이..

유선 & 무선 네트워크

유선 네트워크(LAN vs. MAN. vs. WAN) LAN(Local Area Network): 좁은 범위에서 사용하는 네트워크 MAN(Metropolitan Area Network): 다른 도시에 있는 2대 이상의 PC를 연결하는 네트워크 WAN(Wide Area Network): 광역 통신망 범위: PAN(블루투스 영역) < LAN < MAN < WAN EPN, VPN 기업 사설망 (EPN, Enterprise private network): 기업이 자체적으로 만든 네트워크로 기업 PC들을 연결하는 것 가상 사설망(VPN, Virtual private network): 특정한 회사나 조직이 소유하고 독점적으로 사용하는 네트워크. 자체 암호화 통신이기 때문에 저렴하게 강력한 보안 통신 가능 사설망(P..

On-Premise에서의 네트워크 기본 구성

On-Premise에서의 네트워크 기본 구성 시스템 구성 [서버 가이드북] 2. 네트워크 기초 지식 네트워크 기술 이해하기 일반적으로 말하는 LAN은 크게 LAN 케이블을 이용하여 데이터를 전송하는 '유선 LAN'과 전파를 이용하여 데이터를 전송하는 '무선 LAN'으로 나눌 수 있다. 이 중 서버를 연결 lipcoder.tistory.com 시스템 구성도 LAN 구성 스위치 L2: 로컬 장비들을 연결, 이더넷 프레임의 MAC 주소를 기반으로 동작 L3: L2 장비들을 연결하는 라우터, IP 주소를 기반으로 동작 백본 스위치: L3들을 연결, 백본 스위치는 L3 스위치들을 연결하는 스위치로서 대규모 네트워크에서 사용 스토리지 영역 SAN 스토리지 서버를 공개하는데 주로 웹 서버, 메일 서버, DNS 서버를..

백업, 복원, 배포 무중단

화재로 인한 서비스 장애 사건 원인: 시스템 이중화가 되어 있지 않은 인프라 구조 https://namu.wiki/w/SK%20C%26C%20%ED%8C%90%EA%B5%90%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%84%BC%ED%84%B0%20%ED%99%94%EC%9E%AC%EB%A1%9C%20%EC%9D%B8%ED%95%9C%20%EC%9D%B8%ED%84%B0%EB%84%B7%20%EC%84%9C%EB%B9%84%EC%8A%A4%20%EC%9E%A5%EC%95%A0%20%EC%82%AC%EA%B1%B4 SK C&C 판교 데이터센터 화재로 인한 인터넷 서비스 장애 사건 - 나무위키 22시 02분 기준, 다음의 증권과 부동산 서비스가 복구되었다. 카카오는 '무료서비스 보상안'으로 ..

입출력 인터페이스

입출력 제어 장치 데이터 버퍼 레지스터, DMA 및 채널, CPU 등으로 구성된다. 입/출력 버스: 입/출력 장치 사이에 데이터 전송을 위해서 인터페이스에 공통으로 연결된 버스다. 인터페이스: 디바이스 드라이버 (현재 UPnP 기술로 연결된 기기들 자동 설치) 입출력 인터페이스 입출력 장치는 CPU와 메모리를 연결해주는 버스에 직접 연결될 수 없다. 입출력 장치와 CPU 및 메모리 간의 속도 차이가 크다. CPU와 메모리는 매우 빠르게 데이터를 주고받을 수 있지만, 입출력 장치는 상대적으로 느리며 처리 속도가 낮다. 이유: 입출력 장치(CPU)는 메모리와 속도 차이가 있기 때문에 버퍼를 두기 위해 인터페이스를 통해 버스에 부착한다. 따라서, 입출력 장치는 CPU와 메모리를 연결해주는 버스에 직접 연결되지..

메모리(Memory) : 하드웨어, 메모리 계층 구조 / 메모리 접근 기술: DMA, Overlay, Swapping

하드웨어 컴퓨터 하드웨어는 크게 프로세서, 메모리(기억장치), 주변장치로 구성되며 서로 시스템 버스로 연결된다. 시스템 버스: 회로가 모두 버스다. 데이터들을 각 컴포넌트가 연결해서 주고받을 수 있게 연결하는 것. data bus: 데이터를 전송 시스템 address bus: 물리적 주소를 찾음 contral bus: 하드웨어 구성 Register: CPU 안에서 사용하는 메모리 저장 공간 DMA(Direct Memory Access): CPU의 제어 없이 메모리에 있는 데이터에 접근하는 것 (Assembly Language: CPU 제어 명령어) Control Unit(제어 장치): 제어 부분 Combinational Logic(연산 장치): 레지스터와 연산장치 부분은 데이터 부분 메모리 계층 구조 프..

RAID : RAID 0, RAID 1, RAID 5, RAID 6

RAID Raid (Redundant Array of Inexpensive Disks, 복수 배열 독립 디스크): 여러 개의 하드디스크를 하나로 묶어 하나의 논리적 디스크로 작동하게 함 표준 레이드 레벨: RAID 1, RAID 5, RAID 6, RAID 10 비표준 레이드 레벨: RAID 1.5 RAID의 장점 저장 공간을 늘릴 수 있음 하나의 하드드라이브가 고장 나 데이터 보호 2개 이상의 RAID Array를 사용해서 하나가 망가지더라도 다른 하나를 사용한다. (이중화) RAID의 특성 내결함성: 1개 이상의 디스크 오류가 발생해도 살아남는다. 성능: 단일 디스크와 비교했을 때 전체 어레이의 읽기 및 쓰기 속도가 빠름 [RAID Level: HDD 데이터를 나누는 방법에 따라 다양한 레벨이 있다...

[GCP] 구글 클라우드와 컨테이너

쿠버네티스는 구글이 만든 서비스이기 때문에 특성이 같다. 그러나 현재 다양한 벤더들이 사용하기 때문에 독립적 성격을 가진다. 컨테이너: 리소스 효율이 높고 이동성이 우수한 독립형 패키지 이미지: 애플리케이션 실행에 필요한 종속성, 환경설정들을 포함하는 패키지 컨테이너 실행 단계 컨테이너 이미지 작성: 도커(Docker) 이미지가 가장 일반적으로 사용된다. 필요한 경우, Dockerfile을 작성해서 이미지를 빌드한다. 컨테이너 오케스트레이션 플랫폼(Kubernetes) 설정으로 컨테이너 자동 확장 및 배포 설정 Ex) GKE 컨테이너 클러스터 구성 컨테이너 배포: 이미지를 사용해서 애플리케이션 클러스터에 배포 모니터링: 컨테이너 실행되면 오케스트레이션 플랫폼으로 컨테이너 상태, 로그, 성능 등을 모니터리..

Cloud/GCP 2023.07.10