전체 글 93

10주차 클라우드를 활용한 컨테이너 서비스 배포 - 서비스

서비스의 종류 서비스 타입 종류 ClusterIP : 타입을 지정하지 않으면 기본으로 설정되는 타입, 클러스터 내부의 파드에서 서비스의 이름으로 접근 가능! -> 서비스 사용하지 않으면 ? 파드끼리도 이름으로는 서로 접근 불가함 (IP로 접근) NodePort : ClusterIP의 접근 범위 + K8s 클러스터 외부에서도 노드의 IP주소와 포트번호로 접근 가능 LoadBalancer : NodePort의 접근 범위 + K8s 클러스터 외부에서 대표 IP 주소로 접근 가능 ExternalName : K8s 클러스터 내의 파드에서 외부 IP 주소에 서비스의 이름으로 접근 가능 ClusterIP 헤드리스 모드도 가능 : 대표 IP 주소 없이 서비스 동작 -> 스테이트풀셋에서 활용 +) https://kimj..

9주차(1) 컨테이너 오케스트레이션과 Kubernetes

컨테이너의 한계 1. 배포(Deployment)의 문제점 모든 서버에 직접 접속해서 docker stop, run (일일이) 실행해야 한다. 도커 컨테이너 실행에 필요한 리소스 관리가 필요하다. (모니터링 시스템, 유후 자원 관리 등) 새롭게 배포된 애플리케이션 장애 발생 -> 신속한 대처가 어렵다. 2. 서비스 접근 및 노출의 문제점 3. 서비스 장애, 부하 모니터링 문제점 ; 어디서 장애 발생 했는지 바로 알 수 X -> 지속적인 모니터링 필요 컨테이너 오케스트레이션 ; Container Orchestration : 복잡한 컨테이너 환경을 효과적으로 관리하기 위한 도구 (자동화) [Cluster] 기능 중앙제어 네트워킹 (알아서 설정 해줌) 노드 스케일 [State] 기능 상태 관리 (장애 발생 시 ..

7주차(2) Docker를 활용한 개발 - Docker 네트워크

Docker 네트워크 개요 : Docker 컨테이너는 Docker 네트워크를 통해서 -> 다른 컨테이너 또는 다른 애플리케이션 워크로드와 연결 가능 -> docker0 : 가상 이더넷 브릿지 네트워크를 통해 같은 호스트 컨테이너들 간 통신 가능! 컨테이너 간 연동과 외부 공개 컨테이너 네트워크의 종류 [ 기본 Bridge 네트워크 (docker0) ] 컨테이너 실행 시 기본으로 연결되는 네트워크 각 컨테이너에 (자동으로) 할당된 IP주소를 활용해서 서로 접근 가능 [ 사용자 정의 Bridge 네트워크 ] 사용자가 새롭게 생성하는 Bridge 네트워크 IP 주소 또는 컨테이너 이름을 가지고 서로 접근 가능 -> IP 주소가 고정이 아님 ( 컨테이너 중지하고 시작한다면 IP주소 변경될 수 있음) 즉, 컨테이..

7주차(1) Docker를 활용한 개발 - Docker Volume 활용

Docker Volume 활용 컨테이너의 문제점 이미지 -> 컨테이너 생성 후 모든 파일 변경 사항들 : writable layer에 반영 이렇게 저장된 컨테이너 내부 데이터는 컨테이너의 라이프사이클과 연관 -> 컨테이너 삭제되면 데이터도 같이 삭제 컨테이너에서 생성된 데이터를 영구적으로 유지하기 위해서는 ? -> 데이터와 로직의 분리 필요 ! Docker volume : [ 호스트 파일시스템의 디렉토리 ] and [컨테이너의 디렉토리] 연결 -> 컨테이너가 삭제되어도 volume은 독립적으로 운영 가능 (데이터 유지) Docker volume 타입 1) volume Docker에서 권장하는 방법이다 voiume 생성 방법 ? $ docker volume create 볼륨이름 여러 컨테이너가 공유할 수 ..

6주차(1) Docker 사용법 - 이미지 명령어 활용

Docker 이미지 명령어 구성 이미지 검색하기 : Docker Hub에서 이미지 검색함 $ docker search 이미지명[:TAG] [ 명령어 출력 결과 ] => 보통 OS 나 프로그램 이름을 가진 이미지가 공식 ; official 섹션에 [OK] 표시 됨 나머지는 사용자들이 만들어서 공개한 이미지 or 아래에서 직접 검색 https://registry.hub.docker.com Docker Hub Container Image Library | App Containerization Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download..

5주차(1) 컨테이너와 도커

1. 컨테이너 기술의 이해 1) 가상화의 개요 - 가상화 virtualization : 하드웨어에 종속된 컴퓨터 리소스를 추상화 - 운영체제에서 제공하는 가상화 각각의 응용 프로그램이 각자의 CPU, virtual memory를 가지고 있는 것처럼 착각하도록 가상화 제공 (process / cpu scheduling / virtual memory / paging / swapping ) 2) 서버 가상화 - 서버 가상화 도입 배경 하드웨어 기술 발전 -> 서버의 성능 획기적 향상 - 서버 가상화의 장점 1️⃣높은 자원 활용률 ~ 용도가 다른 3개의 물리 서버 ~ : 일부에 불과한 30% 용량만 사용 -> 나머지는 낭비됨 물리적 격리로 인해 task 실행이 더 쉽고 안정적 : 더 적은 서버로 같은 task ..

4주차(1) GitHub을 활용한 협업 방법

✅협업 순서 1. (개발자) 로컬 개발 환경 설정 2. (개발자) 이슈 확인 3. (개발자) 작업 branch 만들기 4. (개발자) 코드 수정하고 Psuh하기 5. (개발자) Pull Resquest 만들기 6. (메인테이너, 팀원) 코드 리뷰하기 7. (개발자) 코드 리뷰 반영하기 8. (메인테이너) Pull Resquest Merge하기 9. (개발자) 작업 branch 삭제하기 1. (개발자) 로컬 개발 환경 설정1️⃣ : 기여하고 싶은 GitHub repositiory 검색 및 Fork -> git clone 명령을 통해 로컬 PC에 git repo 생성 2. Remote Repository 1) Git Repository 만들기 //기존 저장소를 Clone 하기 $ git clone + rem..

3주차(1) Git을 이용한 소스코드 관리

1. 버전 관리 개요 1) 버전 관리 (Version Control, Revision Control) : 개발 중인 소스코드나 청사진 같은 설계도 등의 디지털 문서를 관리하는데 사용 소스 관리 (Source Control) 소스 코드 관리 (SCM, source code management) 2) 버전 관리 필요성 시스템 문제 발생 시 복구 소스코드의 변경 사항 추적 소스코드에서 누가 수정했는지 추적 등 3) 버전 관리 시스템 (VCS, Version Control System) : 동일한 정보에 대한 여러 버전을 관리 공동 프로젝트 관리, 프로젝트 백업, 데이터 동기화 파일 변화를 시간에 따라 기록 -> 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템 : 복구, 비교, 추적, 이슈 확인 가능 2..

2주차 DevOps and GCP

1. DevOps 1) 전통적인 개발 운영 체계 - 개발과 운영의 분리 개발 완료(개발팀) -> 테스트 -> 유지(운영팀) 한번 이관된 시스템은 개발 팀에서 관여하지 X - 성격의 차이 개발 팀 : 새로운 서비스의 신속하고 빠른 배포 운영 팀 : 안정성, 보안, 고가용성(availability) 유지 가능한 서비스 유지 - 문제점 장애발생시 책임 미루기 개발 팀 : 인프라 시스템 이해 부족 (sw가 실행되는 물리적인 환경이나 클라우드 환경) 운영 팀 : 애플리케이션 이해 부족 (소프트웨어 코드 단위의 이해) => 누구 잘못인가? -> 문제 해결 지연 운영 이슈에 대한 처리 개발 팀 : 운영팀으로 서비스 이관 이후에 관심 X 운영 팀 : 사용자와 상호작용 + VOC(voice of customer) 받음 ..

[네트워크] 도메인 정보 수집하기

https://jwprogramming.tistory.com/186 DNS를 이용한 정보 습득 DNS에 관한 정보를 얻어오는 툴로는 nslookup, dig 등이 있습니다. 이번엔 가장 일반적인 nslookup을 사용해 보겠습니다. nslookup은 윈도우와 리눅스에 기본으로 설치되어 있습니다.(* 리눅스를 이용하지 jwprogramming.tistory.com https://nagjang.tistory.com/8 nslookup 사용법 정리 nslookup은 도메인 이름과 IP 주소를 확인하는 기능을 가진 네트워크 관리 툴 중에 하나이다. nslookup은 여러 옵션 값을 제공하는데, 여기서는 간단하게 많이 사용 되는 명령어 위주로 정리해 보았다 nagjang.tistory.com

etc 2023.04.17