Observação:
- Este tutorial está disponível em um ambiente de laboratório gratuito fornecido pela Oracle.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Usar um Catálogo de Aplicativos com o Oracle Cloud Native Environment
Introdução
Um catálogo de aplicativos é um repositório de software pesquisável que você pode instalar em um cluster do Kubernetes do Oracle CNE (Oracle Cloud Native Environment). O Oracle CNE suporta dois catálogos de aplicativos: o catálogo Oracle fornecido com o Oracle CNE e o catálogo externo compatível com o Artifact Hub.
O catálogo da Oracle fornece uma seleção selecionada de software fornecido pela Oracle. O Oracle CNE é fornecido com um catálogo incorporado chamado embedded. Você pode usar o catálogo incorporado sem implantar um cluster do Kubernetes. O catálogo incorporado é atualizado quando você atualiza a CLI ocne
.
O outro catálogo fornecido com o Oracle CNE é chamado de Catálogo de Aplicativos do Oracle Cloud Native Environment. Este catálogo é implantado no cluster do Kubernetes como o pod ocne-catalog no namespace ocne-system.
O catálogo incorporado é atualizado quando você atualiza a CLI ocne
, e o Catálogo Oracle é atualizado quando você atualiza a versão do Kubernetes. Esse comportamento significa que o conteúdo dos dois catálogos fornecidos pela Oracle pode ser diferente.
Objetivos
Neste tutorial, você aprenderá:
- Como gerenciar um catálogo fornecido pela Oracle.
- Como instalar um aplicativo a partir de um catálogo fornecido pela Oracle.
Pré-requisitos
- Instalação do Oracle Cloud Native Environment
- um único nó de controle e um nó de trabalho
Configurar o Oracle CNE
Observação: Se estiver em execução em sua própria tenancy, leia o projeto linux-virt-labs
GitHub README.md e conclua os pré-requisitos antes de implantar o ambiente de laboratório.
-
Abra um terminal no Luna Desktop.
-
Clone o projeto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Altere para o diretório de trabalho.
cd linux-virt-labs/ocne2
-
Instale as coleções necessárias.
ansible-galaxy collection install -r requirements.yml
-
Implante o ambiente de laboratório.
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'"
O ambiente de laboratório gratuito requer a variável extra
local_python_interpreter
, que defineansible_python_interpreter
para execuções em execução no localhost. Essa variável é necessária porque o ambiente instala o pacote RPM do SDK para Python do Oracle Cloud Infrastructure, localizado nos módulos python3.6.A forma de implantação padrão usa a CPU AMD e o Oracle Linux 8. Para usar uma CPU Intel ou Oracle Linux 9, adicione
-e instance_shape="VM.Standard3.Flex"
ou-e os_version="9"
ao comando de implantação.Importante: Aguarde a execução bem-sucedida do playbook e atinja a tarefa de pausa. Nesta etapa do manual, a instalação do Oracle CNE está concluída e as instâncias estão prontas. Tome nota da reprodução anterior, que imprime os endereços IP públicos e privados dos nós que ele implanta e qualquer outra informação de implantação necessária durante a execução do laboratório.
Acessar o Cluster do Kubernetes
-
Abra um terminal e estabeleça conexão via SSH com a instância
ocne
.ssh oracle@<ip_address_of_instance>
-
Aguarde a estabilização do cluster e todos os pods relatem em um estado de execução.
watch kubectl get pods -A
Depois que todos os pods mostrarem um STATUS de Em Execução, digite
ctrl-c
para sair do comandowatch
. -
Confirme quantos nós estão presentes.
kubectl get nodes
Gerenciando um Catálogo
-
Liste os catálogos disponíveis.
ocne catalog list
-
Exibir detalhes sobre o catálogo Oracle.
ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog'
Exemplo de Saída:
[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
-
Liste todos os aplicativos no catálogo da Oracle.
ocne catalog search
Exemplo de Saída:
[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
-
Pesquise algo específico no catálogo da Oracle.
ocne catalog search --pattern 'prom*'
Exemplo de Saída:
[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
Revisando Aplicativos Instalados
-
Liste os aplicativos instalados no cluster.
ocne application list -A
Exemplo de Saída:
[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
Observação: Esta é uma maneira útil de confirmar quais aplicativos de um catálogo você implantou no cluster.
-
Verifique os detalhes do aplicativo instalado.
ocne application show --namespace ocne-system --release ui
Onde:
--namespace
- O namespace no qual o aplicativo é implantado.--release
- O nome do aplicativo--computed
- Não usado neste exemplo, mas retorna detalhes da implantação YAML usada pelo aplicativo implantado.
Exemplo de saída:
[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
Instalar uma Aplicação
-
Instale o aplicativo kube-prometheus-stack.
ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack
Exemplo de Saída:
[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 a instalação do aplicativo.
ocne application list -A
Exemplo de Saída:
[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 se todos os Pods estão em execução.
kubectl get pods -n default
Exemplo de Saída:
[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
-
Redirecione o tráfego local para o serviço Prometheus em seu cluster.
kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090
Exemplo de Saída:
[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
Acessar a UI do Prometheus
-
Abra uma nova janela de terminal e configure um túnel SSH para a instância
ocne
.ssh -L 9093:localhost:9091 oracle@<ip_address_of_node>
-
Abra um navegador da Web e insira o URL.
http://localhost:9093/metrics
Essa saída confirma que kube-state-metrics, exportadores de nó e Alert Manager, que são componentes do kube-prometheus-stack, estão raspando ativamente as métricas no Prometheus.
-
Feche o browser e saia da janela do terminal com o túnel SSH, pois eles não são mais necessários.
-
Alterne para a sessão do terminal que está executando a porta para frente.
-
Interrompa a porta para frente digitando
ctrl-c
.
Desinstalar um aplicativo
-
Desinstale o aplicativo kube-prometheus-stack.
Esta etapa remove os componentes do Kubernetes associados ao aplicativo e exclui a instância.
ocne application uninstall --release kube-prometheus-stack --namespace default
Exemplo de Saída:
[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 se ele está desinstalado.
ocne application list -A
-
Remova as CRD (Custom Resource Definitions) do Kubernetes associadas ao kube-prometheus-stack.
Alguns aplicativos exigem que você execute etapas manuais após a desinstalação do aplicativo usando o comando
ocne application uninstall
. Você pode encontrar detalhes de cada aplicativo no diretório charts do projeto GitHub do Oracle CNE.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
Exemplo de Saída:
[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
O aplicativo, neste exemplo,
kube-prometheus-stack
, agora foi completamente removido do cluster do Kubernetes,
Próximas Etapas
Este tutorial apresentou para o que você usa um Catálogo. Em seguida, como instalar, executar e remover um aplicativo de um Catálogo no cluster do Oracle CNE Kubernetes. Consulte a documentação do Oracle CNE para obter mais detalhes.
Links Relacionados
- Documentação do Oracle Cloud Native Environment
- Roteiro do Oracle Cloud Native Environment
- Oracle Linux Training Station
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Use an Application Catalog with Oracle Cloud Native Environment
G30882-01
Copyright ©2025, Oracle and/or its affiliates.