ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Native Environmentでのアプリケーション・カタログの使用
イントロダクション
アプリケーション・カタログは、Oracle Cloud Native Environment (Oracle CNE) Kubernetesクラスタにインストールできる検索可能なソフトウェア・リポジトリです。Oracle CNEでは、Oracle CNEに付属するOracleカタログと、アーティファクト・ハブと互換性のある外部カタログの2つのアプリケーション・カタログがサポートされています。
Oracleカタログには、Oracleが提供する厳選されたソフトウェアが用意されています。Oracle CNEには、埋込みと呼ばれる組込みカタログが付属しています。Kubernetesクラスタをデプロイせずに、埋込みカタログを使用できます。埋込みカタログは、ocne
CLIを更新すると更新されます。
Oracle CNEに付属するもう1つのカタログは、Oracle Cloud Native Environmentアプリケーション・カタログと呼ばれます。このカタログは、ocne-systemネームスペースのocne-catalogポッドとしてKubernetesクラスタにデプロイされます。
埋込みカタログは、ocne
CLIを更新すると更新され、Kubernetesバージョンを更新するとOracleカタログが更新されます。この動作は、Oracle提供の2つのカタログの内容が異なる可能性があることを意味します。
目的
このチュートリアルの内容:
- Oracle提供のカタログを管理する方法。
- Oracle提供のカタログからアプリケーションをインストールする方法。
前提条件
- Oracle Cloud Native Environmentのインストール
- 単一の制御ノードと1つのワーカー・ノード
Oracle CNEの構成
ノート:独自のテナンシで実行している場合は、linux-virt-labs
GitHubプロジェクトREADME.mdを読み、演習環境をデプロイする前に前提条件を完了してください。
-
Lunaデスクトップでターミナルを開きます。
-
linux-virt-labs
GitHubプロジェクトをクローニングします。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
作業ディレクトリに移動します。
cd linux-virt-labs/ocne2
-
必要なコレクションをインストールします。
ansible-galaxy collection install -r requirements.yml
-
演習環境をデプロイします。
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'"
無料の演習環境では、追加変数
local_python_interpreter
が必要です。この変数は、localhostで実行されている再生用にansible_python_interpreter
を設定します。この変数は、python3.6モジュールの下にあるOracle Cloud Infrastructure SDK for PythonのRPMパッケージが環境によってインストールされるため必要です。デフォルトのデプロイメント・シェイプでは、AMD CPUおよびOracle Linux 8が使用されます。Intel CPUまたはOracle Linux 9を使用するには、デプロイメント・コマンドに
-e instance_shape="VM.Standard3.Flex"
または-e os_version="9"
を追加します。重要:プレイブックが正常に実行されるまで待機し、一時停止タスクに到達します。プレイブックのこの段階で、Oracle CNEのインストールが完了し、インスタンスの準備ができました。前の再生に注意してください。これは、デプロイするノードのパブリックIPアドレスとプライベートIPアドレス、および演習の実行中に必要なその他のデプロイメント情報を出力します。
Kubernetesクラスタへのアクセス
-
ターミナルを開き、SSHを介して
ocne
インスタンスに接続します。ssh oracle@<ip_address_of_instance>
-
クラスタが安定し、すべてのポッドが実行中の状態でレポートされるまで待機します。
watch kubectl get pods -A
すべてのポッドにSTATUSがRunningと表示されたら、
ctrl-c
と入力してwatch
コマンドを終了します。 -
ノードの数を確認します。
kubectl get nodes
カタログの管理
-
使用可能なカタログをリストします。
ocne catalog list
-
Oracleカタログの詳細を表示します。
ocne catalog get --name 'Oracle Cloud Native Environment Application Catalog'
出力例:
[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
-
Oracleカタログ内のすべてのアプリケーションをリストします。
ocne catalog search
出力例:
[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
-
Oracleカタログで特定のものを検索します。
ocne catalog search --pattern 'prom*'
出力例:
[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
インストール済アプリケーションの確認
-
クラスタにインストールされているアプリケーションを一覧表示します。
ocne application list -A
出力例:
[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
ノート:これは、クラスタにデプロイしたカタログのどのアプリケーションを確認する場合に役立ちます。
-
インストールされているアプリケーションの詳細を確認します。
ocne application show --namespace ocne-system --release ui
説明:
--namespace
- アプリケーションがデプロイされるネームスペース。--release
- アプリケーションの名前--computed
- この例では使用されませんが、デプロイされたアプリケーションで使用されるYAMLデプロイメントの詳細を返します。
出力例:
[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
アプリケーションのインストール
-
kube-prometheus-stackアプリケーションをインストールします。
ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack
出力例:
[oracle@ocne ~]$ ocne application install --release kube-prometheus-stack --namespace default --name kube-prometheus-stack INFO[2025-03-21T16:24:58Z] Application installed successfully
-
アプリケーションのインストールを確認します。
ocne application list -A
出力例:
[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
-
すべてのポッドが実行されていることを確認します。
kubectl get pods -n default
出力例:
[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
-
ローカル・トラフィックをクラスタ内のPrometheusサービスにリダイレクトします。
kubectl port-forward -n default svc/kube-prometheus-stack-prometheus 9091:9090
出力例:
[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
Prometheus UIへのアクセス
-
新しいターミナル・ウィンドウを開き、
ocne
インスタンスへのSSHトンネルを構成します。ssh -L 9093:localhost:9091 oracle@<ip_address_of_node>
-
Webブラウザを開き、URLを入力します。
http://localhost:9093/metrics
この出力は、kube-prometheus-stackのコンポーネントであるkube-state-metrics、ノード・エクスポータおよびアラート・マネージャが、積極的にメトリックをPrometheusにスクレイピングしていることを確認します。
-
ブラウザを閉じ、SSHトンネルを使用してターミナル・ウィンドウを終了します(不要になったため)。
-
ポートを転送している端末セッションに切り替えます。
-
ctrl-c
と入力して、ポートの転送を停止します。
アプリケーションのアンインストール
-
kube-prometheus-stackアプリケーションをアンインストールします。
このステップでは、アプリケーションに関連付けられたKubernetesコンポーネントを削除し、インスタンスを削除します。
ocne application uninstall --release kube-prometheus-stack --namespace default
出力例:
[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
-
アンインストールされていることを確認します。
ocne application list -A
-
kube-prometheus-stackに関連付けられたKubernetesカスタム・リソース定義(CRD)を削除します。
一部のアプリケーションでは、
ocne application uninstall
コマンドを使用してアプリケーションをアンインストールした後、手動ステップを完了する必要があります。各アプリケーションの詳細は、Oracle CNE GitHubプロジェクトのchartsディレクトリにあります。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
出力例:
[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
この例では、アプリケーション
kube-prometheus-stack
がKubernetesクラスタから完全に削除されます。
次のステップ
このチュートリアルでは、カタログを使用する対象について説明します。次に、Oracle CNE Kubernetesクラスタのカタログからアプリケーションをインストール、実行および削除する方法。詳細は、Oracle CNEのドキュメントを参照してください。
関連リンク
- Oracle Cloud Native Environmentのドキュメント
- Oracle Cloud Native Environmentトラック
- Oracle Linuxトレーニング・ステーション
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Use an Application Catalog with Oracle Cloud Native Environment
G30880-01
Copyright ©2025, Oracle and/or its affiliates.