Hinweis:

Anwendungskatalog mit Oracle Cloud Native Environment verwenden

Einführung

Ein Anwendungskatalog ist ein durchsuchbares Software-Repository, das Sie in einem Oracle Cloud Native Environment-(Oracle CNE-)Kubernetes-Cluster installieren können. Oracle CNE unterstützt zwei Anwendungskataloge: den Oracle-Katalog, der mit Oracle CNE ausgeliefert wird, und den externen Katalog, der mit Artifact Hub kompatibel ist.

Der Oracle-Katalog bietet eine kuratierte Auswahl an Software, die von Oracle bereitgestellt wird. Oracle CNE wird mit einem integrierten Katalog mit dem Namen eingebettet geliefert. Sie können den eingebetteten Katalog verwenden, ohne ein Kubernetes-Cluster bereitzustellen. Der eingebettete Katalog wird aktualisiert, wenn Sie die CLI ocne aktualisieren.

Der andere Katalog, der mit Oracle CNE ausgeliefert wird, wird als Oracle Cloud Native Environment Application Catalog bezeichnet. Dieser Katalog wird in Ihrem Kubernetes-Cluster als Pod ocne-catalog im Namespace ocne-system bereitgestellt.

Der eingebettete Katalog wird aktualisiert, wenn Sie die CLI ocne aktualisieren und der Oracle-Katalog beim Aktualisieren der Kubernetes-Version aktualisiert wird. Dieses Verhalten bedeutet, dass sich der Inhalt der beiden von Oracle bereitgestellten Kataloge unterscheiden kann.

Ziele

In diesem Tutorial erfahren Sie:

Voraussetzungen

Oracle CNE konfigurieren

Hinweis: Wenn Sie in Ihrem eigenen Mandanten ausgeführt werden, lesen Sie das Projekt linux-virt-labs GitHub README.md, und schließen Sie die Voraussetzungen ab, bevor Sie die Übungsumgebung bereitstellen.

  1. Öffnen Sie ein Terminal auf dem Luna Desktop.

  2. Klonen Sie das Projekt linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Wechseln Sie in das Arbeitsverzeichnis.

    cd linux-virt-labs/ocne2
    
  4. Installieren Sie die erforderlichen Sammlungen.

    ansible-galaxy collection install -r requirements.yml
    
  5. Stellen Sie die Übungsumgebung bereit.

    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'"
    

    Die kostenlose Übungsumgebung erfordert die zusätzliche Variable local_python_interpreter, die ansible_python_interpreter für Wiedergaben festlegt, die auf localhost ausgeführt werden. Diese Variable ist erforderlich, da die Umgebung das RPM-Package für das Oracle Cloud Infrastructure-SDK für Python installiert, das sich unter den python3.6-Modulen befindet.

    Die Standard-Deployment-Ausprägung verwendet die AMD-CPU und Oracle Linux 8. Um eine Intel-CPU oder Oracle Linux 9 zu verwenden, fügen Sie dem Deployment-Befehl -e instance_shape="VM.Standard3.Flex" oder -e os_version="9" hinzu.

    Wichtig: Warten Sie, bis die Arbeitsmappe erfolgreich ausgeführt wurde, und erreichen Sie die Aufgabe "Unterbrechen". In dieser Phase des Handbuchs ist die Installation von Oracle CNE abgeschlossen, und die Instanzen sind bereit. Beachten Sie die vorherige Wiedergabe, in der die öffentlichen und privaten IP-Adressen der bereitgestellten Knoten sowie alle anderen Deployment-Informationen gedruckt werden, die während der Ausführung der Übung benötigt werden.

Auf Kubernetes-Cluster zugreifen

  1. Öffnen Sie ein Terminal, und stellen Sie über SSH eine Verbindung zur ocne-Instanz her.

    ssh oracle@<ip_address_of_instance>
    
  2. Warten Sie, bis das Cluster stabilisiert ist und alle Pods einen ausgeführten Status melden.

    watch kubectl get pods -A
    

    Sobald alle Pods den STATUS-Wert Wird ausgeführt anzeigen, geben Sie ctrl-c ein, um den Befehl watch zu beenden.

  3. Prüfen Sie, wie viele Knoten vorhanden sind.

    kubectl get nodes
    

Kataloge verwalten

  1. Listen Sie die verfügbaren Kataloge auf.

    ocne catalog list
    
  2. Zeigen Sie Details zum Oracle-Katalog an.

    ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog'
    

    Beispielausgabe:

    [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. Listen Sie alle Anwendungen im Oracle-Katalog auf.

    ocne catalog search
    

    Beispielausgabe:

    [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. Suchen Sie im Oracle-Katalog nach etwas Bestimmtem.

    ocne catalog search --pattern 'prom*'
    

    Beispielausgabe:

    [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  
    

Installierte Anwendungen prüfen

  1. Listen Sie die installierten Anwendungen im Cluster auf.

    ocne application list -A
    

    Beispielausgabe:

    [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  
    

    Hinweis: Auf diese Weise können Sie prüfen, welche Anwendungen aus einem Katalog in Ihrem Cluster bereitgestellt wurden.

  2. Prüfen Sie die Details der installierten Anwendung.

    ocne application show --namespace ocne-system --release ui
    

    Dabei gilt:

    • --namespace: Der Namespace, in dem die Anwendung bereitgestellt wird.
    • --release: Der Name der Anwendung
    • --computed: Wird in diesem Beispiel nicht verwendet, gibt jedoch Details zum YAML-Deployment zurück, das von der bereitgestellten Anwendung verwendet wird.

    Beispielausgabe:

    [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
    

Anwendung installieren

  1. Installieren Sie die Anwendung kube-prometheus-stack.

    ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack
    

    Beispielausgabe:

    [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. Bestätigen Sie die Installation der Anwendung.

    ocne application list -A
    

    Beispielausgabe:

    [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. Bestätigen Sie, dass alle Pods ausgeführt werden.

    kubectl get pods -n default
    

    Beispielausgabe:

    [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. Leiten Sie den lokalen Traffic an den Prometheus-Service in Ihrem Cluster um.

    kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090
    

    Beispielausgabe:

    [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
    

Zugriff auf die Prometheus-UI

  1. Öffnen Sie ein neues Terminalfenster, und konfigurieren Sie einen SSH-Tunnel zur ocne-Instanz.

    ssh -L 9093:localhost:9091 oracle@<ip_address_of_node>
    
  2. Öffnen Sie einen Webbrowser, und geben Sie die URL ein.

    http://localhost:9093/metrics
    

    Prometheus-Metrik

    Diese Ausgabe bestätigt, dass die kube-state-metrics, Knotenexporteure und Alert Manager, die Komponenten des kube-prometheus-stacks sind, aktiv Metriken in Prometheus abkratzen.

  3. Schließen Sie den Browser, und beenden Sie das Terminalfenster mit dem SSH-Tunnel, da diese nicht mehr benötigt werden.

  4. Wechseln Sie zur Terminalsession, in der der Port Forward ausgeführt wird.

  5. Stoppen Sie den Port, indem Sie ctrl-c eingeben.

Anwendung deinstallieren

  1. Deinstallieren Sie die Anwendung kube-prometheus-stack.

    In diesem Schritt werden die mit der Anwendung verknüpften Kubernetes-Komponenten entfernt und die Instanz gelöscht.

    ocne application uninstall --release kube-prometheus-stack --namespace default
    

    Beispielausgabe:

    [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. Bestätigen Sie, dass es deinstalliert wurde.

    ocne application list -A
    
  3. Entfernen Sie die benutzerdefinierten Kubernetes-Ressourcendefinitionen (CRD), die mit kube-prometheus-stack verknüpft sind.

    Bei einigen Anwendungen müssen Sie nach der Deinstallation der Anwendung mit dem Befehl ocne application uninstall manuelle Schritte ausführen. Details zu den einzelnen Anwendungen finden Sie im Verzeichnis diagramme des Oracle CNE-Projekts 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
    

    Beispielausgabe:

    [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
    

    Die Anwendung in diesem Beispiel kube-prometheus-stack wird jetzt vollständig aus Ihrem Kubernetes-Cluster entfernt.

Nächste Schritte

In diesem Tutorial erfahren Sie, wofür Sie einen Katalog verwenden. Anschließend erfahren Sie, wie Sie eine Anwendung in einem Katalog in Ihrem Oracle CNE Kubernetes-Cluster installieren, ausführen und entfernen. Weitere Informationen finden Sie in der Oracle CNE-Dokumentation.

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.