Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
2125 lines (1294 sloc) 57.6 KB

Table Contents

  1. 개요

  2. BOSH CLI 기본 사용법

  3. BOSH CLI - Environments

  4. BOSH CLI - Session

  5. BOSH CLI - Stemcell

  6. BOSH CLI - Release creation

  7. BOSH CLI - Release blobs

  8. BOSH CLI - Releases

  9. BOSH CLI - Configs

  10. BOSH CLI - Cloud config

  11. BOSH CLI - Runtime config

  12. BOSH CLI – CPI config

  13. BOSH CLI - Deployments

  14. BOSH CLI - VMs

  15. BOSH CLI - Disks

  16. BOSH CLI - SSH

  17. BOSH CLI - Errands

  18. BOSH CLI - Tasks

  19. BOSH CLI - Snapshot

  20. BOSH CLI - Deployment recovery

  21. BOSH CLI - Misc

문서 개요

문서 목적

본 문서는 BOSH에 대한 설치 및 운영 관리를 위한 도구인 BOSH CLI v2에 대해 기본 사용법 및 사용 예시를 통해 BOSH를 이해하는데 목적이 있다.

문서 범위

본 문서에서는 BOSH CLI V2 사용법에 대해서 작성하였다.

참고 자료

본 문서는 Cloud Foundry의 BOSH Document(http://bosh.io)를 참고로 작성하였다.

BOSH CLI 기본 사용법

CLI는 BOSH 배포와 Release를 관리하기 위해 도움을 주는 커맨드 라인 명령어로 아래와 같이 구분된다.

  • bosh-cli: BOSH를 관리하기 위한 CLI

  • 기본 Syntax

      $ bosh [<options>] <command> [<args>]
    

    bosh 명령어에 대괄호로 묶인 인자인 과 는 명령어에 따라 선택적으로 사용되고, 인자는 필수 인자이다.

  • Options

    번호 옵션 설명
    1 -c, --config BOSH configuration file 지정
    2 --ca-cert Director 및 UAA 연결에 사용 되는 CA 인증서 지정
    3 --client 사용자 이름 또는 UAA 클라이언트 재정의
    4 -n 입력 사용이 필요한 확인
    5 --json 출력 형식을 JSON으로 변경
    6 --tty 명령이 리디렉션되지 않을 때 일반적으로 표시되는 모든 텍스트를 출력에 포함
    7 --no-color 색상을 비활성화
    8 --deployment, -d Deploy 명령을 위한 배치 지정
    9 -h, --help Help 메시지 보기
    10 --column= 지정된 열만 표시하도록 필터링
    11 -e, --enviroment SHA256 체크섬 사용
    12 --sha2 BOSH 배포파일 지정
    13 --parallel= 병렬 작업의 최대 수
    14 --client-secret= 암호 또는 UAA 클라이언트 암호 재정의

BOSH CLI - Environments

bosh environments

  • 기본 Syntax

      $ bosh environments (Alias: envs)
    
  • 설명

      BOSH CLI에 등록 한 디렉터의 별명이 지정된 환경을 나열
    
  • 파라미터

  • 사용 예시

      $ bosh envs
      URL              Alias
      104.154.171.255  gcp
      192.168.56.6     vbox
      2 environments
      Succeeded
    

bosh create-env

  • 기본 Syntax

      $ bosh create-env [deploymentFile] [--state path] [-v ...] [-o ...] [--vars-store path]
    
  • 설명

    BOSH CLI를 통해 Manifest File을 기반으로 단일 VM을 생성. 일반적으로 Director 환경을 만드는 데 사용

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    deploymentFile 설치 Manfiest 파일 O
    --state path Deployment state 파일 경로 X
    -v Manifest Replace 변수 ex) internal_ip, deployment_name X
    -o option Manifest File ex) jumpbox-user.yml, uaa.yml... X
    --vars -store path creds.yml 파일, 인증 키 및 Job Password yml 파일 경로 X
  • 사용 예시

      $ bosh create-env ~/workspace/bosh-deployment/bosh.yml \
      --state state.json \
      --vars-store ./creds.yml \
      -o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
      -o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
      -o ~/workspace/bosh-deployment/bosh-lite.yml \
      -o ~/workspace/bosh-deployment/jumpbox-user.yml \
      -v director_name=vbox \
      -v internal_ip=192.168.56.6 \
      -v internal_gw=192.168.56.1 \
      -v internal_cidr=192.168.56.0/24 \
      -v network_name=vboxnet0 \
      -v outbound_network_name=NatNetwork
    

bosh alias-env

  • 기본 Syntax

      $ bosh alias-env [name] -e [location] [--ca-cert=path]
    
  • 설명

    BOSH CLI를 통해 엑세스 할 디렉터의 별명이 지정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    name 환경 이름 지정 O
    location 디렉터 위치 지정 O
    --ca-cert=path CA 인증서를 지정 X

bosh environment

  • 기본 Syntax

      $ bosh -e [my-env] environment (Alias: env)
    
  • 설명

    해당 Director 정보를 출력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e vbox env
      Using environment '192.168.56.6' as '?'
    
      Name      vbox
      UUID      eeb27cc6-467e-4c1d-a8f9-f1a8de759f52
      Version   260.5.0 (00000000)
      CPI       warden_cpi
      Features  compiled_package_cache: disabled
        dns: disabled
        snapshots: disabled
      User      admin
    
      Succeeded
    

bosh delete-env

  • 기본 Syntax

      $ bosh delete-env [deploymentFile] [--state path] [-v ...] [-o ...] [--vars-store path]
    
  • 설명

    매니페스트를 기반으로 이전에 만든 VM을 삭제, create-env 명령에 제공된 것과 동일한 플래그를 delete-env 명령에 제공해야한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    deploymentFile 설치 한 Manfiest 파일 O
    --state path Deployment state 파일 경로 O
    -v Manifest Replace 변수 ex) internal_ip, deployment_name X
    -o option Manifest File ex) jumpbox-user.yml, uaa.yml… X
    --vars -store path creds.yml 파일, 인증 키 및 Job Password yml 파일 경로 X
  • 사용 예시

      $ bosh delete-env ~/workspace/bosh-deployment/bosh.yml \
      --state state.json \
      --vars-store ./creds.yml \
      -o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
      -o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
      -o ~/workspace/bosh-deployment/bosh-lite.yml \
      -o ~/workspace/bosh-deployment/jumpbox-user.yml \
      -v director_name=vbox \
      -v internal_ip=192.168.56.6 \
      -v internal_gw=192.168.56.1 \
      -v internal_cidr=192.168.56.0/24 \
      -v network_name=vboxnet0 \
      -v outbound_network_name=NatNetwork
    

BOSH CLI - Session

bosh log-in

  • 기본 Syntax

      $ bosh -e [my-env] l
    
  • 설명

    주어진 사용자를 Director에 로그인합니다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env BOSH 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env l
      User (): admin
      Password ():
    

bosh log-out

  • 기본 Syntax

      $ bosh -e [my-env] log-out 
    
  • 설명

    현재 접속 한 디렉터 로그아웃

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env BOSH 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh log-out 
      Logged out from '192.168.10.241'
    
      Succeeded
    

BOSH CLI - Stemcells

bosh Stemcells

  • 기본 Syntax

      $ bosh -e [my-env] stemcells (Alias: ss)
    
  • 설명

    업로드 한 릴리즈 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env ss
      Using environment '192.168.56.6' as '?'
    
      Name                                         Version  OS             CPI  CID
      bosh-warden-boshlite-ubuntu-trusty-go_agent  3363*    ubuntu-trusty  -    6cbb176a-6a43-42...
      ~                                            3312     ubuntu-trusty  -    43r3496a-4rt3-52...
      bosh-warden-boshlite-centos-7-go_agent       3363*    centos-7       -    38yr83gg-349r-94...
    
      (*) Currently deployed
    
      3 stemcells
    
      Succeeded
    

bosh upload-stemcell

  • 기본 Syntax

      $ bosh -e [my-env] upload-stemcell [location] [--sha1=digest] [--fix]
    
  • 설명

    스템셀 업로드

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    location 스템셀 파일 위치 및 URL 지정 X
    --sha1 스템셀 파일 sha1um 값 확인 X
    --fix 이전에 업로드 한 스템 셀을 동일한 이름과 버전으로 교체 X
  • 사용 예시

      $ bosh -e my-env us ~/Downloads/bosh-stemcell-3468.17-warden-boshlite-ubuntu-trusty-go_agent.tgz
    
      $ bosh -e my-env us https://bosh.io/d/stemcells/bosh-stemcell-warden-boshlite-ubuntu-trusty-go_agent?v=3468.17
    

bosh delete-stemcell

  • 기본 Syntax

      $ bosh -e [my-env] delete-stemcell [name]/[version]
    
  • 설명

    업로드 한 스템셀 삭제

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    name 삭제 할 스템셀 명 O
    version 삭제 할 스템셀 버전 O
  • 사용 예시

      $ bosh -e my-env delete-stemcell bosh-warden-boshlite-ubuntu-trusty-go_agent/3468.17
    

bosh repack-stemcell

  • 기본 Syntax

      $ bosh repack-stemcell src.tgz dst.tgz [--name=name] [--version=ver] [--cloud-properties=json-string]
    
  • 설명

    기존 스템셀의 이름, 버전 및 클라우드 등록 정보와 같은 업데이트 된 등록 정보로 새로운 스템셀 타르볼을 생성 참조 URL: https://bosh.io/docs/repack-stemcell.html

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    name 업데이트 등록 스템셀 명 O
    version 업데이트 등록 스템셀 버전 X
    cloud-properties 업데이트 등록 스템셀 cloud-properties, Json 형식 X
  • 사용 예시

      $ bosh repack-stemcell --name=acme-ubuntu-encrypted --cloud-properties='{"encrypted": true, "kms_key_arn": "arn:aws:kms:us-east-1:088444384256:key/4ffbe966-d138-4f4d-a077-4c234d05b3b1"}' bosh-stemcell-3363.9-aws-xen-hvm-ubuntu-trusty-go_agent.tgz acme-encrypted-stemcell.tgz
    

BOSH CLI - Release creation

bosh init-release

  • 기본 Syntax

      $ bosh init-release [--git] [--dir=dir]
    
  • 설명

    dir에 릴리즈에 관련한 구성 파일을 생성 dir을 사용 않할 경우는 현재 디렉토리

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    --git BOSH 릴리즈 Git repository에 적절한 .gitignore 파일을 생성 X
    --dir 디렉토리에 대한 빈 릴리스 구성 파일 생성 X
  • 파라미터

      $ bosh init-release --git --dir release-dir
      $ cd release-dir
    

bosh generate-job

  • 기본 Syntax

      $ bosh generate-job [name] [--dir=dir]
    
  • 설명

    dir에 릴리즈에 대한 Job에 관련 한 빈 파일 생성

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    name 릴리즈 Job 명칭 O
    --dir 디렉토리에 대한 Job 관련 빈 릴리스 구성 파일 생성 X
  • 사용 예시

      $ bosh generate-job jenkins
    

bosh generate-package

  • 기본 Syntax

      $ bosh generate-pakage [name] [--dir=dir]
    
  • 설명

    dir에 릴리즈에 대한 pakage에 관련 한 빈 파일 생성

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    name 릴리즈 pakage 명칭 O
    --dir 디렉토리에 pakage Job 관련 빈 릴리스 구성 파일 생성 X
  • 사용 예시

      $ bosh generate-package jenkins
    

bosh vendor-package

  • 기본 Syntax

      $ bosh vendor-package [name] src-dir [--dir=dir]
    
  • 설명

    다른 릴리스의 패키지를 dir의 릴리스로 제공, 릴리즈를 만들 때 CLI가 특정 패키리를 참조 하도록 디렉토리에 spec.lock을 포함 설명 참조 https://bosh.io/docs/package-vendoring.html

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    name 릴리즈 pakage명칭 O
    --dir 디렉토리에 대한 package 관련 빈 릴리스 구성 파일 생성 X
  • 사용 예시

      $ bosh vendor-package golang-1.8-linux ~/workspace/golang-release
    

bosh create-release

  • 기본 Syntax

      $ bosh create-release [--force] [--version=ver] [--timestamp-version] [--final] [--tarball=path] [--dir=dir] (Alias: cr)
    
  • 설명

    dir에 저장된 릴리스의 새 버전을 생성

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    --force 릴리스 디렉토리에서 커밋되지 않은 변경 사항을 무시하도록 지정 X
    --version 사용자 정의 릴리스 버전을 제공 X
    --version 사용자 정의 릴리스 버전을 제공 X
    --timestamp-version 타임 스탬프 기반의 dev 릴리즈 버전을 생성 X
    --tarball 릴리스 타르볼의 대상을 지정 X
    --sha2 SHA256 체크섬 사용 지정 X
  • 사용 예시

      $ bosh create-release --force
    

bosh finalize-release

  • 기본 Syntax

      $ bosh finalize-release [path] [--force] [--version=ver] [--dir=dir]
    
  • 설명

    선택적으로 주어진 버전으로 최종 릴리스로 릴리스 타볼의 내용을 기록

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    path 릴리즈 tarball 지정 O
    --force 릴리스 디렉토리에서 커밋되지 않은 변경 사항을 무시하도록 지정 X
    --version 사용자 정의 릴리스 버전을 제공 X
    --dir 디렉토리 위치 지정 X
  • 사용 예시

      $ cd release-dir
      $ bosh finalize-release /tmp/my-release.tgz
      $ bosh finalize-release /tmp/my-release.tgz --version 20
      $ git commit -am 'Final release 20'
      $ git push origin master
    

bosh reset-release

  • 기본 Syntax

      $ bosh reset-release [--dir=dir]
    
  • 설명

    릴리스 디렉토리에 보관 된 dev 릴리스, blob 등의 임시 아티팩트를 제거

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    --dir 디렉토리 위치 지정 O
  • 사용 예시

      $ bosh reset-release ~/Download/jenkins
    

BOSH CLI - Release blobs

bosh blob

  • 기본 Syntax

      $ bosh blobs
    
  • 설명

    릴리즈 Blobstore에 등록 한 blob 출력

  • 사용 예시

      $ cd release-dir
      $ bosh blobs
      Path                               Size     Blobstore ID         Digest
      golang/go1.6.2.linux-amd64.tar.gz  81 MiB   f1833f76-ad8b-4b...  b8318b0...
      stress/stress-1.0.4.tar.gz         187 KiB  (local)              e1533bc...
    
      2 blobs
    
      Succeeded
    

bosh add-blob

  • 기본 Syntax

      $ bosh add-blob [src-path] [dst-path]
    
  • 설명

    릴리즈 Blobstore에 로컬 blob 추가

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    src-path 로컬 Blob 디렉토리 O
    dst-path 릴리즈 내 blob 디렉토리 X
  • 사용 예시

      $ cd release-dir
      $ bosh add-blob ~/Downloads/stress-1.0.4.tar.gz stress/stress-1.0.4.tar.gz
    

bosh reomove-blob

  • 기본 Syntax

      $ bosh remove-blob [blob-path]
    
  • 설명

    릴리즈 Blobstore에 존재 하는 Blob 삭제

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    blob-path 릴리즈 내 blob 디렉토리 O
  • 사용 예시

      $ cd release-dir
      $ bosh remove-blob stress/stress-1.0.4.tar.gz
    

bosh sync-blob

  • 기본 Syntax

      $ bosh sync-blobs
    
  • 설명

    릴리즈 내 blobstore의 blob 동기화

  • 사용 예시

      $ cd release-dir
      $ bosh sync-blobs
    

BOSH CLI - Releases

bosh releases

  • 기본 Syntax

      $ bosh -e [my-env] releases (Alias: rs)
    
  • 설명

    업로드 한 릴리즈 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env rs
      Using environment '192.168.56.6' as client 'admin'
    
      Name               Version   Commit Hash
      capi               1.21.0*   716aa812
      cf-mysql           34*       e0508b5
      cf-smoke-tests     11*       a6dad6e
      cflinuxfs2-rootfs  1.52.0*   4827ef51+
      consul             155*      22515a98+
      diego              1.8.1*    0cca668e
      dns                3*        57e27da
      etcd               94*       57c81e16
      garden-runc        1.2.0*    2b3dedc5
      loggregator        78*       773a3ba
      nats               15*       d4dfc4c1+
      routing            0.145.0*  dfb44c41+
      statsd-injector    1.0.20*   552926d
      syslog             9         ac2172f
      uaa                25*       86ec7568
    
      (*) Currently deployed
      (+) Uncommitted changes
    
      15 releases
    
      Succeeded
    

bosh upload-release

  • 기본 Syntax

      $ bosh -e [my-env] upload-release [location] [--version=ver] [--sha1=digest] [--fix] (Alias: ur)
    
  • 설명

    릴리즈 업로드

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    location 릴리즈 파일 위치 및 URL 지정 O
    --sha1 릴리즈 파일 sha1um 값 확인 X
    --fix 이전에 업로드 한 릴리즈를 동일한 이름과 버전으로 교체 X
  • 사용 예시

      $ bosh -e my-env ur
      $ bosh -e my-env ur https://bosh.io/d/github.com/concourse/concourse?v=2.7.3
      $ bosh -e my-env ur git+https://github.com/concourse/concourse --version 2.7.3
    

bosh delete-release

  • 기본 Syntax

      $ bosh -e [my-env] delete-release [name]/[version]
    
  • 설명

    업로드 한 릴리즈 삭제

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    name 삭제 할 릴리즈 명 O
    version 삭제 할 릴리즈 버전 O
  • 사용 예시

      $ bosh -e my-env delete-release cf-smoke-tests/94
    

bosh export-release

  • 기본 Syntax

      $ bosh -e [my-env] -d my-dep export-release [name]/[version] [os]/[version] [--dir=dir]
    
  • 설명

    특정 스템셀에 대한 릴리즈를 컴파일 하고 내보낸다

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    name 릴리즈 명 O
    version 릴리즈 버전 O
    os 스템셀 os 명 O
    version 스템셀 os 버전 O
    dir 내보내기 디렉토리 X
  • 사용 예시

      $ bosh -e my-env -d my-dep export-release cf-smoke-tests/94 ubuntu-trusty/3369
    

bosh inspect-release

  • 기본 Syntax

      $ bosh -e [my-env] inspect-release [name]/[version]
    
  • 설명

    모든 Job, Job의 메타데이터 패키지 및 릴리즈 버전과 관련 된 패키지를 출력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    name 릴리즈 명 O
    version 릴리즈 버전 O
  • 사용 예시

      $ bosh -e gcp-test inspect-release consul/155
      Using environment '192.168.56.6' as client 'admin'
    
      Job                                                                    Blobstore ID       Digest       Links Consumed    Links Provided
      acceptance-tests/943c6083581e623dc66c7d9126d8e5989c4c2b31              0f3cd013-1d3d-...  17e5e4fc...  -                 -
      consul-test-consumer-windows/6748c0675da2292c680da03e89b738a9d5818370  7461c74c-745d-...  9809861c...  -                 -
      consul-test-consumer/7263db87ba85eaf0dd41bd198359c8597e961839          8bde4572-8e8b-...  7b08b059...  -                 -
      consul_agent/b4872109282347700eaa884dcfe93f3a03dc22dd                  e41f705e-2cb7-...  a8db2c76...  - name: consul    - name: consul
                                                                                                       		type: consul      type: consul
                                                                                                       		optional: true
      consul_agent_windows/a0b91cb0aa1029734d77fcf064dafdb67f14ada6          3a8755d0-7a39-...  17f07ec0...  - name: consul    - name: consul
                                                                                                       		type: consul      type: consul
                                                                                                       		optional: true
      fake-dns-server/a1ea5f64de0860512470ace7ce2376aa9470f9b1               5bb53f17-eba9-...  0565f9af...  -                 -
    
      6 jobs
    
      Package                                                            Compiled for          Blobstore ID            Digest
      acceptance-tests-windows/e36cef763e5cfd4e28738ad314807e6d1e13b960  (source)              03589024-2596-49fc-...  96eaaf4ba...
      acceptance-tests/9d56ac03d7410dcdfd96a8c96bbc79eb4b53c864          (source)              79fb9ba7-cd23-4b93-...  e08ee88f5...
      confab-windows/52b117effcd95138eca94c789530bcd6499cff9d            (source)              53d4b206-b064-462d-...  43f92c8d0...
      confab/b2ff0bbd68b7d600ecb1ffaf41f59af073e894fd                    (source)              b93214eb-a816-4029-...  4b627d264...
      ~                                                                  ubuntu-		trusty/3363.9  f66fe541-8c21-4fe3-...  8e662c2e2...
      consul-windows/2a8e0b7ce1424d1d5efe5c7184791481a0c26424            (source)              9516870b-801e-42ea-...  19db18127...
      consul/6049d3016cd34ac64ccbf7837b06b6db81942102                    (source)              04aa38af-e883-4842-...  c42cacfc7...
      ~                                                                  ubuntu-trusty/3363.9  ab4afda6-881e-46b1-...  27c1390fa...
      golang1.7-windows/1a80382e081cd429cf518f0c783f4e4172cac79e         (source)              d7670210-7038-4749-...  b91caa06a...
      golang1.7/181f7537c2ec17ac2406d9f2eb3322fd80fa2a1c                 (source)              ac8aa36a-8965-46e9-...  ca440d716...
      ~                                                                  ubuntu-trusty/3363.9  9d40794f-0c50-4d0c-...  9d6e29221...
      
      11 packages
    
      Succeeded
    

BOSH CLI - Configs

bosh configs

  • 기본 Syntax

      $ bosh -e [my-env] configs [--type=my-type] [--name=my-name]
    
  • 설명

    Director의 모든 구성을 출력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    --name config 명 기본 Default X
    --type config type 명 X
  • 사용 예시

      $ bosh -e my-env configs
      Using environment '192.168.50.6' as client 'admin'
    
      Type     Name
      cloud    default
      ~        custom-vm-types
      cpi      default
      runtime  default
    
      3 configs
    
      Succeeded
    

bosh update-config

  • 기본 Syntax

      $ bosh -e [my-env] update-config [my-type] [config.yml] [--name=my-name]
    
  • 설명

    Director에서 구성을 추가하거나 업데이트

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-typ config type 명 O
    config.yml config type의 property Manifest 파일 O
    --name config 명 기본 Default X
  • 사용 예시

      $ bosh -e my-env config my-type config.yml
    

bosh delete-config

  • 기본 Syntax

      $ bosh -e [my-env] delete-config [my-type] [--name=my-name]
    
  • 설명

    Director의 my-type 구성을 삭제

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-type config type 명 O
    --name config 명 기본 Default X
  • 사용 예시

      $ bosh -e my-env config my-type config.yml
    

BOSH CLI - Cloud config

bosh cloud-configs

  • 기본 Syntax

      $ bosh -e [my-env] cloud-config (Alias: cc)
    
  • 설명

    Deployment Property 설정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env cloud-config
    

bosh update-cloud-config

  • 기본 Syntax

      $ bosh -e [my-env] update-cloud-config [config.yml] [-v ...] [-o ...] (Alias: ucc)
    
  • 설명

    Director의 cloud-conifg 구성 요소를 추가 하거나 수정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    config.yml property Manifest 파일 O
    -v Manifest Replace 변수 ex) internal_ip, deployment_name X
    -o option Manifest File ex) jumpbox-user.yml, uaa.yml… X
  • 사용 예시

      $ bosh -e my-env ucc cc.yml
    

BOSH CLI - Runtime config

bosh runtime-configs

  • 기본 Syntax

      $ bosh -e my-env runtime-config (Alias: rc)
    
  • 설명

    Director의 runtime-conifg 구성 요소를 출력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env runtime-config
    

bosh update-runtime-config

  • 기본 Syntax

      $ bosh -e my-env update-runtime-config [config.yml] [-v ...] [-o ...] (Alias: urc)
    
  • 설명

    Director의 cloud-conifg 구성 요소를 추가 하거나 수정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    config.yml property Manifest 파일 O
    -v Manifest Replace 변수 ex) internal_ip, deployment_name X
    -o option Manifest File ex) jumpbox-user.yml, uaa.yml… X
  • 사용 예시

      $ bosh -e my-env urc runtime.yml
    

BOSH CLI - CPI config

bosh cpi-configs

  • 기본 Syntax

      $ bosh -e my-env cpi-config
    
  • 설명

    Director의 cpi-conifg 구성 요소를 출력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env cpi-config
    

bosh update-cpi-config

  • 기본 Syntax

      $ bosh -e my-env update-cpi-config config.yml [-v ...] [-o ...]
    
  • 설명

    Director의 cpi-conifg 구성 요소를 추가 하거나 수정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    config.yml property Manifest 파일 O
    -v Manifest Replace 변수 ex) internal_ip, deployment_name X
    -o option Manifest File ex) jumpbox-user.yml, uaa.yml… X
  • 사용 예시

      $ bosh -e my-env update-cpi-config runtime.yml
    

BOSH CLI – Deployments

bosh deployments

  • 기본 Syntax

      $ bosh -e [my-env] deployments (Alias: ds)
    
  • 설명

    디렉터가 설치 한 전체 배포 목록을 출력.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 파라미터

      $ bosh -e my-env ds
      Using environment '192.168.56.6' as client 'admin'
    
      Name                                Release(s)                Stemcell(s)                                         Team(s)  Cloud Config
      cf                                  binary-buildpack/1.0.9    bosh-warden-boshlite-ubuntu-trusty-go_agent/3363.9  -        latest
                                  capi/1.21.0
                                  cf-mysql/34
                                  cf-smoke-tests/11
                                  cflinuxfs2-rootfs/1.52.0
                                  consul/155
                                  diego/1.8.1
                                  etcd/94
                                  garden-runc/1.2.0
                                  loggregator/78
                                  nats/15
                                  routing/0.145.0
                                  statsd-injector/1.0.20
                                  uaa/25
      service-instance_0d4140a0-42b7-...  mysql/0.6.0               bosh-warden-boshlite-ubuntu-trusty-go_agent/3363.9  -        latest
    
      2 deployments
    
      Succeeded
    

bosh deployment

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] deployment
    
  • 설명

    디렉터가 지정한 이름의 배포 목록 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
  • 사용 예시

      $ bosh -e vbox -d cf dep
      Using environment '192.168.56.6' as client 'admin'
    
      Name  Release(s)              Stemcell(s)                                         Team(s)  Cloud Config
      cf    binary-buildpack/1.0.9  bosh-warden-boshlite-ubuntu-trusty-go_agent/3363.9  -        latest
    	capi/1.21.0
    	cf-mysql/34
    	cf-smoke-tests/11
    	uaa/25
    	dns/3
    	...
    
      1 deployments
    
      Succeeded
    

bosh deploy

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] deploy [manifest.yml] [-v ...] [-o ...]
    
  • 설명

    디렉터가 지정 한 배포명의 Manifest 파일를 통한 VM 설치

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 O
    -v Manifest Replace 변수 ex) internal_ip, deployment_name X
    -o option Manifest File ex) jumpbox-user.yml, uaa.yml… X
    manifest.yml 배포 Manifest 파일 O
  • 사용 예시

      $ bosh -e vbox -d cf deploy cf.yml -v system_domain=sys.example.com -o large-footprint.yml
    

bosh delete-deployment

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] delete-deployment [--force] (Alias: deld)
    
  • 설명

    디렉터가 지정 한 배포명의 VM을 삭제 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 O
    --force 다양한 오류 (IaaS, blobstore, database)를 무시 지정 X
  • 사용 예시

      $ bosh -e vbox -d cf deld
    

bosh manifest

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] manifest (Alias: man)
    
  • 설명

    디렉터가 지정 한 배포명의 Manifest 파일을 출력 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 O
  • 사용 예시

      $ bosh -e vbox -d cf man > /tmp/manifest.yml
    

bosh recreate

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] recreate [group[/instance-id]] [--skip-drain] [--fix] [--canaries=] [--max-in-flight=] [--dry-run]
    
  • 설명

    디렉터가 지정한 배포의 인스턴스에 대한 VM을 재생성 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
    --fix 응답 하지 않는 VM을 대체 X
    --skip-drain drain scripts를 건너 뛴다. X
    --canaries= 배포 명 지정 X
    --max-in-flight= Manifest의 max-in-flight 값을 덮어 쓴다. X
    --dry-run 배포를 변경 하지 않고 작업을 실행 한다. X
  • 사용 예시

      $ bosh -e vbox -d cf recreate
      $ bosh -e vbox -d cf recreate --fix
      $ bosh -e vbox -d cf recreate diego-cell
      $ bosh -e vbox -d cf recreate diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0
      $ bosh -e vbox -d cf recreate diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0 --skip-drain
      $ bosh -e vbox -d cf recreate diego-cell --canaries=0 --max-in-flight=100%
    

bosh restart

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] restart [group[/instance-id]] [--skip-drain] [--canaries=] [--max-in-flight=]
    
  • 설명

    디렉터가 지정한 배포의 인스턴스에 대한 VM을 재시작 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
    --skip-drain drain scripts를 건너 뛴다. X
    --canaries= 배포 명 지정 X
    --max-in-flight= Manifest의 max-in-flight 값을 덮어 쓴다. X
  • 사용 예시

      $ bosh -e my-env -d my-dep restart
    

bosh start

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] start [group[/instance-id]] [--canaries=] [--max-in-flight=]
    
  • 설명

    디렉터가 지정한 배포의 인스턴스에 대한 VM을 시작 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
    --canaries= 배포 명 지정 X
    --max-in-flight= Manifest의 max-in-flight 값을 덮어 쓴다. X
  • 사용 예시

      $ bosh -e my-env -d my-dep start
    

bosh stop

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] stop [group[/instance-id]] [--skip-drain] [--canaries=] [--max-in-flight=]
    
  • 설명

    디렉터가 지정한 배포의 인스턴스에 대한 VM을 시작 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
    --canaries= 배포 명 지정 X
    --max-in-flight= Manifest의 max-in-flight 값을 덮어 쓴다. X
    --skip-drain drain scripts를 건너 뛴다. X
    hard 강제로 VM 삭제, 영구 디스크는 유지 X
  • 사용 예시

      $ bosh -e my-env -d my-dep stop
    

bosh ignore

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] ignore group/instance-id
    
  • 설명

    bosh deploy와 같은 다른 명령의 영향을 받지 않도록 인스턴스를 무시

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
  • 사용 예시

      $ bosh -e my-env -d my-dep ignore cell
    

bosh unignore

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] unignore group/instance-id
    
  • 설명

    bosh deploy와 같은 다른 명령의 영향을받지 않도록 인스턴스를 무시하지 않는다

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
  • 사용 예시

      $ bosh -e my-env -d my-dep unignore cell
    

bosh logs

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] logs [group[/instance-id]] [--follow] [--num] [--gw-*] [--quiet]
    
  • 설명

    하나 이상의 인스턴스에서 로그를 다운로드

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group[/instance-id] 그룹 또는 그룹과 인스턴스 아이디 X
    --dir 로그의 디렉토리 지정 X
    --job 특정 Job의 로그 설정 X
    --only 로그 필터링 X
    --agent bosh agent 로그만 포함 X
    --follow Additional flags for following logs via SSH 로그를 실행 X
    --num Additional flags for following logs via SSH 마지막 행 수를 출력 X
    --gw Additional flags for following logs via SSH ssh 게이트웨이 구성 X
    --quiet Additional flags for following logs via SSH 헤더 출력 생략 X
  • 사용 예시

      $ bosh -e vbox -d cf logs diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0
      $ bosh -e vbox -d cf logs diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0 --job=rep --job=silkd
      $ bosh -e vbox -d cf logs -f
      $ bosh -e vbox -d cf logs -f --num=1000
    

BOSH CLI - VMs

bosh vms

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] vms [--vitals]
    
  • 설명

    Director 가 관리하는 또는 deployment 의 모든 vm 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    --vitals RAM CPU disk 와 같은 vm의 기본 정보 조회 X
  • 사용 예시

      $ bosh -e vbox vms
      $ bosh -e vbox -d cf vms
      $ bosh -e vbox -d cf vms --vitals
    

bosh delete-vms

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] delete-vm [cid]
    
  • 설명

    인스턴스의 Lifecycle을 거치지 않고 VM을 삭제

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    cid 인스턴스 아이디 지정 X
  • 사용 예시

      $ bosh -e vbox -d cf delete-vm i-fs384238fjwjf8
    

BOSH CLI - Disks

bosh disks

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] disks [--orphaned]
    
  • 설명

    Director가 관리하는 또는 deployment의 모든 disk 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    --orphaned 사용하지 않는 DISK를 나열 X
  • 사용 예시

      $ bosh -e vnps -d cf disks  
    

bosh attach-disk

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] attach-disk [group/instance-id] disk-cid
    
  • 설명

    인스턴스에 disk attach. 만약 attach된 disk 가 있다면 가장 최근 attach 된 disk를 replace한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    --orphaned 사용하지 않는 DISK를 나열 X
    group/instance-id 그룹 또는 그룹과 인스턴스 아이디 X
  • 사용 예시

      $ bosh -e vbox -d cf attach-disk postgres/209c42e5-3c1a-432a-8445-ab8d7c9f69b0 vol-shw8f293f2f2
    

bosh delete-disk

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] delete-disk [cid]
    
  • 설명

    사용하지 않는 disk 삭제

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    --cid 삭제 할 DISK 아이디 지정 X
  • 사용 예시

      $ bosh -e vbox -d cf delete-disk vol-shw8f293f2f2
    

BOSH CLI - SSH

bosh ssh

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] ssh [destination] [-r] [-c=cmd] [--opts=opts] [--gw-* ...]
    
  • 설명

    인스턴스 한개 또는 여러 개에 SSH설정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    -c 커맨드 라인 설정 X
    destination SSH 목적지 지정 그룹 또는 그룹과 인스턴스 아이디 X
    --opts ssh에 옵션을 전달 ex) 포트 포워딩 X
    --gw-* SSH 게이트웨이를 구성 X
    -r, --recursive directory의 반복 복사 허용 X
  • 사용 예시

      # execute command on all instances in a deployment
      $ bosh -e vbox -d cf ssh -c 'uptime'
    
      # execute command on one instance group
      $ bosh -e vbox -d cf ssh diego-cell -c 'uptime'
    
      # execute command on a single instance
      $ bosh -e vbox -d cf ssh diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0 -c 'uptime'
    
      # execute command with passwordless sudo
      $ bosh -e vbox -d cf ssh diego-cell -c 'sudo lsof -i|grep LISTEN'
    
      # present output in a table by instance
      $ bosh -e vbox -d cf ssh -c 'uptime' -r
    
      # port forward UAA port locally
      $ bosh -e vbox -d cf ssh uaa/0 --opts ' -L 8080:localhost:8080'
    

bosh scp

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] scp src/dst:[file] src/dst:[file] [-r] [--gw-* ...]
    
  • 설명

    인스턴스로 또는 인스턴스로 부터 SCP (to/from)설정

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    src/dst: 복사 받을 script.sh file 경로 O
    src/dst: 복사 될 script.sh file 경로 O
    -r, --recursive directory의 반복 복사 허용 X
    --gw-* SCP gateway설정 X
  • 사용 예시

      # copy file from this machine to machines a deployment
      $ bosh -e vbox -d cf scp ~/Downloads/script.sh :/tmp/script.sh
      $ bosh -e vbox -d cf scp ~/Downloads/script.sh diego-cell:/tmp/script.sh
      $ bosh -e vbox -d cf scp ~/Downloads/script.sh diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0:/tmp/script.sh
      $ bosh -e vbox -d cf scp ~/Downloads/script.ps1 windows_diego_cell:c:/temp/script/script.ps1
    
      # copy file from remote machines in a deployment to this machine
      $ bosh -e vbox -d cf scp :/tmp/script.sh ~/Downloads/script.sh
      $ bosh -e vbox -d cf scp diego-cell:/tmp/script.sh ~/Downloads/script.sh
      $ bosh -e vbox -d cf scp diego-cell/209c42e5-3c1a-432a-8445-ab8d7c9f69b0:/tmp/script.sh ~/Downloads/script.sh
      $ bosh -e vbox -d cf scp windows_diego_cell:c:/temp/script/script.ps1:~/Downloads/script.ps1
    
      # copy files from each instance into instance specific local directory
      $ bosh -e vbox -d cf scp diego-cell:/tmp/logs/ /tmp/logs/((instance_id))
    

BOSH CLI - Errands

bosh errands

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] errands (Alias:es)
    
  • 설명

    deployment로 정의 된 모든 errand 목록 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
  • 사용 예시

      $ bosh -e vbox -d cf es
      Using environment '192.168.56.6' as '?'
    
      Using deployment 'cf'
    
      Name
      smoke-tests
    
      1 errands
    
      Succeeded
    

bosh run-errand

  • 기본 Syntax

      $ bosh -e <my-env> -d <my-dep> run-errand <name> [--keep-alive] [--when-changed] [--download-logs] [--logs-dir=<dir>] [--instance=<instance-group/instance-id>]
    
  • 설명

    errand job 을 name 단위로 실행

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    name 실행 할 errand 이름 O
    --keep-alive errand가 실행 되는 곳에서 VM 유지 X
    --when-changed errand가 skip 설정: 이전에 이미 실행하였고 (성공적으로 마침) errand job 설정값이 바뀌지 않았을 경우 X
    --download-logs errand log를 통채로 --logs-dir에 명시된 경로에 저장 X
    --logs-dir= errand log를 저장 할 파일 경로 X
    instance=<instance-group/instance-id> (v2.0.31+) errand를 실행하기위해 어떤 인스턴스를 사용할지 결정 X
  • 사용 예시

      $ bosh -e vbox -d cf run-errand smoke-tests
      $ bosh -e vbox -d cf run-errand smoke-tests --keep-alive
      $ bosh -e vbox -d cf run-errand smoke-tests --when-changed
    
      # execute errand on all instances that have colocated status errand
      $ bosh -e vbox -d zookeeper run-errand status
    
      # execute errand on one instance
      $ bosh -e vbox -d zookeeper run-errand status --instance zookeeper/3e977542-d53e-4630-bc40-72011f853cb5
    
      # execute errand on one instance within an instance group
      # (note that select instance may not necessarily be first based on its index)
      $ bosh -e vbox -d zookeeper run-errand status --instance zookeeper/first
    
      # execute errand on all instance in an instance group
      $ bosh -e vbox -d zookeeper run-errand status --instance zookeeper
    
      # execute errand on two instances
      $ bosh -e vbox -d zookeeper run-errand status \
      	--instance zookeeper/671d5b1d-0310-4735-8f58-182fdad0e8bc \
      	--instance zookeeper/3e977542-d53e-4630-bc40-72011f853cb5
    

BOSH CLI - Tasks

bosh tasks

  • 기본 Syntax

      $ bosh -e [my-env] tasks [--recent[=num]] [--all] (Alias: ts)
    
  • 설명

    활성 및 이전에 실행 한 작업에 대한 task를 출력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    --recent 최근 순 4개 task 조회 X
    num 최근 순 조회하고 싶은 task 숫자 X
    --all active tasks 모두 조회 X
    -d, -deployment deployment 단위로 필터링 해서 조회 X
  • 사용 예시

      # currently active tasks
      $ bosh -e vbox ts
    
      # currently active tasks for my-dep deployment
      $ bosh -e vbox -d my-dep ts
      Using environment '192.168.56.6' as '?'
    
      #   State  Started At                    Last Activity At              User   Deployment   Description                   Result
    
      27  done   Thu Feb 16 19:16:15 UTC 2017  Thu Feb 16 19:20:33 UTC 2017  admin  cockroachdb  create deployment             /deployments/cockroachdb
      26  done   Thu Feb 16 18:54:32 UTC 2017  Thu Feb 16 18:55:27 UTC 2017  admin  cockroachdb  delete deployment cockroachd  /deployments/cockroachdb
      ...
    
      110 tasks
    
      Succeeded
    
      # show last 30 tasks
      $ bosh -e vbox ts -r --all
    
      # show last 1000 tasks
      $ bosh -e vbox ts -r=1000
    

bosh task

  • 기본 Syntax

      $ bosh -e [my-env] task [id] [--debug] [--result] [--event] [--cpi] (Alias: t)
    
  • 설명

    task 아이디를 기준으로 상세 조회.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    id task 아이디 O
    --debug Debug 로그 출력 X
    --result Result 로그 출력 X
    --event Event 로그 출력 X
    --cpi CPI 로그 출력 X
  • 사용 예시

      $ bosh -e vbox t 281
      $ bosh -e vbox t 281 --debug
    

bosh cancle-task

  • 기본 Syntax

      $ bosh -e [my-env] cancel-task [id] (Alias: ct)
    
  • 설명

    task 취소. 다음 checkpoint 에서 task를 취소 한다. task가 취소될 때까지 대기하지 않는다

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    id task 아이디 O

BOSH CLI - Snapshot

bosh snapshots

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] snapshots
    
  • 설명

    deployment의 스냅샷 목록을 출력 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
  • 사용 예시

      $ bosh -e my-env -d my-dep snapshots
    

bosh take-snapshot

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] take-snapshot [group/instance-id]
    
  • 설명

    특정 인스턴스 또는 deployment에 대한 스냅샷을 생성 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    group/instance-id 그룹 또는 그룹과 인스턴스 아이디 X
  • 사용 예시

      $ bosh -e my-env -d my-dep take-snapshot cell
    

bosh delete-snapshot

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] delete-snapshot [cid]
    
  • 설명

    특정 스냅샷을 삭제 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    cid 스냅샷 아이디 지정 O
  • 사용 예시

      $ bosh -e my-env -d my-dep delete-snapshot 1acsda-ccas
    

bosh delete-snapshots

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] delete-snapshots
    
  • 설명

    스냅샷을 전체 삭제 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
  • 사용 예시

      $ bosh -e my-env -d my-dep delete-snapshots
    

BOSH CLI - Deployment recovery

bosh update-resurrection

  • 기본 Syntax

      $ bosh -e [my-env] update-resurrection [on/off]
    
  • 설명

    디렉터가 지정한 환경에 대해 recovery를 활성/비활성화

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    on/off 활성/비활성화 O
  • 사용 예시

      $ bosh -e my-env update-resurrection on
    

bosh cloud-check

  • 기본 Syntax

      $ bosh -e [my-env] -d [my-dep] cloud-check [--report] [--auto] (Alias: cck)
    
  • 설명

    리소스에 대해 일관적인 검사를 하고 대화 형 복구를 허용 한다.

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    my-dep 배포 명 지정 O
    --report Report 생성 X
    --auto 자동으로 Problem해결 X
  • 사용 예시

      $ bosh -e vbox -d cf cloud-check --report --auto
    

bosh locks

  • 기본 Syntax

      $ bosh -e [my-env] locks
    
  • 설명

    최근 lock 목록 조회

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
  • 사용 예시

      $ bosh -e my-env locks
    

BOSH CLI - Misc

bosh clean-up

  • 기본 Syntax

      $ bosh -e [my-env] clean-up [--all]
    
  • 설명

    releases, stemcells, orphaned disks 그리고 사용되지 않는 다른 리소스를 clean up 한다

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    my-env 지정 한 Director 환경 이름 명칭 O
    --all orphaned disks에 강제 clean up적용 X
  • 사용 예시

      $ bosh -e my-env clean-up --all
    

bosh help

  • 기본 Syntax

      $ bosh help
    
  • 설명

    사용 가능한 모든 명령어와 global option 목록 조회 각각의 command에 대해서는 -h 사용

  • 파라미터

      없음
    
  • 사용 예시

      $ bosh help
    
      $ bosh upload-release -h
    

bosh interpolate

  • 기본 Syntax

      $ bosh interpolate manifest.yml [-v ...] [-o ...] [--vars-store path] [--path op-path] (Alias: int)
    
  • 설명

    결과 값 이 sudout로 넘겨지는 Manifest.yml에 추가적으로 merge할 yml 파일이나 설정 값을 입력

  • 파라미터

    파라미터 명 설명 필수**(O/X)**
    -v 수정/입력 하는 variable list X
    -o 수정/입력 하는 operation file list X
    --vars-store path 디렉터 접근 아이디 Key 및 각 JOB 패스워드 등이 존재하는 설정 파일 생성 위치 X
    --path op-path Manifest의 해당 값 출력 X
  • 사용 예시

      $ bosh int bosh-deployment/bosh.yml \
      	--vars-store ./creds.yml \
      	-o bosh-deployment/virtualbox/cpi.yml \
      	-o bosh-deployment/virtualbox/outbound-network.yml \
      	-o bosh-deployment/bosh-lite.yml \
      	-o bosh-deployment/jumpbox-user.yml \
      	-v director_name=vbox \
      	-v internal_ip=192.168.56.6 \
      	-v internal_gw=192.168.56.1 \
      	-v internal_cidr=192.168.56.0/24 \
      	-v network_name=vboxnet0 \
      	-v outbound_network_name=NatNetwork
    
      $ bosh int creds.yml --path /admin_password
      skh32i7rdfji4387hg
    
      $ bosh int creds.yml --path /director_ssl/ca
      -----BEGIN CERTIFICATE-----