VMC Command Line
本節將主要的VMC命名按功能分類加以分組并提供典型用法。在樣例中,以顯示的文本表示變量,其值根據你的環境指定。
運行vmc help可以查看完整的VMC命令列表,以及支持的參數和簡要說明。
獲得最新版本的VMC
vmc作為Ruby gem提供,會進行持續更新,包括提供新的命令或現有命令新的選項。所以,需要執行以下命令獲取最新版本的vmc:
prompt$ gem update vmc
減少在非交互模式的運行提示
默認情況下,vmc以交互模式運行,許多命令的執行會根據特定選項的值產生多種提示,要在非交互模式使用vmc,并只提供命令自身的選項,可以使用以下語句:
prompt$ vmc *command* -n --options
例如,部署應用程序并為所有提示使用默認值:
prompt$ vmc push -n
在命令行顯示所有可用作參數的命令和選項:
prompt$ vmc help options
定位Cloud Foundry
在云上定位Cloud Foundry:
prompt$ vmc target api.cloudfoundry.com
定位運行在本地虛擬機上的獨立的Micro Cloud Foundry:
prompt$ vmc target api..cloudfoundry.com
注:domain是初始安裝Micro Cloud Foundry時所指定的值。
顯示當前定位的URL:
prompt$ vmc target
顯示已知的定位目標和相關授權令牌:
prompt$ vmc targets
登錄和管理賬戶
在Cloud Foundry使用賬戶信息進行身份識別:
prompt$ vmc login --passwd
修改密碼:
prompt$ vmcpasswd
注銷當前會話:
prompt$ vmc logout
獲取你的Cloud Foundry賬戶信息,所使用的VMC版本,以及已經消費的全部資源:
prompt$ vmc info
(僅適用Micro Cloud Foundry)注冊新用戶,需要管理員權限:
prompt$ vmc add-user --email --passwd
(僅適用Micro Cloud Foundry)刪除注冊用戶,以及與該用戶相關的全部應用程序和服務實例,需要管理員權限:
prompt$ vmc delete-user
部署應用程序
從包含應用程序文件(例如myapp.war或myapp.rb)的目錄執行命令進行部署應用程序,這是交互式的部署方式,VMC命令會提示輸入一些信息,例如應用程序名稱、部署URL、程序框架、內存分配和需要綁定的服務實例。然后,命令會將應用程序部署到與當前會話關聯的目標位置,展示并立即啟動。
prompt$ vmc push
可以指定以下一個或全部選項傳遞部署參數的值;如果沒有指定選項,vmc push將進行交互式提示:
prompt$ vmc push --path --url --instances --mem --no-start
appname代表應用程序的內部命名
directory代表含有應用程序的絕對或相
其中:
對本地目錄名稱。請注意,目錄中的所有文件將會被vmcpush命令推送,因此請確保目錄中只有希望被部署的文件
deploymentURL代表之后將在瀏覽器中調用應用程序的URL;默認是.cloudfoundry.com
instance-number代表應用程序啟動的實例數量,默認是1
MB代表應用程序需要保留的內存上限,單位是MB,默認是512MB
–no-start指定不希望CloudFoundry啟動應用程序,默認是自動啟動
即使指定了上述全部選項,vmc push命令仍將提示輸入運行信息和相關的服務實例信息。
例如:
prompt$ vmc push hello --path /usr/bob/sample-apps/hello --url hello-bob.cloudfoundry.com --instances 2 --mem 64 --no-start
更新部署
在當前目錄更新部署的應用程序:
prompt$ vmc update
注:確保是指定應用程序名稱(vmc apps輸出的第一列),而不是部署的URL。
上述命令會立即中斷當前連接到部署的應用程序的用戶會話。
更新現有部署的保留內存(單位是MB),應用程序將自動重新啟動:
prompt$ vmcmem
注:使用vmc stats 可以查看應用程序當前的保留內存,以及當前所使用的內存。
為現有的部署應用程序注冊新的部署URL,命令將在現有已注冊的URL列表中增加URL:
prompt$ vmc map
注:使用vmc apps查看所部署應用程序當前注冊的URL列表。
為部署的應用程序注銷URL:
prompt$ vmcunmap
修改當前部署的實例數量以調整應用程序規模(擴展和收縮):
prompt$ vmc instances
注:使用vmc apps查看所部署應用程序的實例數量。
管理部署生命周期(啟動、停止、刪除)
停止當前運行的部署:
prompt$ vmc stop
注:確保是指定應用程序名稱(vmc apps輸出的第一列),而不是部署的URL。
啟動當前停止的部署:
prompt$ vmc start
重新啟動當前運行的部署:
prompt$ vmc restart
刪除應用程序:
prompt$ vmc delete
重命名應用程序:
prompt$ vmc rename
管理和綁定服務
顯示支持的服務類型和已經供應實例的服務:
prompt$ vmc services
注:上述命令的輸出會分為兩個表格:第一個表格顯示應用程序可用的服務類型,第二個表格顯示已經創建實例的服務(使用vmc create-service命令),稱之為provisioned services。使用vmc apps命令可以確定哪些服務實例當前被綁定到所部署的應用程序。
創建服務類型的新實例并分配一個名稱:
prompt$ vmc create-service
注:使用vmc services查看能夠創建實例的可用服務類型列表,使用第一個表格中第一列所顯示的服務類型名稱。
創建服務類型的新實例,分配一個名稱,并立即綁定到所部署的應用程序:
prompt$ vmc create-service
將服務實例綁定到所部署的應用程序,前提是已經使用vmc push部署了應用程序:
prompt$ vmc bind-service
注:使用vmc services查看服務實例的名稱(第二個表格的第一列)。
移除服務實例與應用程序的綁定:
prompt$ vmc unbind-service
刪除服務實例:
prompt$ vmc delete-service
使用vmc push在部署應用程序同時綁定現有的服務實例,在兩次提示中輸入y,然后從所提供的列表中指定服務實例的數量。例如(vmc push命令顯示的相關輸出和提示):
prompt$ vmc push
...
Would you like to bind any services to 'pizza-juliet'? [yN]: y
Would you like to use an existing provisioned service [yN]? y
The following provisioned services are available:
1. Insight-19ff7b1
2. mysql-juliet
Please select one you wish to provision: 2
Binding Service: OK
Uploading Application:
...
Starting Application: OK
在部署應用程序同時創建新的服務實例,然后將新的服務實例綁定到應用程序,需要指定新服務實例的提示和信息,例如(vmc push命令顯示的相關輸出和提示):
prompt$ vmc push
...
Would you like to bind any services to 'pizza-juliet'? [yN]: y
Would you like to use an existing provisioned service [yN]? n
The following system services are available:
1. mongodb
2. mysql
3. postgresql
4. rabbitmq
5. redis
Please select one you wish to provision: 2
Specify the name of the service [mysql-ab63]: mysql-new
Creating Service: OK
Binding Service: OK
Uploading Application:
...
Starting Application: OK
獲得CloudFoundry的目標信息
顯示所支持的程序語言:
prompt$ vmc runtimes
顯示所支持的程序框架:
prompt$ vmc frameworks
顯示所支持的服務類型(例如MySQL和RabbitMQ),以及已經創建的這些服務類型的實例:
prompt$ vmc services
注:上述命令的輸出分為兩個表格:第一個表格顯示應用程序可用的服務類型,第二個表格顯示已經創建實例的服務(使用vmc create-service命令)。使用vmc apps命令可以確定哪些服務實例當前被綁定到所部署的應用程序。
獲得應用程序信息
顯示當前你的賬戶所部署的應用程序列表,以及實例、健康情況和相關的服務實例:
prompt$ vmc apps
顯示應用程序標準的輸出日志記錄:
prompt$ vmc logs
注:確保是指定應用程序名稱(vmc apps輸出的第一列),而不是部署的URL。
顯示指定應用程序最近的崩潰情況:
prompt$ vmc crashes
顯示應用程序的致命錯誤:
prompt$ vmccrashlogs
顯示所部署應用程序的每個實例的資源信息(例如內核使用、內存、磁盤空間和運行時間):
prompt$ vmc stats
列出應用程序的環境變量:
prompt$ vmcenv
為應用程序增加環境變量:
prompt$ vmcenv-add
刪除之前為應用程序增加的環境變量:
prompt$ vmcenv-del
不減少用戶流量的情況下更新應用程序
通常,利用Cloud Foundry開發和測試應用程序,vmc update能夠很好滿足要求。
不過,當應用程序處于“運行中”時,類似我們自己的www網站,需要按照以下步驟在更新應用程序時避免用戶請求的減少。
我們使用新應用程序的概念,并將使用原始應用程序的URL地址。
以下是如何在不停止服務的情況下更新應用程序:
注:‘vmc update’將減少流量
vmc push [app]NEW(綁定任何共享服務,例如數據庫、緩存等等)
TEST [app]NEW.cloudfoundry.com
vmc map [app]NEW [app].cloudfoundry.com
TEST [app].cloudfoundry.com多次,將在新舊應用程序之間循環
vmcunmap [app]OLD [app].cloudfoundry.com # 不會減少流量,只是結束全部新的流量
TEST
vmc delete [app]OLD
總結
以上是生活随笔為你收集整理的VMC Command Line的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Setting Gdb on Windo
- 下一篇: jquery 获取Input 值