Cloud
-
gnocchi 간단 정리Cloud 2017. 2. 27. 09:00
Gnocchi는 멀티테넌트 시계열, 메트릭, 리소스 데이터베이스다. 데이터 관리에 HTTP REST 인터페이스를 제공한다. 대용량 메트릭을 저장할 수 있게 설계되어 있다. ceilometer 만들던 Julien Danjou이 mongodb나 rdb로는 한계를 느껴서 직접 만들었다. 알고리즘 복잡도를 O(n)에서 O(1)으로 변경하고 싶었다. 처음에는 Graphite에서 사용하는 whisper 기반으로 만들려고 했다. 그런데 whisper에 필요한 기능을 패치하려고 하니까 코드에 단위테스트도 없고 함부로 건드리기가 힘들어서 포기. 그래서 파이썬 통계 라이브러리인 Pandas(Python Data Analysis Library)를 이용해서 직접 만들게 되었다고 한다. 그렇게 해서 carbonara라는 시계열..
-
Openstack Nova 설치하기Cloud 2016. 2. 22. 09:00
Nova에서 사용할 rabbitmq 설치하기 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc sudo apt-key add rabbitmq-signing-key-public.asc apt-get update sudo apt-get install rabbitmq-server rabbitmq-plugins enable rabbitmq_management openstack에서 사용할 rabbitmq 계정 만들기 rabbitmqctl add_user openstack openstack Nova 컨트롤러 노드 설치하기 mysql DB 준비 mysql -u root -p CREATE DATABASE nova; GRANT ALL PRIVILEGES ON ..
-
Openstack glance 설치하기Cloud 2016. 2. 19. 09:00
mysql에 glance 데이터베이스만들기 mysql에 접속 mysql -u root -p glance DB 만들기 CREATE DATABASE glance; glance 접속용 계정 만들기 GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \ IDENTIFIED BY 'GLANCE_DBPASS'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY 'GLANCE_DBPASS'; admin CLI용 셀 환경설정. admin-openrc.sh는 keystone 설치할때 만들었던걸 사용한다. source admin-openrc.sh keystone에 glance 사용자 생성(비번은 glance..
-
openstack keystone 설치해보기Cloud 2016. 2. 17. 09:00
원래 공식 가이드에는 장비를 여러대 사용하도록 되어 있지만, 한 대에 설치해 보자. 실제 openstack에서 요구하는 하드웨어 사양 테스트해 볼 설치환경 CPU : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz Memory : 32M OS : Ubuntu 14.04.2 LTS 64bit keystone 설치하기 mysql 설정 mysql 설치 sudo apt-get install mysql-server keystone 데이터베이스 만들기 mysql -u root -p CREATE DATABASE keystone; keystone 데이터베이스에 권한 추가 GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIF..
-
Large-scale cluster management at Google with Borg 정리Cloud 2015. 9. 21. 09:00
http://research.google.com/pubs/pub43438.html Large-scale cluster management at Google with Borg 정리 구글은 Borg 시스템으로 수십만개의 job을 돌리고 있음. 1. 도입 Borg는 구글이 운영하는 애플리케이션을 스케쥴, 시작, 재시작, 모니터하는 클러스터 관리 시스템. 크게 3가지 장점이 있음. (1) 사용자는 자원 관리와 장애 처리에 신경쓰지 않고 애플리케이션 개발에만 집중하면됨. (2) 애플리케이션을 안정적이고 가용성이 높게 운영할 수 있게 해줌. (3) 수만대 규모의 장비에서 작동하는 작업부하를 효율적으로 관리. 이런 이슈를 해결하기위한 시스템이 Borg만 있는건 아니지만 이정도 규모를 이렇게 잘 처리하는건 별로 없음...
-
kubernetes 기본 개념Cloud 2015. 9. 14. 09:00
개념정리 Cluster : Kubernetes가 앱을 실행하기위한 물리/가상 장비 집합 Node : Kubernetes가 실행중인 물리/가상 장비 Pod : Kubernetes가 생성/스케쥴/관리 하는 비슷한 컨테이너들의 묶음. Label : 객체 그룹을 지정/관리하기 위한 키:값 쌍. Selector : label에 관련된 자원이 어떤 것인지에 대한 표현이다. Replication controller : pod들의 수명주기를 관리함. pod안에 있는 컨테이너 개수가 항상 일정하게 유지되게 관리함 Service : pod에 접속하게 하는 로드밸런서 Volume : 컨테이너에서 파일시스템을 통해서 접근할 수 있는 디렉토리. Secret : 인증 토큰같은 민감한 데이터를 저장. Name : 자원에 사용자나 ..
-
etcd 기본사용Cloud 2015. 9. 11. 09:00
coreos에서 만든 분산 key-value 스토리지 GO 언어로 개발되어 있음. 일반적으로. 데이터베이스 연결 정보, 캐시 세팅등의 설정정보들을 저장해두고 사용한다. 설치GO로 개발되었기 때문에 바이너리 파일을 다운받아서 바로 실행하면 된다. https://github.com/coreos/etcd/releases/ 요기서 OS별 실행파일 다운로드 다운받은 파일 압축풀면 실행파일이랑 참고용 문서들 들어있음. unzip etcd-v2.2.0-rc.0-darwin-amd64.zip etcd는 실제 etcd를 실행하는 파일이고 etcdctl은 etcd를 이용하기위한 클라이언트다. etcdctl이 없어도 rest api를 제공하기 때문에 curl을 통해서 사용할 수 있음. etcd를 클러스터로 구성했다면 cur..
-
libvirt 사용하기Cloud 2015. 3. 25. 09:00
KVM, Xen, VMware ESX, QEMU 같은 가상화 플랫폼을 관리할 수 있는 툴. C로 구현되어 있고 다른 여러가지 언어로 바인딩되어 있다. libvirt를 다루기 위해서는 virsh라는 명령행 도구가 가장 많이 쓰인다. libvirt가 지원하는 하이퍼바이저 LXC – 경량 리눅스 컨테이너 시스템 OpenVZ – 경량 리눅스 컨테이너 시스템 Kernel-based Virtual Machine/QEMU (KVM) – 리눅스용 오픈소스 하이퍼바이저 Xen – 베어메탈 하이퍼바이저 User-mode Linux (UML) 반가상화 커널 VirtualBox – 오라클에서 만든 하이퍼바이저 VMware ESX and GSX – 인텔 하드웨어용 하이퍼바이저 VMware Workstation and Playe..