Note :

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 :

Préalables

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.

  1. Ouvrez un terminal sur le Luna Desktop.

  2. Clonez le projet linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Accédez au répertoire de travail.

    cd linux-virt-labs/ocne2
    
  4. Installez les collections requises.

    ansible-galaxy collection install -r requirements.yml
    
  5. 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éfinit ansible_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

  1. Ouvrez un terminal et connectez-vous au moyen de SSH à l'instance ocne.

    ssh oracle@<ip_address_of_instance>
    
  2. 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 commande watch.

  3. Vérifiez le nombre de noeuds présents.

    kubectl get nodes
    

Gestion d'un catalogue

  1. Sert à répertorier les catalogues disponibles.

    ocne catalog list
    
  2. 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
    
  3. 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  
    
  4. 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

  1. 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.

  2. 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

  1. 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  
    
  2. 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  
    
  3. 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
    
  4. 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

  1. 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>
    
  2. Ouvrez un navigateur Web et entrez l'URL.

    http://localhost:9093/metrics
    

    prométhée-mesures

    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.

  3. Fermez le navigateur et quittez la fenêtre de terminal avec le tunnel SSH, car ils ne sont plus nécessaires.

  4. Passez à la session de terminal qui exécute le port vers l'avant.

  5. Arrêtez le port en avant en entrant ctrl-c.

Désinstaller une application

  1. 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 
    
  2. Vérifiez qu'il est désinstallé.

    ocne application list -A
    
  3. 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.

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.