サービスCLIの使用

ドキュメントのサービスCLIと呼ばれるPrivate Cloud Applianceサービス・エンクレーブへのコマンドライン・インタフェースは、管理ノードのOracle Linuxシェルから入手できます。追加のインストールや構成は必要ありません。

CLIでは、サービスWeb UIのすべての機能、およびUIに相当しないいくつかの追加操作にアクセスできます。このトピックでは、サービス CLIを使用するための一般的なガイドラインについて説明します。実際のコマンドとその機能は、手順を追った手順の一部として、ドキュメントの管理者領域全体にドキュメント化されています。

ノート

CLIでは、7ビットのASCII表の文字、数字、およびその他の文字のみを使用できます。すべてのフィールドが有効なわけではありませんが、A-Z、a-zおよび0-9は通常受け入れられます。CLIは、アクセント付き文字または UTFテーブルの文字を無視します。証明書またはその他のソースで提供される値をスクリーニングするには、特別な注意が必要です。

CLIへのアクセス

サービス CLIにアクセスするには、管理ノード上のTCPポート30006へのSSH接続を確立し、承認された管理者としてログインします。

  • 管理クラスタのプライマリ・ノードに接続します(推奨)。

    $ ssh admin@admin.pca_hostname.example.com -p 30006
    Password authentication
    PCA-ADMIN>
  • 特定の管理ノードに接続します。

    $ ssh admin@pcamn02 -p 30006
    Password authentication
    PCA-ADMIN>

認証に成功すると、対話型の閉じたシェル環境で、PCA-ADMIN>プロンプトでコマンドを入力して管理操作を実行します。

CLIセッションを終了するには、exitコマンドを入力します。

コマンド構文

一般に、サービス CLIに入力されたコマンドの構文は次のとおりです。

PCA-ADMIN> command objectType <attributes> [options]

ここで:

  • commandは、開始するコマンド・タイプです(例: listまたはcreate)。

  • objectTypeは、コマンドの影響を受けるターゲット・コンポーネントまたはプロセスです(例: list ComputeNodeまたはcreate Tenant)。

  • attributesは、コマンドを適用する必要がある選択したタイプの特定のオブジェクトを識別するために使用されるプロパティです(例: show ManagementNode name=pcamn02)。

  • optionsは、コマンドの動作に影響を与える追加のパラメータです。

    たとえば、listコマンドにソートおよびフィルタリング・オプションを追加し、表示するデータ列(フィールド)をlist RackUnit fields ipAddress,name,rackElevation,serialNumber,firmwareVersion where state eq runningとして選択できます。

コマンドの主な要素はスペースで区切られます。属性はtype=valueとして指定されます。リストは、カンマ区切りの一連の値(fields ipAddress,name,rackElevation,serialNumber,firmwareVersionなど)として入力されます。

ヘルプとコマンド補完

サービスCLIには、helpコマンドが含まれています。最も一般的なタイプのコマンドの使用方法を示します。これは、CLIの基本を理解するのに役立ちます。

PCA-ADMIN> help
For Most Object Types:
    create <objectType> [(attribute1)="value1"] ... [on <objectType> <instance>]
    delete <objectType> <instance>
    edit <objectType> <instance>  (attribute1)="value1" ...
    list <objectType> [fields (attribute1,attribute2)]where [(filterableAttribute1)  \
         <filterComparator> "value1" [AND|OR] [(filterableAttribute2) <filterComparator> "value2"
    show <objectType> <instance>
For Most Object Types with Children:
    add <objectType> <instance> to <objectType> <instance>
    remove <objectType> <instance> from <objectType> <instance>
Other Commands:
    exit
    showallcustomcmds
    showcustomcmds <objectType>
    showobjtypes

使用可能なコマンドおよびオブジェクト型を学習する最も簡単な方法は、疑問符("?")を使用することです。サインイン後、ベース・コマンドのセットを表示するには、CLIプロンプトで"?"を入力します。

PCA-ADMIN> ?
           add
           clear
           count
           create
           delete
           edit
           [...]

コマンド、オブジェクト・タイプおよびその他の要素にドリルダウンするには、"?"を追加して、そのカーソル位置で使用可能なパラメータを表示します。

ノート

疑問符の位置を確認します。これはコマンドからスペースで区切られます。領域を省略すると、CLIは、コマンドののパラメータではなく、そのコマンドのレベルで許可されるパラメータを表示します。

たとえば、どのオブジェクト・タイプをリストできるかを確認する場合は、list ?と入力して[Enter]を押します。

次に、まだプロビジョニングされていないコンピュート・ノードを検索するとします。これを実現するために、プロビジョニング状態によってフィルタされたコンピュート・ノードのリストを表示できます。"?"を使用すると、次に示すようにコマンド・パラメータ間を移動できます。

"?"と入力するたびに、カーソル位置で使用できるパラメータがCLIに表示されます。上矢印キーを押して、プロンプトですでに入力したコマンドの一部を戻し、コマンドの次の部分を追加し、"?"を再度入力して次のパラメータ・セットを表示します。

コマンドが完了したら、Enterキーを押します。

PCA-ADMIN> list ?
                AuthorizationGroup
                ComputeNode
                Event
                Fault
                [...]
PCA-ADMIN> list ComputeNode ?
                            fields
                            limit
                            orderby
                            where
PCA-ADMIN> list ComputeNode where ?
                                  id
                                  provisioningState
                                  provisioningStateLastChangedTime
                                  provisioningType
                                  faultDomain
                                  [...]
PCA-ADMIN> list ComputeNode where provisioningState ?
                                                    EQ
                                                    NE
                                                    LIKE
                                                    [...]
PCA-ADMIN> list ComputeNode where provisioningState EQ ?
                                                       READYTOPROVISION
                                                       PROVISIONED
PCA-ADMIN> list ComputeNode where provisioningState EQ READYTOPROVISION
Command: list ComputeNode where provisioningState EQ READYTOPROVISION
Status: Success
Time: 2021-06-25 14:04:16,837 UTC
Data:
  id                                     name       provisioningState
  --                                     ----       -----------------  
  bb940637-9825-4f7c-a5f4-1b49bcf6a5c9   pcacn005   Ready To Provision
  76df44a9-6980-4242-a3a2-e1614b3d44d1   pcacn008   Ready To Provision
  8fc0d06f-c64a-40ea-8a20-89680f03eb5e   pcacn011   Ready To Provision

サービス CLIには、タブ補完の形式もあります。コマンドを入力してTabキーを押すと、CLIは予測可能なパーツを自動補完します。複数の値が残っている場合は、少なくとも1つの文字を追加して[Tab]キーを再度押す必要があります。次の例は、CLIがタブ補完を実行する方法を示しています。

  • 可能な一致が1つあるタブの完了

    PCA-ADMIN> list Com<Tab>
    PCA-ADMIN> list ComputeNode
  • 複数の一致が可能なタブの完了

    PCA-ADMIN> list Ra<Tab>
    PCA-ADMIN> list Rack
    
    PCA-ADMIN> list RackU<Tab>
    PCA-ADMIN> list RackUnit

基本コマンドとカスタムコマンド

helpコマンドを入力するか、PCA-ADMIN>プロンプトで疑問符("?")を入力すると、CLIはベース・コマンドに関する情報(createeditaddremovedeletelistshowなど)を返します。ただし、あまり使用されないカスタム・コマンドのもう1つのセットがあります。すべてを単一のリストとして表示することも、特定のオブジェクト・タイプで使用可能なリストとして表示することもできます。"?"を使用して、コマンドをナビゲートできます。

PCA-ADMIN> showallcustomcmds
Operation Name: <Related Object(s)>
    -----------------------------------
    asrClientDisable:  ASRPhonehome
    asrClientEnable:  ASRPhonehome
    asrClientRegister:  ASRPhonehome
    [...]
    changeIlomPassword:  ComputeNode, ManagementNode
    changePassword:  ComputeNode, LeafSwitch, ManagementNode, ManagementSwitch, SpineSwitch, User, ZFSAppliance
    clearFirstBootError:  NetworkConfig
    configZFSAdDomain:  ZfsAdDomain
    configZFSAdWorkgroup:  ZfsAdDomain
    createAdminAccount:  
    createUserInGroup:  User
    deletePlatformImage:  PlatformImage
    deprovision:  ComputeNode
    disableVmHighAvailability:  PcaSystem
    drAddComputeInstance:  ComputeInstance
    drAddSiteMapping:  DrSiteMapping
    drConfigCleanupPrimary:  DrConfig
    [...]
    maintenanceLock:  ComputeNode
    maintenanceUnlock:  ComputeNode
    migrateVm:  ComputeNode
    patchCN:  PatchRequest
    patchEtcd:  PatchRequest
    patchHost:  PatchRequest
    patchIlom:  PatchRequest
    patchKubernetes:  PatchRequest
    patchMySQL:  PatchRequest
    patchOCIImages:  PatchRequest
    patchPlatform:  PatchRequest
    patchSwitch:  PatchRequest
    patchVault:  PatchRequest
    patchZfssa:  PatchRequest
    [...]
    start:  CnUpdateManager, ComputeNode, Day0NetworkConfigManager, FaultManager, PurgeManager, ZfsPoolManager
    stop:  CnUpdateManager, ComputeNode, Day0NetworkConfigManager, FaultManager, PurgeManager, ZfsPoolManager
    syncHardwareData:  
    syncUpstreamUlnMirror:  PatchRequest
    systemStateLock:  PcaSystem
    systemStateUnlock:  PcaSystem
    updateSauronCredentials:  
    upgradeCN:  UpgradeRequest
    upgradeEtcd:  UpgradeRequest
    upgradeFullMN:  UpgradeRequest
    upgradeHost:  UpgradeRequest
    upgradeIlom:  UpgradeRequest
    upgradeKubernetes:  UpgradeRequest
    upgradeMySQL:  UpgradeRequest
    upgradePlatform:  UpgradeRequest
    upgradePreConfig:  UpgradeRequest
    upgradeSwitch:  UpgradeRequest
    upgradeVault:  UpgradeRequest
    upgradeZfssa:  UpgradeRequest
PCA-ADMIN> showcustomcmds ?
    ASRBundle
    ASRPhonehome
    BackupJob
    CnUpdateManager
    ComputeInstance
    ComputeNode
    Day0NetworkConfigManager
    DrConfig
    DrJob
    DrSiteMapping
    Event
    ExadataNetwork
    FaultDomainInfo
    FaultManager
    Job
    LeafSwitch
    ManagementNode
    ManagementSwitch
    NetworkConfig
    PatchRequest
    PcaSystem
    PlatformImage
    PurgeManager
    SpineSwitch
    UpgradeJob
    UpgradeJobList
    UpgradeRequest
    User
    Vcn
    ZfsAdDomain
    ZFSAppliance
    ZfsPoolManager
PCA-ADMIN> showcustomcmds ComputeNode
    provisioningLock
    provisioningUnlock
    maintenanceLock
    maintenanceUnlock
    provision
    deprovision
    migrateVm
    reset
    start
    stop
    changePassword
    changeIlomPassword
    getRunningInstances
    getRunningInstancesCount