Note :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Utiliser un catalogue d'applications avec Oracle Cloud Native Environment
Présentation
Un catalogue d'applications est un référentiel logiciel interrogeable que vous pouvez installer sur une grappe Kubernetes Oracle Cloud Native Environment (Oracle CNE). Oracle CNE prend en charge deux catalogues d'applications : le catalogue Oracle qui est livré avec Oracle CNE et le catalogue externe compatible avec le centre d'artefacts.
Le catalogue Oracle fournit une sélection organisée de logiciels fournis par Oracle. Oracle CNE est livré avec un catalogue intégré appelé intégré. Vous pouvez utiliser le catalogue intégré sans déployer de grappe Kubernetes. Le catalogue intégré est mis à jour lorsque vous mettez à jour l'interface de ligne de commande ocne
.
L'autre catalogue fourni avec Oracle CNE est appelé Catalogue d'applications d'Oracle Cloud Native Environment. Ce catalogue se déploie dans votre grappe Kubernetes en tant que pod ocne-catalog dans l'espace de noms ocne-system.
Le catalogue intégré est mis à jour lorsque vous mettez à jour l'interface de ligne de commande ocne
et que le catalogue Oracle est mis à jour lorsque vous mettez à jour la version de Kubernetes. Ce comportement signifie que le contenu des deux catalogues fournis par Oracle peut différer.
Objectifs
Ce tutoriel décrit comment :
- Comment gérer un catalogue fourni par Oracle.
- Comment installer une application à partir d'un catalogue fourni par Oracle.
Préalables
- Installation d'Oracle Cloud Native Environment
- un noeud de contrôle unique et un noeud de travail
Configurer Oracle CNE
Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs
GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.
-
Ouvrez un terminal sur le Luna Desktop.
-
Clonez le projet
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Accédez au répertoire de travail.
cd linux-virt-labs/ocne2
-
Installez les collections requises.
ansible-galaxy collection install -r requirements.yml
-
Déployez l'environnement de l'exercice.
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'environnement de laboratoire gratuit nécessite la variable supplémentaire
local_python_interpreter
, qui définitansible_python_interpreter
pour les lectures exécutées sur localhost. Cette variable est nécessaire car l'environnement installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python, située sous les modules python3.6.La forme de déploiement par défaut utilise le processeur AMD et Oracle Linux 8. Pour utiliser une unité centrale Intel ou Oracle Linux 9, ajoutez
-e instance_shape="VM.Standard3.Flex"
ou-e os_version="9"
à la commande de déploiement.Important : Attendez que le livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. À ce stade du livre de jeux, l'installation du CNE Oracle est terminée et les instances sont prêtes. Prenez note de la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il déploie et toutes les autres informations de déploiement nécessaires lors de l'exécution de l'exercice.
Accéder à la grappe Kubernetes
-
Ouvrez un terminal et connectez-vous au moyen de SSH à l'instance
ocne
.ssh oracle@<ip_address_of_instance>
-
Attendez que la grappe se stabilise et que tous les pods soient en cours d'exécution.
watch kubectl get pods -A
Une fois que tous les pods affichent le statut STATUS En cours d'exécution, entrez
ctrl-c
pour quitter la commandewatch
. -
Vérifiez le nombre de noeuds présents.
kubectl get nodes
Gestion d'un catalogue
-
Sert à répertorier les catalogues disponibles.
ocne catalog list
-
Afficher les détails du catalogue Oracle.
ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog'
Exemple de sortie :
[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
-
Dressez la liste de toutes les applications du catalogue Oracle.
ocne catalog search
Exemple de sortie :
[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
-
Recherchez quelque chose de spécifique dans le catalogue Oracle.
ocne catalog search --pattern 'prom*'
Exemple de sortie :
[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
Consultation des applications installées
-
Répertoriez les applications installées dans le cluster.
ocne application list -A
Exemple de sortie :
[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
Note : Il s'agit d'un moyen utile de confirmer les applications d'un catalogue que vous avez déployé dans votre grappe.
-
Vérifiez les détails de l'application installée.
ocne application show --namespace ocne-system --release ui
Où :
--namespace
- Espace de noms où l'application est déployée.--release
- Le nom de l'application--computed
- Non utilisé dans cet exemple, mais retourne les détails du déploiement YAML utilisé par l'application déployée.
Exemple de sortie :
[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
Installer une application
-
Installez l'application kube-prometheus-stack.
ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack
Exemple de sortie :
[oracle@ocne ~]$ ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack INFO[2025-03-21T16:24:58Z] Application installed successfully
-
Confirmez l'installation de l'application.
ocne application list -A
Exemple de sortie :
[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
-
Vérifiez que tous les pods sont en cours d'exécution.
kubectl get pods -n default
Exemple de sortie :
[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
-
Rediriger le trafic local vers le service Prometheus de votre grappe.
kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090
Exemple de sortie :
[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
Accéder à l'interface utilisateur Prometheus
-
Ouvrez une nouvelle fenêtre de terminal et configurez un tunnel SSH vers l'instance
ocne
.ssh -L 9093:localhost:9091 oracle@<ip_address_of_node>
-
Ouvrez un navigateur Web et entrez l'URL.
http://localhost:9093/metrics
Cette sortie confirme que les mesures kube-state-metrics, les exportateurs de noeuds et le gestionnaire d'alertes, qui sont des composants de la pile kube-prometheus, balayent activement les mesures dans Prometheus.
-
Fermez le navigateur et quittez la fenêtre de terminal avec le tunnel SSH, car ils ne sont plus nécessaires.
-
Passez à la session de terminal qui exécute le port vers l'avant.
-
Arrêtez le port en avant en entrant
ctrl-c
.
Désinstaller une application
-
Désinstallez l'application kube-prometheus-stack.
Cette étape supprime les composants Kubernetes associés à l'application et supprime l'instance.
ocne application uninstall --release kube-prometheus-stack --namespace default
Exemple de sortie :
[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
-
Vérifiez qu'il est désinstallé.
ocne application list -A
-
Supprimez les définitions de ressource personnalisées Kubernetes associées à kube-prometheus-stack.
Pour certaines applications, vous devez effectuer des étapes manuelles après la désinstallation de l'application à l'aide de la commande
ocne application uninstall
. Vous pouvez trouver des détails pour chaque application dans le répertoire de graphiques du projet GitHub CNE 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
Exemple de sortie :
[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'application, dans cet exemple,
kube-prometheus-stack
, est maintenant complètement supprimée de votre grappe Kubernetes,
Étapes suivantes
Ce tutoriel explique ce pour quoi vous utilisez un catalogue. Ensuite, comment installer, exécuter et supprimer une application d'un catalogue sur votre grappe Kubernetes CNE Oracle. Pour plus d'informations, consultez la documentation relative à la CNE Oracle.
Liens connexes
- Documentation sur Oracle Cloud Native Environment
- Parcours Environnement natif Oracle Cloud
- Parcours d'apprentissage pour Oracle Linux
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Use an Application Catalog with Oracle Cloud Native Environment
G30877-01
Copyright ©2025, Oracle and/or its affiliates.