본문 바로가기

전체 글55

kubernetes 구성 요소 및 API kubernetes cluster는 마스터와 노드 구성요소가 있고, 추가요소가 있다. 이런 구성요소들은 API를 통해 메시지를 주고받는다. 1. 마스터 클러스터의 Control plane을 제공 클러스터에 대한 전반적인 결정(ex. scheduling)을 수행 클러스터 이벤트를 감지하고 이에 대응 production 환경에서는 멀티 마스터 환경을 구성 3대 이상 만드는게 좋다. 1) API server (kube-apiserver) 쿠버네티스 클러스터의 모든 구성요소들은 마스터의 API 서버와 메시지를 주고받는다. control plane에 대한 frontend를 담당한다. 2) etcd 쿠버네티스 클러스터의 모든 정보데이터를 저장하는 일관성과 고가용성을 지원하는 키-값 저장소 key가 있으면 이에 해당.. 2020. 7. 22.
Container와 Kubernetes 소개 1. 모놀리식 아키텍처 Monolithic Architecture(레거시 시스템) 기능이 한 번에 다 들어있다. 하나의 기능을 위해 다른 기능까지 수정해야 할 수 있다. 장점 간단한 개발 간편한 배포 단순한 확장성 -> 코드의 확장. -> 결국 재배포를 해야 한다.. 단점 코드 품질이 낮아짐 애플리케이션 시작이 오래 걸림 애플리케이션의 지속적인 배포가 어려움 어플리케이션의 확장이 어려움 컴포넌트별 개발의 어려움 다양한 기술 적용의 어려움 2. 마이크로 서비스 아키텍처 기능별로 서비스를 더 세밀화한다. 세분화되고 독립적으로 작동하는 방식 사용. 나눠놓은 상태에서 서로 통신할 수 있는 인터페이스를 만들어 놓는다 -> API 동기방식과 비동기 방식이 존재한다. 참고로 Openstack은 비동기! 동기방식 (H.. 2020. 7. 22.
이미지 제작 1. docker tag 하드링크와 비슷하다. 이미지이름 : hub ID/repo이름:tag official image는 hub ID가 생략되어있음. 이미지를 만들어서 업로드를 할때 도커 허브에 기본으로 올라가는데 반드시 허브 ID가 포함되어있어야한다. tag를 생략할 수 있다 → latest가 붙는다. 태그는 버전을 나타내지만 특징을 나타내기도 한다. ID값으로 이미지가 같은것인지 아닌지 판단할 수 있다. 2. docker push 이미지를 지정하면 도커허브에 업로드한다. → 도커 이미지 저장소에 로그인 해야한다(docker login) 도커 로그인 할 때 사용했던 아이디 값과 hub ID 부분이 일치해야한다. 3. commit 실행중인 컨테이너 기반으로 이미지를 만든다. 이미지는 다수의 layer로 .. 2020. 7. 20.
간단한 Docker 실습 1. volume 생성 docker volume create web_vol docker volume create db_vol docker volume ls //확인 2. network 생성 docker network create --subnet=192.168.100.0/24 --gateway=192.168.100.254 --internal alpha docker network ls //확인 bridge network는 기본으로 있다. 3. os / web1 / web2 container 생성 docker run -itd --name os -v web_vol:/root/html:rw --network bridge centos:latest docker run -itd --name web1 -v web_vol.. 2020. 7. 20.
Auto Scaling Auto Scaling 자동 확장 기능을 사용하면 instance의 수를 동적으로 늘리거나 줄일 수 있다. 비정상적인 상태의 instance를 감지하면, 해당 인스턴스를 종료하고, 새 인스턴스를 생성하여 고 가용성을 구성할 수 있다. loadbalance가 없어도 auto scaling은 가능하지만 거의 필요하다. 시스템을 편하게 관리하기 위해 사용한다. scale out -> 일정 이상의 시스템을 사용하면 확장 scale in -> 축소 auto scaling은 scale in / out만 사용한다. 자동으로 scale을 in / out 한다. vm 하나의 부하량만 체크 -> 다른 vm의 부하량과 같기 때문에 OS::Heat::AutoScalingGroup 자동 확장 리소스의 그룹을 지정한다. 최소 사.. 2020. 7. 17.
이미지 다운로드 / 관리 / 삭제 1. Doker Hub 도커의 기본 이미지 저장소 이미지 공유 이미지를 검색하거나 특정 이미지를 사용하여 컨테이너를 실행하는 방법에 대해 알 수 있다. 도커 회사가 개발한 official image는 물론 사용자들이 개발한 이미지들도 다운받을 수 있다. 형태 -> 저장소 이름 : Tag (official) , 허브의 ID/저장소 이름 : Tag ( 그 외) 허브의 ID : 사용자가 다수의 이미지 저장소를 가질 수 있고, 이미지의 업로드 할 때 인증에 필요한 절차로 사용된다. 2. docker search 이미지 검색 official image => name : centos centos -> 저장소 이름(repository) user image ⇒ name : ansible/centos7-avilable .. 2020. 7. 14.
LBaaS를 통한 Loadbalance 1. 확인을 위한 configure-httpd 파일 생성 vi configure-httpd1 #!/bin/bash yum -y install httpd systemctl start httpd systemctl enable httpd echo "WEB1" > /var/www/html/index.html vi configure-httpd2 #!/bin/bash yum -y install httpd systemctl start httpd systemctl enable httpd echo "WEB2" > /var/www/html/index.html 2. Instance 생성 openstack server create --image centos7 --flavor wp --key-name al.. 2020. 7. 13.
Install Docker (Ubuntu) ** Repository를 사용하여 설치 ** 1. apt update sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common 2. Docker의 공식 GPG key 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 3. repository set up sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs.. 2020. 7. 13.
Docker란? 1. Docker란? Docker는 2013 Docker사에서 Go lang으로 개발한 오픈소스 플랫폼이다. Docker를 사용하여 리눅스 컨테이너를 더 쉽게 관리하고 사용할 수 있다. Docker의 가장 큰 특징은 이식성인데, 이는 개발 환경, 테스트 환경, 서비스 환경을 모두 동일하게 사용할 수 있기 때문이다. 컨테이너에 필요한 서비스 등을 다 넣어놓고 실행만 하면 된다는 개념 부팅가능하지않다. 모든 컨테이너는 docker file에 저장해서 공유한다. 서버를 코드 형태로 정의 Docker는 이미지를 사용하여 컨테이너를 실행한다. 이 컨테이너는 하나의 애플리케이션을 실행하는 서버처럼 동작한다. Docker는 이미지를 제작할 때 코드형태로 정의하여 작성할 수 있다. 따라서 서버를 코드형태로 정의할 수 .. 2020. 7. 13.