'Cloud' 카테고리의 글 목록
Loading...
2020. 5. 17. 21:12

[Kubernetes] minikube 대시보드 활성화 과정

blog post 이번 포스트는 이전 포스트에 이어서, 설치한 minikube를 기반으로 대시보드를 구축해 보겠습니다. 대시보드에서도 약간의 삽질 과정이 있어서 따로 다뤄보았습니다. 이전 포스트가 궁금하신 분들은 아래 포스트를 보고 오시기 바랍니다. [Kubernetes] 첫 시작. Minikube 설치 삽질 과정 (feat. docker) blog post 오픈스택을 멀티 노드로 구성하는 과정에서 간단한 테스트 용 컨테이너가 필요하여 도커를 구축해 보기로 하였습니다. 단순히 도커만 설치하는 것이 아니라 쿠버네티스도 사용해 볼 겸, itguava.tistory.com 이전 포스트에서 첫 minikube 설치를 마치고 아래와 같이 대시보드를 실행해보니 에러가 발생했습니다. [user@Compute0 /]$..

[Kubernetes] 첫 시작. Minikube 설치 삽질 과정 (feat. docker)

blog post 오픈스택을 멀티 노드로 구성하는 과정에서 간단한 테스트 용 컨테이너가 필요하여 도커를 구축해 보기로 하였습니다. 단순히 도커만 설치하는 것이 아니라 쿠버네티스도 사용해 볼 겸, 도커 드라이버를 사용하는 쿠버네티스 시스템을 구축해 보기로 했습니다. 마침 쿠버네티스 구축에 대해 알아보니 minikube라 불리는 테스트용 쿠버네티스 서비스가 있는 것을 발견하여 이를 활용해 보기로 했습니다. 그런데 막상 실제 문서를 참고하여 진행해보니 기존 매뉴얼 및 블로그의 설명과 실제 운영 환경에서의 차이가 있어보이네요. 처음 진행하는 과정에서 저처럼 어려움을 겪고 계신 분들이 계시다면 이 글을 포함하여 앞으로 진행할 내용들이 조금이나마 도움이 되길 바랍니다. 현재 저는 아래와 같은 환경에서 진행합니다. ..

Stein 오픈스택 클라우드 서버 구축(16) - Neutron 기반 Service Function Chaining (SFC) 기능 추가하기

blog post 오픈스택에서 네트워킹 기능을 전담하는 컴포넌트로 Neutron이 있습니다. Public & Private 네트워크 구성부터 서브네팅, 라우터, DHCP, 패킷 포워딩 등, 다양한 기능을 수행하죠. 하지만 Neutron의 기능은 이게 끝이 아닙니다. 기본 기능에서 확장하여 추가 기능들을 사용할 수 있습니다. 아래 링크에서 보시면 어떠한 추가 기능들이 있는지 대략적으로 살펴볼 수 있습니다. OpenStack Docs: Configuration docs.openstack.org 이번 포스트에서는 Neutron을 확장하여 Service Function Chaining(이하 SFC)으로 불리는 기능을 추가해 보도록 하겠습니다. 참고로, 오픈스택 클라우드 시스템을 운영하는 과정에 있어 반드시 필요..

2020. 5. 12. 00:35

Stein 오픈스택 클라우드 서버 구축(15) - 오픈스택 대시보드 메인 로고 및 링크 변경하기

blog post 오픈스택 클라우드에 기능을 추가하고 분석하는 과정에서 문뜩 대시보드 메인 로고를 바꿔보고 싶은 생각이 들었습니다. 비록 웹 서버 개발자는 아니지만, 로고를 어떻게 커스터마이징 할 수 있을지 궁금했습니다. 그래서 이번 포스트에서는 잠시 대시보드를 커스터마이징 하는 방법에 대해 알아보도록 하겠습니다. 기본 로고 변경 현재 저의 CentOS7 HTTP 서비스 기반 대시보드 로그인 화면은 아래와 같이 기본 오픈스택 로고가 박힌 화면입니다. 이 메인 로그인 페이지에서 직접 제작한 로고 이미지로 변경해 보겠습니다. 방법은 간단합니다. 다음의 경로에서 "logo-splash.svg" 파일만 변경해 주면 됩니다: /usr/share/openstack-dashboard/openstack_dashboar..

2020. 5. 10. 22:41

Stein 오픈스택 클라우드 서버 구축(14) - SSL (HTTPS) 접속 가능한 오픈스택 대시보드 구성하기

blog post 처음 오픈스택 서비스를 구성하면 대시보드가 기본 HTTP (80포트)로 서비스 되는 것을 볼 수 있습니다. 아시다시피 HTTP는 통신 과정에서 세션 암호화를 하지 않기 때문에 여러가지 보안 취약점에 노출될 수 밖에 없습니다. 이에 따라, SSL 암호화 통신을 제공하는 HTTPS로 접근할 수 있도록 대시보드를 재구성해 보겠습니다. 물론 오픈스택 대시보드 역시 HTTPD 기반으로 제공되는 서비스이므로, 기존의 아파치 웹 서버 구성과 크게 다를 바 없습니다. 인증서 생성 SSL 통신에서 필요한 요소 중 하나가 바로 인증서 입니다. openssl을 통해 간단하게 인증서를 하나 발급받도록 하겠습니다. 만약 기존에 사용중인 인증서가 있다면 해당 인증서를 사용해도 무관합니다. 먼저 인증서를 저장할 ..

2020. 5. 9. 09:32

Stein 오픈스택 클라우드 서버 구축(13) - Swift 서비스를 활용한 오브젝트 스토리지 구성하기

blog post 오픈스택의 Swift를 활용하면 다양한 방식으로 오브젝트 스토리지를 구성할 수 있습니다. 어떻게 구성하느냐에 따라 기존 Cinder서비스와 연동하여 블록 스토리지의 백업 서버로 활용할 수도 있고, Glance 이미지 저장 공간으로 활용할 수도 있습니다. 이번 포스트에서는 이 Swift 컴포넌트를 활용하여 사용자의 비정형 데이터를 저장할 수 있는 스토리지를 구축해 보도록 하겠습니다. 전체 구성 전체 구성은 아래와 같습니다. 기존 구성에서 네트워크 노드와 3개의 오브젝트 스토리지가 사용됩니다. 우선 컨트롤러 노드에는 swift 관련 별다른 패키지는 설치하지 않습니다. 다만 keystone을 통해, user, endpoint 등의 정보로만 swift를 등록해둠으로써, 컨트롤러는 swift 서..

2020. 4. 20. 02:04

Stein 오픈스택 클라우드 분석(9) - 외부에서 가상머신에 SSH접속을 위한 유동 IP (Floating IP) 설정하기

blog post 앞서 포스트를 통해 가상 머신을 생성하고 테넌트 네트워크까지 완료하였습니다. (해당 포스트: Stein 오픈스택 클라우드 분석(3) - 외부&내부 네트워크, 서브넷, 라우터 생성) 하지만 생성한 VM에 오픈스택 대시보드 VNC 콘솔을 통해 접속해보면 생각보다 느린 것을 느낄 수 있습니다. 외부에서 SSH로 접속할 수 있다면 이러한 성능 문제를 어느 정도 개선할 수 있을 텐데, 현재 네트워크 구성상, 외부에서 SSH 접속도 어려운 상황입니다. 이러한 문제를 해결하기 위해 Floating IP라 불리는 오픈스택의 네트워크 기능을 활용하여 외부에서 SSH로 접속할 수 있는 환경을 구성해 보도록 하겠습니다. 현재 네트워크 구성 [Stein 오픈스택 클라우드 분석(3) - 외부&내부 네트워크, ..

2020. 4. 14. 23:56

기업에서는 오픈스택을 왜 사용할까? 처음 시작은 어떻게 해야 할까?

blog post 이번 포스트에서는 잠시 기술적인 내용이 아닌, 클라우드 산업과 오픈스택에 대한 본질적인 내용에 관하여 이야기해 보도록 하겠습니다. 글의 마지막에서는 오픈스택을 처음 접하시는 분들을 위한 짧은 조언과 함께 포스팅을 마치도록 하겠습니다. 클라우드 배경 최근 클라우드 시스템이 비즈니스 인프라 기술 분야에서 각광받고 있습니다. 덕분에 오픈스택 역시 많은 기업에서 인프라 개선을 위해 활용되고 있으며, 심지어 이를 서비스화 하는 등, 활용 방안에 관해서도 다양하게 연구되고 있습니다. 사실 오픈스택을 포함한 비즈니스 클라우드 플랫폼 산업이 최근 들어 새롭게 주목받은 분야는 아닙니다. 클라우드 시스템은 이미 AWS라고 불리는 아마존의 퍼블릭 클라우드를 필두로 인프라 산업에서 수년 전부터 주목받아 왔습..

2020. 4. 13. 01:08

Stein 오픈스택 클라우드 서버 구축(12) - NFS,LVM 기반 다중 블록 스토리지 노드 구성하기 (Feat. GlusterFS, GFS)

blog post 이번 포스트에서는 지난 포스트에서 구축했던 LVM 기반 블록 스토리지 노드에 NFS 백엔드를 추가하여 멀티 블록 스토리지 노드를 구성해 보겠습니다. 포스트 마지막에는 Cinder와 GlusterFS 문제에 대해서도 간단하게 짚고 포스팅을 마치도록 하겠습니다. 관련 포스트: Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 구성하기 NFS 개념 및 전체 구성 NFS(Network File System)는 물리적으로 떨어져 있는 파일 시스템에 외부에서 원격으로 접근할 수 있도록 하는 네트워크 프로토콜이자 서비스입니다. 아래 그림과 같이 NFS 서버가 동작중인 장치의 디렉토리를 클라이언트에서 마운트 하여 사용할 수 있습니다. 오픈스택의 Cinder 서비스는 LVM 뿐..

2020. 4. 12. 14:37

Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 백엔드 구성하기

blog post 이번 포스트에서는 앞서 구축한 블록 스토리지의 백엔드로 LVM 드라이브를 지정하고, 실제 볼륨을 생성하는 과정까지 진행해 보도록 하겠습니다. 전체 구성 본 포스트를 통해 아래와 같이 기존 Block Storage가 LVM을 기반으로 동작하도록 구성됩니다. 스토리지 노드 파티션 구성 LVM 드라이브를 활용하게 되므로, 스토리지 노드의 리눅스 파티션 구성이 중요합니다. 저의 경우, LVM 블록 스토리지 노드는 현재 아래와 같이 구성되어 있습니다. 전체 50GB의 디스크에서 약 2GB를 제외한 나머지는 전부 'centos' LVM 볼륨그룹으로 할당하였습니다. 여기에서 루트 파티션 10GB를 제외한 약 38GB의 공간이 오픈스택 블록 스토리지를 위해 할당될 예정입니다. 이 글을 보시는 분들도 ..

2020. 4. 10. 22:31

Stein 오픈스택 클라우드 서버 구축(10) - 블록 스토리지 노드 및 Cinder 서비스 구성

blog post 이번 포스트에서는 앞서 1차 구축을 완료한 컨트롤러/네트워크/컴퓨트 노드에 이어, 블록 스토리지 노드를 추가해 보도록 하겠습니다. 블록 스토리지는 가상머신으로 동작 중인 윈도우, 리눅스 시스템 등의 인스턴스에 볼륨을 추가 제공하기 위한 용도로 주로 활용됩니다. 따라서 이 노드의 경우, 스토리지 노드 자체의 가용 공간도 넉넉해야하며, (컴퓨트 노드와 스토리지 노드가 분리되어 있는 경우) 데이터가 iscsi와 같은 네트워크 프로토콜을 사용하여 전달되므로 네트워크 퍼포먼스도 중요한 요소가 됩니다. 오픈스택의 블록 스토리지는 LVM, NFS, GlusterFS(GFS) 등의 드라이브를 백엔드로 배치할 수도 있고, CEPH으로 다중 클러스터 백엔드를 구축할 수도 있습니다. 본 포스트에서는 백엔드..

2020. 2. 18. 12:53

Stein 오픈스택 클라우드 분석(7) - 가상머신의 이더넷 인터페이스, mac & ip 주소 할당 과정

blog post 안녕하세요. 이번 포스트에서는 이전 포스트까지 생성하고 분석했던 인스턴스가 어떻게 맥 주소나 ip를 할당받는지 확인해보겠습니다. 지난번 가상머신 분석 포스트에서 가상머신 "Windows10_2"를 추가로 만들었습니다. 저는 이 인스턴스를 기준으로 분석해 보겠습니다. 1. 네트워크 인터페이스 및 맥 주소 할당 당시 인스턴스 생성 과정에서 우리는 openvswitch 포트를 생성하고 가상 인터페이스를 인스턴스에 할당하는 로그를 확인할 수 있었습니다. (분석 포스트 보러가기) 로그 중에 맥주소도 보이네요. 2020-02-14 18:34:38.592 23339 INFO os_vif ...생략... Successfully plugged vif VIFOpenVSwitch(active=False,a..

2020. 2. 14. 19:25

Stein 오픈스택 클라우드 분석(6) - 오픈스택 시스템 내부에서 이미지와 가상머신을 생성하고 관리하는 방법

blog post 이번 포스트에서는 오픈스택 시스템 내부에서 이미지와 가상머신을 어디에 생성하고 어떻게 관리하는지 살펴보겠습니다. 사실 이번 포스트에서 네트워킹까지 함께 다루려 했으나, 네트워크 부분은 얘기가 길어질 것 같아서 별도로 포스팅 하겠습니다. 1. 가상머신 이미지 관리 우선 가상머신 이미지부터 살펴보겠습니다. 지난 포스트에서 인스턴스를 생성하기 위해 우선 QCOW2 기반의 윈도우 이미지를 업로드 했습니다. [해당 포스트 보기] 이 이미지가 어디에 저장될까요? 혹시 기억나실지 모르겠네요, 지난번 이미지 서비스 설치 및 구성 포스트에서 /etc/glance/glance-api.conf 설정 파일을 통해 "filesystem_store_datadir = /var/lib/glance/images/" ..

2020. 2. 14. 12:41

Stein 오픈스택 클라우드 분석(5) - 가상머신 이미지 업로드부터 인스턴스 생성까지

blog post 이번 포스트에서는 가상머신 이미지 디스크를 업로드하고 그 이미지를 가지고 인스턴스(VM)를 생성하는 단계까지 진행해 보도록 하겠습니다. 물론 이번 과정도 전부 CLI로 가능하지만 저는 이전에 구축한 오픈스택 대시보드를 사용하도록 하겠습니다. 우선 이번 과정을 진행하기 위해 가상머신 이미지가 준비되어 있어야 합니다. 무엇보다도 가상머신의 이미지 디스크에 현재 운영체제가 설치되어 있는 상태인지, 아니면 오픈스택에서 바로 운영체제를 설치해야 하는 경우인지에 따라 진행 방향이 달라집니다. 운영체제가 사전에 설치된 이미지를 사용하는 경우: 바로 인스턴스 생성 후 사용 가능. ISO 포맷의 설치 디스크를 통해 새로 운영체제를 설치하고자 하는 경우: 추가 볼륨 마운트를 위한 블록 스토리지가 필요. ..

2020. 2. 13. 20:04

[리눅스 가상화] CLI로 QCOW2 기반 윈도우 & 리눅스 가상머신 이미지 생성하기

blog post 이번 포스팅에서는 리눅스(CentOS7 기준)에서 QCOW2 기반의 가상머신 이미지를 생성해 보도록 하겠습니다. 저는 GUI를 사용하지 않고 CLI를 기반으로 KVM 가상머신을 생성해 보겠습니다. 1. 기본 패키지 설치 우선 이미지 생성에 앞서 필요한 패키지들을 설치합니다. [root@localhost ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils 2. ISO 파일 다운로드 리눅스 설치를 위한 iso 파일을 내려받습니다. [root@localhost tmp]# wget http://mirror.kakao.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso --2..

2020. 2. 13. 13:46

Stein 오픈스택 클라우드 분석(4) - 호스트 시스템에서의 가상 네트워크 구조 분석

blog post 지난 포스팅에서 내외부 네트워크를 구축하고 라우터까지 배치해 보았습니다. 이번 포스팅에서는 실제로 호스트 시스템에서는 어떤식으로 네트워크 인터페이스가 구축되는지 살펴보도록 하겠습니다. 아직 가상 네트워크 구축 포스트를 보지 못하신 분들은 먼저 해당 글을 참고 하시길 바랍니다. 현재 컴퓨트 노드에서는 아직 별다른 인스턴스를 생성하지 않은 상태이므로 네트워크 노드를 위주로 살펴보도록 하겠습니다. 네트워크 노드에서 현재 오픈스택 네트워크 관련 인터페이스 구성 상태는 아래와 같습니다. [root@Network ~]# ovs-vsctl show 25bab28b-f4e3-4cc1-8369-1267ca847c93 Manager "ptcp:6640:127.0.0.1" is_connected: true..

2020. 2. 12. 14:09

Stein 오픈스택 클라우드 분석(3) - 외부&내부 네트워크, 서브넷, 라우터 생성

blog post 이전 포스트에서 오픈스택의 초기 네트워크 인터페이스 아키텍처를 살펴보았다면, 이번 포스팅에서는 가상의 네트워크와 서브넷, 라우터 등을 생성해 보겠습니다. 1. 네트워크 구축 시나리오 아직 인스턴스를 생성하지 않았지만, 추후에 인스턴스가 인터넷 접속이 필요한 경우를 위해 클라우드에서도 별도의 외부망을 생성하여 물리망과 연결해야 합니다. 이 네트워크는 오픈스택 토폴로지로 볼 때 하나의 가상 네트워크로 표현되지만(아래 그림에서 External_Net), 사실은 실제 물리 네트워크와 같은 대역의 네트워크를 의미합니다. (아래 그림에서 파란색 영역을 나타냅니다. 물론 이 부분은 관리자 별로 사내 네트워크와 어떻게 연동하여 구성하는가에 따라 달라질 수 있습니다만, 본 포스팅에서는 가장 기본적인 구..

2020. 2. 12. 12:47

Stein 오픈스택 클라우드 분석(2) - 호스트 네트워크 인터페이스 아키텍처

blog post 앞서 포스트에서는 간단하게 사용자와 프로젝트를 생성하고 분석해 보았습니다. 다음으로 네트워크 및 VM 생성단계로 넘어가기에 앞서, 오픈스택 시스템의 기본 네트워크 인터페이스 구조를 우선 살펴보도록 하겠습니다. Neutron 네트워크 서비스 포스팅을 통해 네트워크 서비스가 정상적으로 구축되었다는 전제 하에 분석하도록 하겠습니다. 본 구성 단계는 어떠한 네트워크나 VM도 생성하지 않은 초기 상태에서 시작합니다. 1. 컴퓨트 노드의 인터페이스 구성 네트워크 서비스 구축 과정에서 컴퓨트 노드에서도 Neutron 서비스를 구축했습니다. 우선 컴퓨트 노드에서 인터페이스가 어떻게 구성되어 있는지 살펴보겠습니다. [root@Compute0 ~]# ovs-vsctl show 7d7c87c8-560d-4..

2020. 2. 11. 23:45

Stein 오픈스택 클라우드 분석(1) - 대시보드 구성 및 사용자, 프로젝트 생성

blog post 이번 포스트부터 기존에 구축한 오픈스택 서비스를 활용하고 분석하는 과정에 집중하고자 합니다. 그 첫번째 포스팅으로 이번 포스트에서는 대시보드 기본 구성에 대해 알아보고 간단하게 사용자, 프로젝트 등을 생성해 보도록 하겠습니다. 또 실제로 오픈스택 호스트 시스템에는 어떻게 기록되는지도 살펴보도록 하겠습니다. 1. 메뉴 구성 오픈스택 대시보드에서 메뉴 영역은 아래와 같이 크게 3 부분으로 나누어 볼 수 있습니다. 1. 주요 메뉴: 크게 "프로젝트", "관리", "인증" 메뉴로 구성되어 있습니다. 사용자 역할에 따라 해당 메뉴 세부 구성은 조금씩 다릅니다. 특히 "관리" 메뉴의 경우, 관리자 권한이 있는 사용자에 한하여 접근이 허용됩니다. 2. 도메인 메뉴: 도메인 혹은 프로젝트를 변경할 수..

2020. 2. 11. 18:18

Stein 오픈스택 클라우드 서버 구축(9) - 대시보드 서비스(Horizon) 구축 및 대시보드 기본 구조

blog post 기본적인 오픈스택 클라우드 서비스 구축 마지막 단계 입니다. 이번 포스팅에서는 대시보드 서비스를 제공하는 Horizon 서비스를 구성해 보도록 하겠습니다. Horizon은 httpd 기반으로 동작하며, 컨트롤러 노드에서 서비스를 제공하므로 아래 과정은 컨트롤러 노드에서 진행합니다. 1. Horizon 서비스 설치 및 설정 Horizon 서비스를 설치합니다. [root@Controller ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-dashboard 다음과 같이 대시보드 및 httpd 관련 설정을 진행합니다. [root@Controller ~]# vi /etc/openstack-dashboard/local_s..