Note:
- Este tutorial está disponible en un entorno de prácticas gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Uso de un catálogo de aplicaciones con Oracle Cloud Native Environment
Introducción
Un catálogo de aplicaciones es un repositorio de software con capacidad de búsqueda que puede instalar en un cluster de Kubernetes de Oracle Cloud Native Environment (Oracle CNE). Oracle CNE soporta dos catálogos de aplicaciones: el catálogo de Oracle que se envía con Oracle CNE y el catálogo externo compatible con Artifact Hub.
El catálogo de Oracle proporciona una selección seleccionada de software proporcionado por Oracle. Oracle CNE incluye un catálogo incorporado denominado embedded. Puede utilizar el catálogo embebido sin desplegar un cluster de Kubernetes. El catálogo embedded se actualiza al actualizar la CLI ocne
.
El otro catálogo que se incluye con Oracle CNE se denomina Catálogo de aplicaciones de Oracle Cloud Native Environment. Este catálogo se despliega en el cluster de Kubernetes como el pod ocne-catalog en el espacio de nombres ocne-system.
El catálogo embebido se actualiza al actualizar la CLI de ocne
y el catálogo de Oracle se actualiza al actualizar la versión de Kubernetes. Este comportamiento significa que el contenido de los dos catálogos proporcionados por Oracle puede variar.
Objetivos
En este tutorial aprenderá lo siguiente:
- Cómo gestionar un catálogo proporcionado por Oracle.
- Cómo instalar una aplicación desde un catálogo proporcionado por Oracle.
Requisitos
- Instalación de Oracle Cloud Native Environment
- un único nodo de control y un nodo de trabajador
Configurar Oracle CNE
Nota: Si se ejecuta en su propio arrendamiento, lea el proyecto linux-virt-labs
GitHub README.md y complete los requisitos antes de desplegar el entorno de prácticas.
-
Abra un terminal en el escritorio Luna.
-
Clone el proyecto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Cambie al directorio de trabajo.
cd linux-virt-labs/ocne2
-
Instale las recopilaciones necesarias.
ansible-galaxy collection install -r requirements.yml
-
Despliegue el entorno de prácticas.
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'"
El entorno de prácticas gratuito necesita la variable adicional
local_python_interpreter
, que defineansible_python_interpreter
para las reproducciones que se ejecutan en localhost. Esta variable es necesaria porque el entorno instala el paquete de RPM para el SDK para Python de Oracle Cloud Infrastructure, ubicado en los módulos python3.6.La unidad de despliegue por defecto utiliza la CPU AMD y Oracle Linux 8. Para utilizar una CPU de Intel u Oracle Linux 9, agregue
-e instance_shape="VM.Standard3.Flex"
o-e os_version="9"
al comando de despliegue.Importante: Espere a que el cuaderno de estrategias se ejecute correctamente y alcance la tarea de pausa. En esta etapa del manual, la instalación del CNE de Oracle está completa y las instancias están listas. Tome nota de la reproducción anterior, que imprime las direcciones IP públicas y privadas de los nodos que despliega y cualquier otra información de despliegue necesaria durante la ejecución del laboratorio.
Acceso al cluster de Kubernetes
-
Abra un terminal y conéctese mediante SSH a la instancia
ocne
.ssh oracle@<ip_address_of_instance>
-
Espere a que el cluster se estabilice y todos los pods informen en estado de ejecución.
watch kubectl get pods -A
Una vez que todos los pods muestren un STATUS de Running, escriba
ctrl-c
para salir del comandowatch
. -
Confirme cuántos nodos están presentes.
kubectl get nodes
Gestión de un Catálogo
-
Muestre los catálogos disponibles.
ocne catalog list
-
Muestre detalles sobre el catálogo de Oracle.
ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog'
Salida de ejemplo:
[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
-
Muestre todas las aplicaciones del catálogo de Oracle.
ocne catalog search
Salida de ejemplo:
[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
-
Busque en el catálogo de Oracle algo específico.
ocne catalog search --pattern 'prom*'
Salida de ejemplo:
[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
Revisión de aplicaciones instaladas
-
Muestre las aplicaciones instaladas en el cluster.
ocne application list -A
Salida de ejemplo:
[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: Esta es una forma útil de confirmar qué aplicaciones de un catálogo ha desplegado en el cluster.
-
Revise los detalles de la aplicación instalada.
ocne application show --namespace ocne-system --release ui
Dónde:
--namespace
: espacio de nombres en el que se despliega la aplicación.--release
: nombre de la aplicación--computed
: no se utiliza en este ejemplo, pero devuelve detalles del despliegue de YAML utilizado por la aplicación desplegada.
Ejemplo de salida:
[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
Instalación de Aplicación
-
Instale la aplicación kube-prometheus-stack.
ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack
Salida de ejemplo:
[oracle@ocne ~]$ ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack INFO[2025-03-21T16:24:58Z] Application installed successfully
-
Confirme la instalación de la aplicación.
ocne application list -A
Salida de ejemplo:
[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
-
Confirme que todos los pods se están ejecutando.
kubectl get pods -n default
Salida de ejemplo:
[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
-
Redirija el tráfico local al servicio Prometheus en el cluster.
kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090
Salida de ejemplo:
[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
Acceder a la interfaz de usuario de Prometheus
-
Abra una nueva ventana de terminal y configure un túnel SSH a la instancia
ocne
.ssh -L 9093:localhost:9091 oracle@<ip_address_of_node>
-
Abra un explorador web e introduzca la URL.
http://localhost:9093/metrics
Esta salida confirma que kube-state-metrics, los exportadores de nodos y Alert Manager, que son componentes de kube-prometheus-stack, están raspando activamente las métricas en Prometheus.
-
Cierre el explorador y salga de la ventana de terminal con el túnel SSH, ya que ya no son necesarios.
-
Cambie a la sesión de terminal que ejecuta el puerto hacia adelante.
-
Para detener el puerto hacia adelante, escriba
ctrl-c
.
Desinstalación de una aplicación
-
Desinstale la aplicación kube-prometheus-stack.
Este paso elimina los componentes de Kubernetes asociados a la aplicación y suprime la instancia.
ocne application uninstall --release kube-prometheus-stack --namespace default
Salida de ejemplo:
[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
-
Confirme que se ha desinstalado.
ocne application list -A
-
Elimine las definiciones de recursos personalizados (CRD) de Kubernetes asociadas a kube-prometheus-stack.
Algunas aplicaciones requieren que complete los pasos manuales después de desinstalar la aplicación mediante el comando
ocne application uninstall
. Puede encontrar detalles para cada aplicación en el directorio charts del proyecto GitHub del CNE de Oracle.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
Salida de ejemplo:
[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
La aplicación, en este ejemplo,
kube-prometheus-stack
, ahora se ha eliminado por completo del cluster de Kubernetes.
Pasos Siguientes
En este tutorial se presenta cómo se utiliza un catálogo. A continuación, cómo instalar, ejecutar y eliminar una aplicación de un catálogo en el cluster de Kubernetes CNE de Oracle. Consulte la documentación de Oracle CNE para obtener más información.
Enlaces relacionados
- Documentación de Oracle Cloud Native Environment
- Circuito de Oracle Cloud Native Environment
- Oracle Linux Training Station
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Use an Application Catalog with Oracle Cloud Native Environment
G30876-01
Copyright ©2025, Oracle and/or its affiliates.