OpenShift 는 레드햇의 오픈소스 PaaS 플랫폼입니다. OpenShift 3 는 Docker와 Kubernetes를 사용하여 애플리케이션을 실행하는 총체적인 경험을 제공합니다. 모든 작업은 Red Hat의 전통적인 방식으로 오픈 소스에서 수행됩니다. OpenShift Origin. 이는 또한 다음 주요 릴리스의 OpenShift 온라인 그리고 OpenShift Enterprise.
컨테이너 오케스트레이션을 위해 Docker와 Kubernetes를 사용하는 OpenShift 3를 사용하면 Docker 이미지가 있는 모든 제품을 최소한의 노력으로 실행하는 것이 매우 간단해집니다. 이 블로그에서는 다음을 시작하는 방법을 설명합니다. 카우치베이스 를 사용할 수 있습니다.
OpenShift 3 시작하기
- 최신 다운로드 방랑자 상자 (이 글을 쓰는 시점 기준 1.1) 및 방랑자 파일 에서: openshift.org/vm/. 같은 디렉토리에 복사합니다.
Vagrant파일은 2GB 메모리로 구성되며 더 많은 컨테이너를 실행해야 하는 경우 업데이트할 수 있습니다. OpenShift 마스터, 노드, Docker 레지스트리 및 기타 구성 요소는 VM 내부에서 실행됩니다.
이 블로그는 Vagrant 1.7.4 및 VirtualBox 5.0.10r104061을 사용하여 작성되었습니다.
- 방랑자 상자를 추가합니다:
12345vagrant 상자 추가 --이름 openshift3 오픈시프트-부트스트랩-1.1.box==> 상자: Box 파일 는 not 감지됨 as 메타데이터. 추가 it 직접...==> 상자: 추가 상자 'openshift3' (v0) 에 대한 공급자:상자: 포장 풀기 필요 파일 에서: 파일:///사용자/아룽업타/도구/openshiftv3/1.1/openshift-부트스트랩-1.1.box==> 상자: 성공적 추가 상자 'openshift3' (v0) 에 대한 '가상박스'!
- 가상 머신을 시작합니다:
12345678910111213141516171819202122232425262728293031vagrant up가져오기 machine '기본값' up 와 함께 '가상박스' 공급자...==> 기본값: 설정 의 이름 의 의 VM: openshift3==> 기본값: 지우기 any 이전 set 네트워크 인터페이스...==> 기본값: 준비 네트워크 인터페이스 기반 on 구성...기본값: 어댑터 1: nat==> 기본값: 전달 포트...기본값: 80 => 1080 (어댑터 1)기본값: 443 => 1443 (어댑터 1)기본값: 5000 => 5000 (어댑터 1)기본값: 8080 => 8080 (어댑터 1)기본값: 8443 => 8443 (어댑터 1)기본값: 22 => 2222 (어댑터 1)==> 기본값: 실행 중 'pre-boot' VM 사용자 지정...==> 기본값: 부팅 VM...==> 기본값: 대기 중 에 대한 machine 에 boot. 이 may take a few 분...기본값: SSH 주소: 127.0.0.1:2222기본값: SSH 사용자 이름: vagrant기본값: SSH auth 메서드: 비공개 키기본값: 경고: 연결 시간 초과. 재시도...==> 기본값: 머신 부팅 그리고 준비!==> 기본값: 확인 에 대한 guest 추가 in VM...기본값: 그리고 guest 추가 on 이 VM do not 일치 의 설치된 버전 의기본값: VirtualBox! In 대부분 사례 이 는 괜찮아요, 하지만 in 희귀 사례 it can기본값: 예방 things 그런 as 공유 폴더 에서 작업 제대로. 만약 당신 참조기본값: 공유 폴더 오류, 제발 make sure 의 guest 추가 내 의기본값: 가상 machine 일치 의 버전 의 VirtualBox 당신 가지고 설치된 on기본값: 당신의 호스트 그리고 재로드 당신의 VM.기본값:기본값: 게스트 추가 사항 버전: 4.3.20기본값: VirtualBox 버전: 5.0
OpenShift 3 클라이언트 다운로드 및 구성
- 다운로드 Mac 64비트 클라이언트 도구 (
gem 설치 rhc
는 V2 전용입니다) openshift.org/vm/ 를 실행하여 디렉터리에서 추출합니다. 목록은 다음과 같습니다:1234567891011타르 xzvf ~/다운로드/오픈시프트-원산지-v1.1-ac7a99a-darwin-amd64.타르.gzx ./x ./oadmx ./kube-스케줄러x ./kubeletx ./kube-apiserverx ./오픈시프트x ./kube-컨트롤러-관리자x ./kube-프록시x ./ocx ./kubectl - 클라이언트 버전을 확인합니다:
123./oc 버전oc v1.1쿠버네티스 v1.1.0-원산지-1107-g4c8e6f4
- 제거
~/.kube/config
또는 다른 이름으로 변경할 수 있습니다. - OpenShift에 로그인합니다:
12345678910111213141516171819./oc 로그인서버 [https://localhost:8443]:그리고 서버 사용 a 인증서 서명 by an 알 수 없음 권한.당신 can 바이패스 의 인증서 확인, 하지만 any 데이터 당신 보내기 에 의 서버 could be 가로채기 by 기타.사용 안전하지 않음 연결? (y/n): y인증 필수 에 대한 https://localhost:8443(오픈시프트)사용자 이름: 관리자비밀번호:로그인 성공.당신 가지고 액세스 에 의 다음 프로젝트 그리고 can 스위치 사이 그들 와 함께 'oc 프로젝트 ':* 기본값 (현재)* 오픈시프트* 터보사용 프로젝트 "default".환영! 참조 'oc 도움말' 에 get 시작.
OpenShift 3에서 카우치베이스 애플리케이션 만들기
- 새 Couchbase 인스턴스를 만듭니다:
1234567891011./oc new-앱 arungupta/카우치베이스--> 발견됨 Docker 이미지 9131c5a (2 일수 old) 에서 Docker 허브 에 대한 "arungupta/couchbase"* An 이미지 스트림 will be 생성 as "couchbase:최신" 그 will 트랙 이 이미지* 이 이미지 will be 배포 in 배포 구성 "couchbase"* 포트 11207/tcp, 11210/tcp, 11211/tcp, 18091/tcp, 18092/tcp, 8091/tcp, 8092/tcp, 8093/tcp will be load 균형 잡힌 by 서비스 "couchbase"--> 만들기 리소스 와 함께 레이블 앱=카우치베이스 ...이미지 스트림 "couchbase" 생성배포 구성 "couchbase" 생성서비스 "couchbase" 생성--> 성공실행 'oc 상태' 에 보기 당신의 앱.
아룽업타/카우치베이스
를 사용하는 것처럼 사용됩니다. Couchbase REST API 를 사용하여 Couchbase 서버를 사전 구성할 수 있습니다:- 메모리 및 인덱스 할당량
- 쿼리, 데이터 및 인덱스 서비스
- 사용자 이름 및 비밀번호 자격 증명
- 설치
여행 샘플
버킷
이 샘플 버킷은 나중에 데이터를 쿼리하는 데 사용됩니다.
- 배포 상태를 확인합니다:
123456789101112131415161718192021222324./oc 상태In 프로젝트 기본값 on 서버 https://localhost:8443svc/카우치베이스 - 172.30.84.134 포트 8091, 8092, 8093, 11207, 11210, 11211, 18091, 18092dc/카우치베이스 배포 이미지 스트림 태그/카우치베이스:최신약 1분 전에 배포된 #1 - 포드 1개svc/도커-레지스트리 - 172.30.236.154:5000dc/도커-레지스트리 배포 도커.io/오픈시프트/원산지-도커-레지스트리:v1.14주 전에 배포된 #1 - 포드 1개svc/쿠버네티스 - 172.30.0.1 포트 443, 53, 53svc/라우터 - 172.30.233.69:80dc/라우터 배포 도커.io/오픈시프트/원산지-haproxy-라우터:v1.14주 전에 배포된 #1 - 포드 1개경고:* 컨테이너 "레지스트리" in pod/도커-레지스트리-1-imxqp has 다시 시작 5 횟수* 컨테이너 "openshift-레지스트리-프록시-1" in pod/오픈시프트-레지스트리-프록시 has 다시 시작 3 횟수* 컨테이너 "라우터" in pod/라우터-1-5grim has 다시 시작 5 횟수To 참조 더 보기, 사용 'oc 설명 /'.당신 can 사용 'oc get 모두' 에 참조 a 목록 의 기타 객체.
- 파드 목록을 찾습니다:
123456클라이언트 > ./oc get po이름 READY 상태 다시 시작 AGE카우치베이스-1-5zhju 1/1 실행 중 0 1d도커-레지스트리-1-imxqp 1/1 실행 중 5 32d오픈시프트-레지스트리-프록시 1/1 실행 중 3 32d라우터-1-5grim 1/1 실행 중 5 32d
- Couchbase 포드에 대해 자세히 알아보세요:
123456789101112131415161718192021222324252627282930313233343536./oc 설명 po 카우치베이스-1-5zhju이름: 카우치베이스-1-5zhju네임스페이스: 기본값이미지(s): arungupta/카우치베이스@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f노드: localhost.localdomain/10.0.2.15시작 시간: Sat, 19 12월 2015 08:19:31 -0800레이블: 앱=카우치베이스,배포=카우치베이스-1,배포 구성=카우치베이스상태: 실행 중이유:메시지:IP: 172.17.0.7복제 컨트롤러: 카우치베이스-1 (1/1 복제본 생성)컨테이너:카우치베이스:컨테이너 ID: 도커://bd51f655c2a54f92f4634b84f455ca91642a88b925be39126f07df43ce883a33이미지: arungupta/카우치베이스@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f이미지 ID: 도커://c9d204bb75427500ef94263f8f53e8b78f2e56efd37543e620aebb1bc1bd7de1QoS 계층:cpu: 최고의 노력메모리: 최고의 노력상태: 실행 중시작됨: Sat, 19 12월 2015 08:20:21 -0800준비: True다시 시작 Count: 0환경 변수:조건:유형 상태준비 True볼륨:카우치베이스-볼륨-1:유형: EmptyDir (a 임시 디렉토리 그 공유 a pod's 평생)Medium:기본값-토큰-cycb6:유형: 비밀 (a 비밀 그 should 채우기 이 볼륨)비밀 이름: 기본값-토큰-cycb6아니요 이벤트.
카우치베이스 샘플 버킷 쿼리
- 방랑자 상자에 로그인합니다:
123vagrant ssh마지막 로그인: 수요일 11월 18 18:04:32 2015 에서 10.0.2.2[vagrant@localhost ~]$
- 실행 중인 모든 컨테이너의 목록을 찾습니다:
12345678910111213141516[vagrant@localhost ~]$ 도커 ps컨테이너 ID 이미지 COMMAND 생성됨 상태 포트 이름bd51f655c2a5 arungupta/카우치베이스@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f "/entrypoint.sh /opt/" 7 분 전 Up 7 분 k8s_couchbase.F96DA262_COUCHBASE-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_31dbcfec8E5EF3E54D4E 오픈시프트/원산지-pod:v1.1 "/팟" 8 분 전 Up 8 분 k8s_POD.d7dfee57_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_b1bcd72d0f7807f389d9 오픈시프트/mysql-55-centos7:최신 "컨테이너-엔트리포인트" 15 분 전 Up 15 분 k8s_ruby-헬로월드-데이터베이스.448eeefe_database-1-W51IX_TURBO_91ADAC2F-8d66-11e5-bf15-080027c5bfa9_74ecdc59077A078E00A3 172.30.236.154:5000/터보/원산지-ruby-샘플@sha256:c4ed12ec9817fca1fb41a5eb0c66f2edccf2e7375128fd6d64f7180207262193 "컨테이너-엔트리포인트" 16 분 전 Up 16 분 k8s_ruby-헬로월드.88353f9f_frontend-2-1LM99_TURBO_42A6DD40-8d67-11e5-bf15-080027c5bfa9_d5110e41e2105f2f4ab6 오픈시프트/원산지-haproxy-라우터:v1.1 "/usr/bin/openshift-r" 16 분 전 Up 16 분 k8s_router.c3a638e8_router-1-5GRIM_DEFINITE_CAC8C2D2-8d63-11e5-b835-080027c5bfa9_9d49a633b98052109d08 172.30.236.154:5000/터보/원산지-ruby-샘플@sha256:c4ed12ec9817fca1fb41a5eb0c66f2edccf2e7375128fd6d64f7180207262193 "컨테이너-엔트리포인트" 16 분 전 Up 16 분 k8s_ruby-헬로월드.88353f9f_frontend-2-HDZ43_TURBO_46657993-8d67-11e5-bf15-080027c5bfa9_f6394539646dcce91f59 오픈시프트/원산지-도커-레지스트리:v1.1 "/bin/sh -c 'REGISTRY" 16 분 전 Up 16 분 k8s_registry.35EB136E_도커-레지스트리-1-IMXQP_기본_CB3DDE6E-8d63-11e5-b835-080027c5bfa9_71586c07d02c8c07f690 오픈시프트/원산지-레지스트리-프록시 "sh -cx '/bin/tcppm -" 16 분 전 Up 16 분 k8s_openshift-레지스트리-프록시-1.a0457375_openshift-레지스트리-proxy_default_767fcb12-8d64-11e5-bf15-080027c5bfa9_4c413a1023267082944f 오픈시프트/원산지-pod:v1.1 "/팟" 17 분 전 Up 16 분 k8s_POD.D982FD5F_Database-1-W51IX_TURBO_91ADAC2F-8d66-11e5-bf15-080027c5bfa9_8fc2969fbd7f82a88cb1 오픈시프트/원산지-pod:v1.1 "/팟" 17 분 전 Up 16 분 k8s_POD.e127fd63_frontend-2-1LM99_TURBO_42A6DD40-8d67-11e5-bf15-080027c5bfa9_3f73ddf8d2ca01d75a0c 오픈시프트/원산지-pod:v1.1 "/팟" 17 분 전 Up 16 분 k8s_POD.4D0DDC3F_ROUTER-1-5GRIM_DEFINITE_CAC8C2D2-8d63-11e5-b835-080027c5bfa9_036343da5e25f5ba5c4c 오픈시프트/원산지-pod:v1.1 "/팟" 17 분 전 Up 16 분 k8s_POD.e127fd63_frontend-2-HDZ43_TURBO_46657993-8d67-11e5-bf15-080027c5bfa9_122e502e7c4b2b9e6c39 오픈시프트/원산지-pod:v1.1 "/팟" 17 분 전 Up 16 분 k8s_POD.cc3ffd58_docker-레지스트리-1-IMXQP_기본_CB3DDE6E-8d63-11e5-b835-080027c5bfa9_0ae24ed785c4cf8d0808 오픈시프트/원산지-pod:v1.1 "/팟" 17 분 전 Up 16 분 0.0.0.0:5000->5000/tcp k8s_POD.C686FED_OPENSHIFT-레지스트리-proxy_default_767fcb12-8d64-11e5-bf15-080027c5bfa9_04225f94
카우치베이스 컨테이너를 검색합니다:
12345[vagrant@localhost ~]$ 도커 ps | grep 카우치베이스컨테이너 ID 이미지 COMMAND 생성됨 상태 포트 이름bd51f655c2a5 arungupta/카우치베이스@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f "/entrypoint.sh /opt/" 7 분 전 Up 7 분 k8s_couchbase.F96DA262_COUCHBASE-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_31dbcfec8E5EF3E54D4E 오픈시프트/원산지-pod:v1.1 "/팟" 8 분 전 Up 8 분 k8s_POD.d7dfee57_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_b1bcd72d0f7807f389d9 오픈시프트/mysql-55-centos7:최신 "컨테이너-엔트리포인트" 15 분 전 Up 15 분컨테이너의 ID를 가져옵니다:
12도커 ps | grep arungupta/카우치베이스 | awk '{ 인쇄 $1}'bd51f655c2a5 - 카우치베이스 서버가 실행 중인 파드의 IP 주소를 가져옵니다:
12[vagrant@localhost ~]$ 도커 검사 --형식 '{{ 색인 .구성.Env 6 }}' `도커 ps | grep arungupta/카우치베이스 | awk '{ 인쇄 $1}'`카우치베이스_서비스_호스트=172.30.84.134
- 위에 표시된 IP 주소를 사용하여 Couchbase 쿼리 CLI를 시작합니다:
12345678910111213141516171819202122232425[vagrant@localhost ~]$ 도커 실행 -it arungupta/카우치베이스 /opt/카우치베이스/bin/cbq -엔진=http://172.30.84.134:8093불가능 에 찾기 이미지 'arungupta/카우치베이스:최신' 로컬시도 중 에 pull 저장소 도커.io/arungupta/카우치베이스 ... 최신: 당기기 에서 arungupta/카우치베이스62baed0d0de5: 이미 존재39387babd60f: 이미 존재6a2bc8404be0: 이미 존재bad926a6fb50: 이미 존재1a86c4c907e0: 이미 존재32132a7c82e9: 이미 존재646c3d5ebb71: 이미 존재864cbabd77ad: 이미 존재8c327c6d4e43: 이미 존재8592c697ab61: 이미 존재7734f4a832d4: 이미 존재35EDB38EBC17: 이미 존재99F3EB6FB46F: 이미 존재91e5fad693c2: 이미 존재0cb81f5cc79b: 이미 존재ec58df60a109: 이미 존재c9d204bb7542: 이미 존재다이제스트: sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f상태: 다운로드 최신 이미지 에 대한 도커.io/arungupta/카우치베이스:최신카우치베이스 쿼리 shell 연결된 에 http://172.30.84.134:8093/ . 종료하려면 Ctrl-D를 입력합니다.cbq>
- 샘플 버킷을 쿼리합니다:
123456789101112131415161718192021222324252627cbq> 선택 * 에서 `여행-샘플` limit 1;{"요청ID": "a7bd414a-c571-4b22-8c81-30512b87730d","서명": {"*": "*"},"결과": [{"travel-sample": {"콜사인": "MILE-AIR","country": "미국","iata": "Q5","icao": "MLA","id": 10,"name": "40마일 에어","type": "항공사"}}],"status": "성공","metrics": {"elapsedTime": "123.799956ms","실행 시간": "116.882044ms","resultCount": 1,"결과 크기": 300}}
즐겨보세요! 이 블로그에서는 OpenShift 3에서 Couchbase를 시작하기 위한 기본 사항을 설명합니다. 향후 블로그에서 보여드리겠습니다:
- OpenShift에 애플리케이션을 배포하고 이 카우치베이스를 사용하는 방법
- 이 애플리케이션을 OpenShift 외부에서 액세스할 수 있도록 설정하는 방법
- OpenShift에서 Couchbase를 확장하는 방법
- 다른 흥미로운 아이템도 함께 제공될 수 있습니다.
보고 싶은 기능에 대한 제안이 있으신가요?
Couchbase 4.1에 대해 자세히 알아보세요:
- 카우치베이스 서버 4.1의 새로운 기능
- Couchbase Server 4.1 다운로드
- 카우치베이스 서버 문서
- 다음 연락처로 문의하세요. 카우치베이스 포럼
- 팔로우 @couchbasedev 또는 @couchbase