목록전체 글 (67)
Study_note
아래와 같이 rds가 아닌 ec2위에 db가 있다는 가정으로 data가있는 db를 서버에서 생성해준다. DMS를 통해 data를 받을 taget인 버킷을 생성해주고 아래와 같이 2개의 폴더를 생성해준다. 후 dms에서 s3에 관한 정책을 부여할수 있게 다음과 같은 json문에 정책을 생성 후 생성한 정책을 사용하여 dms 역할을 생성해준다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::dmstargetbucket-yourinitial-1111111111*" ] ..
쿠버네티스는 크게 관리를 받는 오브젝트와 관리하는 컨트롤러로 나뉜다 오브젝트 쿠버네티스에 의해서 배포 및 관리되는 오브젝트는 컨테이너화 되어 배포되는 애플리케이션의 워크로드를 기술하는 오브젝트로 오브젝트 생성시 인자로 전달하여 정의를 하거나 또는 yaml이나 json 파일로 스펙을 정의할 수 있다. Pod, Service, Volume, Namespace 4가지가 있다 다음과 같은 오브젝트를 예로 들어보자 apiVersion - 스크립트를 실행하기 위한 쿠버네티스 API 버전이다 보통 v1을 사용한다 kind - 리소스의 종류 정의 metadata - 리소스의 각종 메타 데이타 이름, 라벨 등 각종 메타데이타를 넣는다 spec - 리소스에 대한 상세한 스펙을 정의한다. namespace 동일한 물리 클러..
쿠버 네티스란? 컨테이너 애플리케이션을 쉽게 배포하고 관리할 수 있게 해주는 소프트에어 시스템으로 여러 대의 노드를 마치 하나의 거대한 컴퓨터인 것처럼 클런스터링하여 애플리케이션을 실행한다 수 백대의 물리적인 호스트를 사용하는 기본 인프라를 추상화하여 개발 및 운영 팀의 개발 배포 관리를 산 순화시킨다 즉 단순한 컨테이너 플랫폼이 아닌 마이크로 서비스, 클라우드 플랫폼을 지향하고, 컨테이너로 이루어진 것들을 손쉽게 담고 관리할 수 있는 그릇 역할을 한다 즉 장점은 애플리케이션의 배포 단순화, 높은 하드웨어 활용도, 지속적인 상태 확인, 오토 스케일링이 있다 선언적 API 컨테이너가 어떤 상태이길 원하는지 쿠버 네티스에 설정하면 지속해서 컨테이너의 상태를 확인하여 설정한 상태가 아니라면 선언된 상태에 맞추..
도커 파일이란? 컨테이너에 설치해야 하는 패키지, 명령어, 변수 설정 등을 작성한 파일이다. 빌드하면 자동으로 이미지가 생성되고 애플리케이션 빌드 및 배포를 자동화할 수 있게 됩니다. docker build -t 생성될 이미지 -f 도커 파일이 저장된 경로 다음과 같은 도커 파일을 만들고 도커 파일을 사용해서 배포하면 아래와 같다 배포할 때는 스텝마다 임시 컨테이너가 생성되고 그 안에서 다음단계인 이미지가 생성된 후 컨테이너를 커밋하고 이미지와 컨테이너는 하나의 컨테이너가 된다 그 후 새로운 생성됐던 컨테이너 올라가고 다시 이미지가 추가되고 커밋하는 형식이다 아래 명령어를 입력하면 파일 안에 명령어 순서대로 실행되고 ls 명령어 시 생성된 것을 확인할 수 있다 docker build -t ubuntu -..
도커 이미지란? 서비스에 필요한 프로그램 라이브러리 컴파일된 실행 파일 등 컨테이너가 실행하기 위한 모든 파일과 환경을 지닌 것을 의미한다 docker image pull - 도커 허브등의 도코 registrt로부터 도커 이미지를 다운로드 docker pull centos : centos 최신판 다운로드 - 태그명을 생략하면 최신 버전이 기본값이다 docker image pull gcr.io.tensorflow/tensorflow : Tensor flow의 URL을 지정하여 이미지 취득 docker image ls - 호스트에 위치하는 도커 이미지 목록 출력한다 docker image inspect - 이미지의 상세 정보 출력 docker imgae rm - 호스트에 이미지를 삭제 docker image..
도커 네트워크 동작 원리 도커는 컨테이너에 내부 ip를 순차적으로 할당하며, 이 ip는 컨테이너를 재시작할 때마다 변경될 수 있다 도커 브리지 인터페이스는 각 veth 인터페이스와 바인딩되어 호스트의 eth0 인터페이스와 연결해주는 역할을 한다 snat 컨테이너 ip를 로컬 호스트로 바꿔줌 나갈 때 주소 변환 (포트 포워딩 같은 개념) dnat 외부에서 들어오는 목적지인 로컬 호스트를 컨테이너 ip로 바꿔줌 들어올 때 변환 (포트 포워딩 같은 개념) 이미지가 nginx인 컨테이너 2개를 생성해보자 -p host-port:container-port docker container run -d --name w1 -p 8080:80 nginx docker container run -d --name w2 -p 8..