이 블로그에서는 Kubernetes 및 CoreOS와 함께 Couchbase를 사용하는 설정 방법을 살펴보겠습니다. 베어 메탈 물리적 서버부터 클라우드의 가상 머신 또는 주요 클라우드 제공업체의 완전 관리형 솔루션에 이르기까지 다양한 배포 전략이 있습니다. 이 시리즈에서는 로컬 머신에서 모든 구성 요소를 실행하여 완전한 베어 메탈 Kubernetes 솔루션을 설치하겠습니다. 몇 가지 전제 조건이 있으며 전체적인 그림을 이해하기 위해 각각에 대해 조금씩 살펴보겠습니다. 이 블로그에서 사용하고 있는 환경은 다음과 같습니다:
먼저 Kubernetes를 설정하고 Vagrant와 CoreOS를 사용하겠습니다. Vagrant를 사용하면 다양한 팀원들이 일관된 개발 환경을 빠르게 만들 수 있습니다. 자세한 내용은 혜택 방랑자 사용을 중단합니다. 다음 페이지로 이동합니다. 다운로드 페이지 를 클릭하고 원하는 패키지를 선택하세요. 이 글을 쓰는 현재, 저희는 버추얼 박스 5.0.8에 대한 MAC OSX용 Vagrant 1.7.4를 대상으로 하고 있습니다.
.dmg 패키지를 열고 설치 지침을 따릅니다. 다음으로 Vagrant를 시작합니다.
Kubernetes 다운로드
터미널 애플리케이션 내에서 새 폴더를 생성하고 해당 폴더로 이동합니다. 이 예제에서는 'couchbase-kubernetes' 라는 폴더를 만들었으며, 여기서 대부분의 시간을 보내게 됩니다. 'kubectl' 은 Kubernetes API와 상호 작용하는 데 사용할 기본 명령 CLI 도구입니다.
1 2 |
$mkdir 카우치베이스-쿠버네티스 |
1 2 |
$cd 카우치베이스-쿠버네티스/ |
couchbase-kubernetes' 폴더에서 바이너리를 다운로드합니다. 먼저 패키지 관리자를 설치합니다, 홈브루를 클릭하고 아직 실행하지 않았다면 'wget' 을 실행하세요:
1 2 |
$ARCH=darwin; wget https://storage.googleapis.com/kubernetes-release/release/v1.0.6/bin/$ARCH/amd64/kubectl |
그러면 아래와 비슷한 화면이 나타나고 'kubectl' 이 저장됩니다. 저는 MacOSX를 사용하고 있기 때문에 'darwin' 환경을 선택했지만, 워크스테이션 운영 체제에 따라 'linux' 를 선택할 수도 있습니다.
실행하여 바이너리가 실행 파일인지 확인합니다:
1 2 |
$파일 kubectl |
아래와 같이 'kubectl' 파일이 존재하고 실행 가능한 x86_64 파일인지 확인해야 합니다.
실행하여 'kubectl'을 PATH로 이동해 보겠습니다:
1 2 |
$chmod +x kubectl |
1 2 |
$mv kubectl /usr/local/bin/kubectl |
CoreOS 상에서 Kubernetes 실행하기
이제 CoreOS에서 Kubernetes를 실행할 가상 머신을 설정할 준비가 되었습니다. 먼저 Vagrant파일이 포함된 리포지토리를 복제합니다. Vagrantfile '은 Kubernetes 가상 머신의 구성을 갖게 됩니다. 명령을 실행합니다:
1 2 |
$git 복제 https://github.com/coreos/coreos-kubernetes.git |
이제 아래와 비슷한 내용이 표시된 후 'coreos-kubernetes' 리포지토리가 생겼을 것입니다.
쿠버네티스 시작
이제 머신을 시작할 준비가 되었습니다. 이를 위해 먼저 Vagrant를 시작할 'single-node' 폴더로 이동합니다.
1 2 |
$cd 코어오스-쿠버네티스/단일-노드/ |
이제 '단일 노드' 폴더에서 아래 명령을 실행하여 VirtualBox에서 완전히 실행되는 가상 머신을 만듭니다.
1 2 |
$vagrant init hashicorp/precise64 |
64비트 버전을 대상으로 하는 아래는 Ubuntu 12.04 LTS 64비트 박스를 설정하는 과정에서 표시되는 내용입니다.
다음으로 VirtualBox에서 가상 머신을 실행하여 가상 머신을 실행해 보겠습니다:
1 2 |
$vagrant up |
kubectl 구성
단일 노드' 디렉터리 내에서 다음 명령어를 사용하여 로컬 Kubernetes 클라이언트를 구성합니다.
1 2 |
$kubectl 구성 set-클러스터 vagrant --서버=https://172.17.4.99:443 --certificate-authority=${PWD}/ssl/ca.pem |
1 2 |
$kubectl 구성 set-자격 증명 vagrant-관리자 --인증서-권한=${PWD}/ssl/ca.pem --클라이언트-키=${PWD}/ssl/관리자-키.pem --클라이언트-인증서=${PWD}/ssl/관리자.pem |
1 2 |
$kubectl 구성 set-컨텍스트 vagrant --클러스터=vagrant --사용자=vagrant-관리자 |
1 2 |
$kubectl 구성 사용-컨텍스트 vagrant |
이제 모든 준비가 완료되었으므로 클러스터를 실행하여 클러스터의 상태와 구성 정보를 확인할 수 있습니다:
1 2 |
$kubectl get 노드 |
축하합니다! 이제 Kubernetes 클러스터가 실행되고 설정되었습니다. 이것은 Couchbase를 실행하기 전의 첫 번째 단계입니다. 다음에는 Kubernetes 클러스터에서 Couchbase를 실행하는 방법을 살펴보겠습니다.
카우치베이스 설정
단일 노드' 디렉토리 내에서 Couchbase 조각을 가져오기 시작합니다. 그런 다음 특정 서비스 로직에 맞게 Couchbase를 구성할 수 있습니다. 먼저 Couchbase-Kubernetes 리포지토리를 복제합니다:
1 2 |
$git 복제 https://github.com/couchbase/kubernetes.git 카우치베이스-쿠버네티스 |
1 2 |
$cd 카우치베이스-쿠버네티스 |
다음 블로그에서는 Couchbase와 Kubernetes에 대한 개념과 Couchbase용 서비스 및 복제 컨트롤러의 구성 및 실행에 대해 살펴보겠습니다!