본문 바로가기

Study/Cloud,Docker,Kubernetes6

Kubernetes 1. 컨테이너 오케스트레이션 1) 개요 다수의 컨테이너를 유기적으로 연결 및 실행할 뿐만 아니라 상태를 추적하고 보전하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어주는 것 2) 솔루션 - docker swarm **:** 간단하고 설치도 용이한데 기능이 다양하지 않아서 소규모 환경에서는 유용하지만, 대규모 환경에서는 거의 사용하지 않음 - meos : 아파치의 오픈 소스 프로젝트로 트위터, AirBnb, Apple, Uber 등에서 사용한 검증된 솔류션으로 대규모 서버 환경에서 자원을 유연하게 공유하고 하나의 자원처럼 관리하는 DC/OS의 지원으로 매우 간결하지만 기능이 충분하기는 한데 여러 가지 솔루션을 유기적으로 구성을 해야 하는 부담이 있음. - nomad : 베이그런트를 만든 해시코프 사에서.. 2024. 4. 8.
Docker(4)-DockerCompose Docker Compose 1.개요 =>시스템 구축과 관련된 명령어를 하나의 텍스트 파일(yaml)에 기재해서 한번에 시스템 전체를 실행하고 종료와 폐기까지 하도록 도와주는 도구 =>공통의 목적을 갖는 애플리케이션을 docker-compose.yml 파일에 코드로 정의해서 한번에 서비스를 올리고 관리할 수 있는 도구 =>하나의 서비스는 하나의 도구만 사용하는 경우는 드뭄 React Node, Python의 Web Frameword, Spring 데이터베이스 =>이런 경우 3개의 컨테이너를 정의해서 사용해야 하는데 이를 별개의 파일로 관리하는 것은 비효율적 여러 개로 관리하다보면 수정을 해야 하는 경우 3곳 모두 수정을 해야하는데 이런 경우 에러가 발생할 가능성이 높음 하나의 정의 파일을 이용해서 관리하는.. 2024. 4. 6.
Docker(3)-Dockerfile DockerFile 1.개요 =>DockerImage 을 생성하기 위한 스크립트 =>이미지를 사용하는 방법은 기존에 존재하는 이미지(DockerHub 나 Private Repositoty 에서 다운로드)를 이용하는 방법이 있고, 이미지를 직접 만들어서 사용하는 방법(동일한 환경을 만들어서 사용하거나 애플리케이션을 배포 =>이미지를 생성하는 방법 -현재 사용중인 컨테이너를 이미지로 생성 -스크립트를 이용(Dockerfile) =>IaC(Infrastructure as Code):인프라를 코드로 구성 -기존에는 하나의 개발팀이 개발을 하기 위해서 모여서 직접 동일한 버전의 소프트웨어를 설치해서 환경을 동일하게 생성 동일한 운영체제를 사용하거나 동일한 운영체제를 사용할 수 있는 VM을 이용 -리눅스 기반의 도.. 2024. 4. 4.
Docker(2) 1.컨테이너 와 호스트 간의 파일 복사 1)복사 명령 docker cp 소스 타겟 =>현재 컴퓨터에 있는 파일을 컨테이너에 전달 docker cp 현재컴퓨터의 파일겨로 컨테이너:컨테이너 경로 =>컨테이너에 있는 파일을 현재 컴퓨터에 전달 docker cp 컨테이너:컨테이너 경로 현재 컴퓨터의 파일 경로 2)아파치 컨테이너 와 현재 컴퓨터 사이의 파일 복사 =>Apache:웹 서버이고 이미지 이름은 httpd 이며 내부에서 열려있는 포트는 80(http의 기본 포트) 웹 서버나 데이터베이스 서버처럼 게속해서 서비스를 해야 하는 컨테이너는 -d 옵션이로 실행해야 하고 터미널로 접속해야 하는 컨테이너는 -it 옵션을 추가해서 생성 포트포워딩할때는 -p호스트 컴퓨터의포트:컨테이너의포트 =>아파치 컨테이너 실행 .. 2024. 4. 3.
Docker(1) 1.CI/CD 1)개요 =>CI/CD 의 개념은 Continuous Integration(지속적인 통합),Continous Delivery(지속적인 서비스 제공),Continuous Deployment(지속적인 배포) =>애플리케이션 개발 단계를 자동화해서 애플리케이션을 보다 짧은 주기로 고객에 전달하기 위한 방법 =>새로운 코드 통합으로 인해 개발 및 운영 팀에 발생하는 문제(Integration Hell)를 해결하는 방법 =>지속적인 통합이 제대로 구현되면 애플리케이션 코드의 새로운 변경 사항이 정기적으로 빌드 및 테스트를 거쳐 공유 레포지토리에 병합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드를 작업할 경우 서로 충돌하는 문제를 해결 2)지속적인 통합 =>개발 팀이 작은 변경 사.. 2024. 4. 2.
Cloud(1)-개요 1.Cloud 1)On-Premisee =>기업이 자체 데이터 및 솔루션을 등을 저장하기 위해서 데이터 센터를 구축하고 IT 서비스를 수행하는 방식 =>하드웨어를 포함한 모든 자원(컴퓨터, 라이센스, 네트워크 등)에 대한 초기 투자 비용 과 탄력적이 않은 제한된 용량으로 인해 지속적 관리 비용이 증가한다는 단점이 있지만 기업에 내재화 된 서비스를 이용하기 때문에 품질 및 보안에 대한 신뢰도는 높음 =>설계를 할 때 가급적 최대 사용량을 근거로 하고 네트워크 트래픽 또한 최대 순간 트래픽을 가정하기 때문에 고사양의 설계를 하게되고 증설에 따른 시간적, 인적 비용도 무시할 수 없음 =>Cloud를 사용하는 경우 초기 도입 비용은 적을 수 있지만 오랜 시간 동안 사용한다면 Cloud 의 비용이 On-Premi.. 2024. 4. 1.