Nota
- Questa esercitazione è disponibile in un ambiente di esercitazione pratica gratuito fornito da Oracle.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Usa un catalogo applicazioni con Oracle Cloud Native Environment
Introduzione
Un catalogo di applicazioni è un repository software ricercabile che è possibile installare su un cluster Kubernetes Oracle Cloud Native Environment (Oracle CNE). Oracle CNE supporta due cataloghi di applicazioni: il catalogo Oracle fornito con Oracle CNE e il catalogo esterno compatibile con Artifact Hub.
Il catalogo Oracle offre una selezione curata di software forniti da Oracle. Oracle CNE viene fornito con un catalogo integrato denominato incorporato. È possibile utilizzare il catalogo incorporato senza distribuire un cluster Kubernetes. Il catalogo incorporato viene aggiornato quando si aggiorna l'interfaccia CLI ocne
.
L'altro catalogo fornito con Oracle CNE è denominato Oracle Cloud Native Environment Application Catalog. Questo catalogo viene distribuito nel cluster Kubernetes come pod ocne-catalog nello spazio di nomi ocne-system.
Il catalogo incorporato viene aggiornato quando si aggiorna l'interfaccia CLI ocne
e l'Oracle Catalog viene aggiornato quando si aggiorna la versione di Kubernetes. Questo comportamento indica che i contenuti dei due cataloghi forniti da Oracle potrebbero differire.
Obiettivi
In questo tutorial imparerai:
- Come gestire un catalogo fornito da Oracle.
- Come installare un'applicazione da un catalogo fornito da Oracle.
Prerequisiti
- Installazione di Oracle Cloud Native Environment
- un singolo nodo di controllo e un nodo di lavoro
Configura Oracle CNE
Nota: se è in esecuzione nella propria tenancy, leggere il progetto linux-virt-labs
GitHub README.md e completare i prerequisiti prima di distribuire l'ambiente di esercitazione pratica.
-
Aprire un terminale sul Luna Desktop.
-
Duplica il progetto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Passare alla directory di lavoro.
cd linux-virt-labs/ocne2
-
Installare le raccolte richieste.
ansible-galaxy collection install -r requirements.yml
-
Implementa l'ambiente di laboratorio.
ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e install_ocne_rpm=true -e create_ocne_cluster=true -e "ocne_cluster_node_options='-n 1 -w 1'"
L'ambiente di laboratorio gratuito richiede la variabile aggiuntiva
local_python_interpreter
, che impostaansible_python_interpreter
per le riproduzioni in esecuzione su localhost. Questa variabile è necessaria perché l'ambiente installa il pacchetto RPM per l'SDK Oracle Cloud Infrastructure per Python, situato sotto i moduli python3.6.La forma di distribuzione predefinita utilizza la CPU AMD e Oracle Linux 8. Per utilizzare una CPU Intel o Oracle Linux 9, aggiungere
-e instance_shape="VM.Standard3.Flex"
o-e os_version="9"
al comando di distribuzione.Importante: attendere la corretta esecuzione della guida e raggiungere il task di sospensione. In questa fase della guida, l'installazione di Oracle CNE è stata completata e le istanze sono pronte. Prendi nota della riproduzione precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce e qualsiasi altra informazione di distribuzione necessaria durante l'esecuzione del laboratorio.
Accedi al cluster Kubernetes
-
Aprire un terminale e connettersi tramite SSH all'istanza
ocne
.ssh oracle@<ip_address_of_instance>
-
Attendere la stabilizzazione del cluster e la segnalazione di tutti i pod in esecuzione.
watch kubectl get pods -A
Dopo che tutti i pod hanno mostrato uno STATUS di In esecuzione, digitare
ctrl-c
per uscire dal comandowatch
. -
Confermare il numero di nodi presenti.
kubectl get nodes
Gestione di un catalogo
-
Elenca i cataloghi disponibili.
ocne catalog list
-
Visualizzare i dettagli relativi al catalogo Oracle.
ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog'
Output di esempio:
[oracle@ocne ~]$ ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog' Catalog -------- apiVersion: v1 entries: bootstrap-capi: - apiVersion: v2 appVersion: 1.9.4 created: "2025-02-24T01:37:20.540493324Z" description: A Helm chart for Cluster API bootstrap providers ... ... name: ui sources: - https://github.com/headlamp-k8s/headlamp/tree/main/charts/headlamp - https://github.com/headlamp-k8s/headlamp type: application urls: - ui-2.0.0.tgz version: 2.0.0
-
Elenca tutte le applicazioni nel catalogo Oracle.
ocne catalog search
Output di esempio:
[oracle@ocne ~]$ ocne catalog search APPLICATION VERSION bootstrap-capi 1.9.4 bootstrap-capi 1.7.1 cert-manager 1.14.5 ... ... tigera-operator 1.29.3 ui 2.0.0
-
Cercare un elemento specifico nel catalogo Oracle.
ocne catalog search --pattern 'prom*'
Output di esempio:
[oracle@ocne ~]$ ocne catalog search --pattern 'prom*' APPLICATION VERSION kube-prometheus-stack 0.63.0 kube-proxy 2.0.0 prometheus 2.31.1 prometheus-adapter 0.10.0 prometheus-node-exporter 1.6.1
Analisi delle applicazioni installate
-
Elencare le applicazioni installate nel cluster.
ocne application list -A
Output di esempio:
[oracle@ocne ~]$ ocne application list -A Releases NAME NAMESPACE CHART STATUS REVISION APPVERSION core-dns kube-system coredns deployed 1 2.0.0 flannel kube-flannel flannel deployed 1 2.0.0 kube-proxy kube-system kube-proxy deployed 1 2.0.0 kubernetes-gateway-api-crds kube-system kubernetes-gateway-api-crds deployed 1 1.2.1 oci-ccm kube-system oci-ccm deployed 1 1.30.0 ocne-catalog ocne-system ocne-catalog deployed 1 2.0.0 ui ocne-system ui deployed 1 2.0.0
Nota: questo è un modo utile per confermare quali applicazioni di un catalogo sono state distribuite nel cluster.
-
Rivedere i dettagli dell'applicazione installata.
ocne application show --namespace ocne-system --release ui
dove:
--namespace
: lo spazio di nomi in cui viene distribuita l'applicazione.--release
: il nome dell'applicazione--computed
: non utilizzato in questo esempio, ma restituisce i dettagli della distribuzione YAML utilizzata dall'applicazione distribuita.
Output di esempio:
[oracle@ocne ~]$ ocne application show --namespace ocne-system --release ui image: tag: current ---------------- NAME: ui NAMESPACE: ocne-system CHART: ui STATUS: deployed REVISION: 1 APPVERSION: 2.0.0
Installa un'applicazione
-
Installare l'applicazione kube-prometheus-stack.
ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack
Output di esempio:
[oracle@ocne ~]$ ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack INFO[2025-03-21T16:24:58Z] Application installed successfully
-
Confermare l'installazione dell'applicazione.
ocne application list -A
Output di esempio:
[oracle@ocne ~]$ ocne application list -A Releases NAME NAMESPACE CHART STATUS REVISION APPVERSION core-dns kube-system coredns deployed 1 2.0.0 flannel kube-flannel flannel deployed 1 2.0.0 kube-prometheus-stack default kube-prometheus-stack deployed 1 0.63.0 kube-proxy kube-system kube-proxy deployed 1 2.0.0 kubernetes-gateway-api-crds kube-system kubernetes-gateway-api-crds deployed 1 1.2.1 oci-ccm kube-system oci-ccm deployed 1 1.30.0 ocne-catalog ocne-system ocne-catalog deployed 1 2.0.0 ui ocne-system ui deployed 1 2.0.0
-
Verificare che tutti i pod siano in esecuzione.
kubectl get pods -n default
Output di esempio:
[oracle@ocne ~]$ kubectl get pods -n default NAME READY STATUS RESTARTS AGE alertmanager-kube-prometheus-stack-alertmanager-0 2/2 Running 0 2m30s kube-prometheus-stack-kube-state-metrics-f5869c58f-fnncf 1/1 Running 0 2m37s kube-prometheus-stack-operator-76b9d6954f-7rnqc 1/1 Running 0 2m37s kube-prometheus-stack-prometheus-node-exporter-g6b6n 1/1 Running 0 2m37s kube-prometheus-stack-prometheus-node-exporter-prqxd 1/1 Running 0 2m37s kube-prometheus-stack-prometheus-node-exporter-sppst 1/1 Running 0 2m37s kube-prometheus-stack-prometheus-node-exporter-vw797 1/1 Running 0 2m37s prometheus-kube-prometheus-stack-prometheus-0 2/2 Running 0 2m30s
-
Reindirizza il traffico locale al servizio Prometheus nel cluster.
kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090
Output di esempio:
[oracle@ocne ~]$ kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090 Forwarding from 127.0.0.1:9091 -> 9090 Forwarding from [::1]:9091 -> 9090
Accedi all'interfaccia utente Prometheus
-
Aprire una nuova finestra del terminale e configurare un tunnel SSH per l'istanza
ocne
.ssh -L 9093:localhost:9091 oracle@<ip_address_of_node>
-
Aprire un browser Web e immettere l'URL.
http://localhost:9093/metrics
Questo output conferma che i parametri kube-state-metrics, gli esportatori di nodi e Alert Manager, che sono componenti di kube-prometheus-stack, stanno attivamente estraendo le metriche in Prometheus.
-
Chiudere il browser e uscire dalla finestra del terminale con il tunnel SSH, in quanto non sono più necessari.
-
Passare alla sessione terminale che esegue la porta in avanti.
-
Arrestare la porta in avanti digitando
ctrl-c
.
Disinstallare un'applicazione
-
Disinstallare l'applicazione kube-prometheus-stack.
Questo passo rimuove i componenti Kubernetes associati all'applicazione ed elimina l'istanza.
ocne application uninstall --release kube-prometheus-stack --namespace default
Output di esempio:
[oracle@ocne ~]$ ocne application uninstall --release kube-prometheus-stack --namespace default INFO[2025-03-21T18:52:59Z] Uninstalling release kube-prometheus-stack INFO[2025-03-21T18:53:01Z] kube-prometheus-stack uninstalled successfully
-
Confermare che è stato disinstallato.
ocne application list -A
-
Rimuovere le definizioni delle risorse personalizzate (CRD) Kubernetes associate a kube-prometheus-stack.
Alcune applicazioni richiedono di completare i passi manuali dopo aver disinstallato l'applicazione utilizzando il comando
ocne application uninstall
. I dettagli di ciascuna applicazione sono disponibili nella directory grafici del progetto Oracle CNE GitHub.kubectl delete crd alertmanagerconfigs.monitoring.coreos.com kubectl delete crd alertmanagers.monitoring.coreos.com kubectl delete crd podmonitors.monitoring.coreos.com kubectl delete crd probes.monitoring.coreos.com kubectl delete crd prometheuses.monitoring.coreos.com kubectl delete crd prometheusrules.monitoring.coreos.com kubectl delete crd servicemonitors.monitoring.coreos.com kubectl delete crd thanosrulers.monitoring.coreos.com
Output di esempio:
[oracle@ocne ~]$ kubectl delete crd alertmanagerconfigs.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "alertmanagerconfigs.monitoring.coreos.com" deleted [oracle@ocne ~]$ kubectl delete crd alertmanagers.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "alertmanagers.monitoring.coreos.com" deleted [oracle@ocne ~]$ kubectl delete crd podmonitors.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "podmonitors.monitoring.coreos.com" deleted [oracle@ocne ~]$ kubectl delete crd probes.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "probes.monitoring.coreos.com" deleted [oracle@ocne ~]$ kubectl delete crd prometheuses.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "prometheuses.monitoring.coreos.com" deleted [oracle@ocne ~]$ kubectl delete crd prometheusrules.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "prometheusrules.monitoring.coreos.com" deleted [oracle@ocne ~]$ kubectl delete crd servicemonitors.monitoring.coreos.com customresourcedefinition.apiextensions.k8s.io "servicemonitors.monitoring.coreos.com" deleted
L'applicazione, in questo esempio,
kube-prometheus-stack
, è ora completamente rimossa dal cluster Kubernetes,
Passi successivi
In questa esercitazione viene descritto per cosa si utilizza un catalogo. Quindi, come installare, eseguire e rimuovere un'applicazione da un catalogo nel cluster Kubernetes Oracle CNE. Per ulteriori dettagli, consulta la documentazione di Oracle CNE.
Collegamenti correlati
- Documentazione di Oracle Cloud Native Environment
- Oracle Cloud Native Environment Track
- Stazione di formazione su Oracle Linux
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Use an Application Catalog with Oracle Cloud Native Environment
G30879-01
Copyright ©2025, Oracle and/or its affiliates.