Uso de la CLI del servicio

La interfaz de línea de comandos para el Enclave de servicio de Private Cloud Appliance, a la que nos referimos como la CLI de servicio en la documentación, está disponible mediante el shell de Oracle Linux en los nodos de gestión. No se requiere ninguna instalación ni configuración adicionales.

La CLI proporciona acceso a todas las funciones de la interfaz de usuario web de servicio y a varias operaciones adicionales que no tienen un equivalente de interfaz de usuario. En este tema, se proporcionan directrices generales para el uso de la CLI de servicio. Los comandos reales y sus funciones se documentan en todo el área de administrador de la documentación, como parte de las instrucciones paso a paso.

Nota

La CLI solo acepta caracteres de la tabla ASCII de 7 bits de letras, números y otros caracteres. No todos son válidos para todos los campos, pero A-Z, a-z y 0-9 generalmente se aceptan. La CLI ignora los caracteres acentuados o los de la tabla UTF. Se necesita especial cuidado para examinar los valores proporcionados en los certificados u otras fuentes.

Acceso a la CLI

Para acceder a la CLI del servicio, establezca una conexión SSH al puerto TCP 30006 en un nodo de gestión e inicie sesión como administrador autorizado.

  • Conéctese al nodo primario en el cluster de gestión (preferido):

    $ ssh admin@admin.pca_hostname.example.com -p 30006
    Password authentication
    PCA-ADMIN>
  • Conéctese a un nodo de gestión específico:

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

Después de la autenticación correcta, se encuentra en un entorno de shell cerrado e interactivo donde puede realizar operaciones administrativas introduciendo comandos en el indicador PCA-ADMIN>.

Para terminar la sesión de la CLI, introduzca el comando exit.

Sintaxis de Comandos

En general, los comandos introducidos en la CLI de servicio tienen la siguiente sintaxis:

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

donde:

  • command es el tipo de comando que se debe iniciar, por ejemplo: list o create.

  • objectType es el componente o proceso de destino afectado por el comando, por ejemplo: list ComputeNode o create Tenant.

  • attributes son propiedades que se utilizan para identificar un objeto específico del tipo seleccionado al que se debe aplicar el comando, por ejemplo: show ManagementNode name=pcamn02.

  • options son parámetros adicionales que se pueden proporcionar para afectar el comportamiento del comando.

    Por ejemplo, puede agregar opciones de ordenación y filtrado al comando list y seleccionar qué columnas de datos (campos) mostrar: list RackUnit fields ipAddress,name,rackElevation,serialNumber,firmwareVersion where state eq running.

Los elementos principales de un comando están separados por un espacio. Los atributos se especifican como "type=value". Las listas se introducen como una serie de valores separados por comas (como fields ipAddress,name,rackElevation,serialNumber,firmwareVersion).

Ayuda y finalización de comandos

La CLI de servicio incluye un comando help. Muestra cómo se utilizan los tipos de comandos más comunes, lo que le ayuda a familiarizarse con los conceptos básicos de la 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

La forma más sencilla de saber qué comandos y tipos de objetos están disponibles es utilizar el signo de interrogación ("?"). Después de iniciar sesión, introduzca "?" en el símbolo del sistema de la CLI para mostrar el juego de comandos base.

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

Puede aumentar detalle de los comandos, los tipos de objeto y otros elementos agregando "?" para ver los parámetros disponibles en esa posición del cursor.

Nota

Mente la posición del signo de interrogación: está separado del comando por un espacio. Si omite el espacio, la CLI muestra los parámetros permitidos en el nivel de ese comando, en lugar de los parámetros que pueden seguir después del comando.

Por ejemplo, si desea ver qué tipos de objetos puede mostrar, escriba list ? y pulse Intro.

A continuación, suponga que desea buscar nodos de cálculo que aún no se han aprovisionado. Para ello, puede mostrar una lista de nodos de cálculo filtrados por su estado de aprovisionamiento. "?" permite navegar por los parámetros del comando, como se muestra a continuación.

Cada vez que escribe "?", la CLI muestra los parámetros que puede utilizar en la posición del cursor. Pulse la tecla de flecha arriba para recuperar la parte del comando que ya escribió en el indicador, agregue la siguiente parte del comando y vuelva a escribir "?" para mostrar el siguiente juego de parámetros.

Cuando termine el comando, pulse Intro.

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

La CLI de servicio también proporciona una forma de completar fichas. Cuando comienza a escribir un comando y pulsa la tecla de tabulación, la CLI completa automáticamente la parte que puede predecir. Si queda más de un valor posible, debe agregar al menos una letra más y volver a pulsar la tecla Tab. En los siguientes ejemplos, se muestra cómo la CLI realiza la finalización de fichas.

  • Finalización de separadores con una posible coincidencia

    PCA-ADMIN> list Com<Tab>
    PCA-ADMIN> list ComputeNode
  • Finalización de tabulación con más de una coincidencia posible

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

Comandos base y personalizados

Al introducir el comando help o escribir el signo de interrogación ("?") en el símbolo del sistema PCA-ADMIN>, la CLI devuelve información sobre sus comandos base, como create, edit, add, remove, delete, list, show, etc. Sin embargo, hay otro conjunto de comandos personalizados menos utilizados. Puede mostrarlos todos como una sola lista o solo los disponibles para un tipo de objeto concreto. Puede utilizar "?" para navegar por los comandos.

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