Utilisation de la CLI de service
L'interface de ligne de commande de l'enclave de service Private Cloud Appliance, que nous appelons l'interface de ligne de commande de service dans la documentation, est disponible via le shell Oracle Linux sur les noeuds de gestion. Aucune installation ou configuration supplémentaire n'est requise.
L'interface de ligne de commande permet d'accéder à toutes les fonctionnalités de l'interface utilisateur Web de service et à plusieurs opérations supplémentaires qui n'ont pas d'équivalent d'interface utilisateur. Cette rubrique fournit des instructions générales sur l'utilisation de la CLI de service. Les commandes réelles et leurs fonctions sont documentées tout au long de la zone d'administration de la documentation, dans le cadre des instructions détaillées.
La CLI accepte uniquement les caractères de la table ASCII 7 bits contenant des lettres, des chiffres et d'autres caractères. Tous les champs ne sont pas valides, mais A-Z, a-z et 0-9 sont généralement acceptés. L'interface de ligne de commande ignore les caractères accentués ou ceux de la table UTF. Une attention particulière est nécessaire pour filtrer les valeurs fournies dans les certificats ou d'autres sources.
Accès à la CLI
Pour accéder à la CLI de service, établissez une connexion SSH au port TCP 30006 sur un noeud de gestion et connectez-vous en tant qu'administrateur autorisé.
-
Connectez-vous au noeud principal du cluster de gestion (de préférence) :
$ ssh admin@admin.pca_hostname.example.com -p 30006 Password authentication PCA-ADMIN> -
Connectez-vous à un noeud de gestion spécifique :
$ ssh admin@pcamn02 -p 30006 Password authentication PCA-ADMIN>
Une fois l'authentification réussie, vous êtes dans un environnement shell interactif fermé où vous effectuez des opérations d'administration en saisissant des commandes à l'invite PCA-ADMIN>.
Pour mettre fin à la session d'interface de ligne de commande, entrez la commande exit.
Syntaxe des commandes
En général, les commandes saisies dans la CLI de service ont la syntaxe suivante :
PCA-ADMIN> command objectType <attributes> [options]
où :
-
commandest le type de commande à lancer, par exemple :listoucreate. -
objectTypeest le composant ou processus cible affecté par la commande, par exemple :list ComputeNodeoucreate Tenant. -
attributesest une propriété utilisée pour identifier un objet spécifique du type sélectionné auquel la commande doit être appliquée, par exemple :show ManagementNode name=pcamn02. -
optionssont des paramètres supplémentaires qui peuvent être fournis pour affecter le comportement de la commande.Par exemple, vous pouvez ajouter des options de tri et de filtrage à la commande
listet sélectionner les colonnes de données (champs) à afficher :list RackUnit fields ipAddress,name,rackElevation,serialNumber,firmwareVersion where state eq running.
Les éléments principaux d'une commande sont séparés par un espace. Les attributs sont spécifiés en tant que "type=value". Les listes sont saisies sous la forme d'une série de valeurs séparées par des virgules (par exemple, fields ipAddress,name,rackElevation,serialNumber,firmwareVersion).
Fin de l'aide et de la commande
L'interface de ligne de commande de service inclut une commande help. Il montre comment les types de commande les plus courants sont utilisés, ce qui vous aide à vous familiariser avec les notions de base 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
Le moyen le plus simple de savoir quelles commandes et quels types d'objet sont disponibles est d'utiliser le point d'interrogation ("?"). Une fois connecté, vous commencez par saisir "?" à l'invite de l'interface de ligne de commande afin d'afficher l'ensemble des commandes de base.
PCA-ADMIN> ?
add
clear
count
create
delete
edit
[...]
Vous pouvez effectuer une analyse descendante des commandes, des types d'objet et d'autres éléments en ajoutant "?" pour afficher les paramètres disponibles à la position du curseur.
Réfléchissez à la position du point d'interrogation : il est séparé de la commande par un espace. Si vous omettez l'espace, la CLI affiche les paramètres autorisés au niveau de cette commande, au lieu des paramètres qui peuvent suivre après la commande.
Par exemple, si vous voulez voir quels types d'objet vous pouvez répertorier, saisissez list ? et appuyez sur Entrée.
Supposons ensuite que vous voulez rechercher les noeuds de calcul qui n'ont pas encore été provisionnés. Pour ce faire, vous pouvez afficher la liste des noeuds de calcul filtrés par leur état de provisionnement. "?" vous permet d'accéder aux paramètres de commande, comme indiqué ci-dessous.
Chaque fois que vous saisissez "?", l'interface de ligne de commande affiche les paramètres que vous pouvez utiliser à la position du curseur. Appuyez sur la flèche vers le haut pour revenir à la partie de la commande que vous avez déjà saisie à l'invite, puis ajoutez la partie suivante de la commande et saisissez à nouveau "?" pour afficher l'ensemble de paramètres suivant.
Une fois la commande terminée, appuyez sur Entrée.
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 service fournit également une forme de saisie semi-automatique par tabulation. Lorsque vous commencez à saisir une commande et appuyez sur la touche de tabulation, la CLI complète automatiquement la partie qu'elle peut prédire. S'il reste plusieurs valeurs possibles, vous devez ajouter au moins une lettre de plus et appuyer à nouveau sur la touche de tabulation. Les exemples suivants illustrent la façon dont l'interface de ligne de commande remplit les onglets.
-
Fin de l'onglet avec une correspondance possible
PCA-ADMIN> list Com<Tab> PCA-ADMIN> list ComputeNode -
Saisie semi-automatique par tabulation avec plusieurs correspondances possibles
PCA-ADMIN> list Ra<Tab> PCA-ADMIN> list Rack PCA-ADMIN> list RackU<Tab> PCA-ADMIN> list RackUnit
Commandes de base et personnalisées
Lorsque vous entrez la commande help ou que vous saisissez le point d'interrogation ("?") à l'invite PCA-ADMIN>, l'interface de ligne de commande renvoie des informations sur ses commandes de base, telles que create, edit, add, remove, delete, list, show, etc. Cependant, il existe un autre ensemble de commandes personnalisées moins couramment utilisées. Vous pouvez tous les afficher sous la forme d'une liste unique ou uniquement celles disponibles pour un type d'objet particulier. Vous pouvez utiliser "?" pour parcourir les commandes.
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