【OpenShift】リソースのインポート・エクスポート・抽出方法
0.はじめに
OpenShift Container Platform(以下、OCP)入門者向けに、ocコマンドでリソースのインポート・エクスポート・抽出する方法を解説します。
本記事の内容に沿って、ハンズオンいただくと以下を習得できます。
- リソースのインポート方法
- リソースのエクスポート方法
- リソースの抽出方法
では、次の章から具体的な解説を進めます!
oc apply
コマンド)
1. リソースのインポート(リソースのインポートとは、定義されたYAMLやJSON形式のリソースファイルを基に、リソースをクラスターに適用する操作です。oc apply
コマンドを使ってリソースを作成・更新できます。
例: リソースのインポート
oc apply -f my-deployment.yaml
このコマンドは、my-deployment.yaml
ファイルに定義されたDeploymentリソースをOpenShiftクラスターに適用します。新しいリソースを作成するか、既存のリソースを更新します。
my-deployment.yaml
の例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
labels:
app: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: openshift/hello-openshift
ports:
- containerPort: 8080
実行結果:
oc apply
を実行すると、このファイルの内容がクラスターに適用され、指定されたリソースが作成または更新されます。
例えば、この例では my-app
という名前のDeploymentが作成され、指定されたコンテナイメージでPodがデプロイされます。
oc get
コマンド)
2. リソースのエクスポート(リソースのエクスポートは、クラスター内に存在するリソースの定義をファイルに出力する操作です。これにより、リソースの設定を保存し、他の環境で再利用するための基盤を作成できます。
oc get
コマンドを使用して、リソースをYAMLまたはJSON形式で出力できます。
例: リソースのエクスポート(YAML形式)
oc get deployment my-app -o yaml > my-deployment.yaml
このコマンドは、my-app
デプロイメントの定義をYAML形式で取得し、my-deployment.yaml
ファイルに保存します。
実行結果:
my-deployment.yaml
に現在の my-app
デプロイメントの設定が出力されます。
このファイルを別の環境に移して、oc apply
で再度適用すれば、同じリソースを他のクラスターに再現できます。
JSON形式でのエクスポート
oc get deployment my-app -o json > my-deployment.json
このコマンドは、my-app
デプロイメントをJSON形式でエクスポートします。
oc extract
コマンド)
3. リソースのエクスポートと抽出(oc extract
コマンドを使用して、SecretやConfigMapなどのリソースからファイルを抽出することができます。これは、クラスター内に保存されている設定や機密情報を取得する際に便利です。
例: ConfigMapからファイルを抽出
oc extract configmap/my-configmap --to=./extracted
このコマンドは、my-configmap
というConfigMapの中に保存されているデータを、ローカルディレクトリ ./extracted
に抽出します。
Secretの例:
oc extract secret/my-secret --to=./secrets
このコマンドは、my-secret
という名前のSecretリソースからデータをローカルの ./secrets
フォルダに抽出します。
4.おわりに
今回はocコマンドでリソース状態を効率的に確認する方法を理解するために、以下を学びました。
-
リソースのインポート(
oc apply
): YAMLやJSON形式のリソースファイルを使って、OpenShiftクラスターにリソースを作成・更新すること。 -
リソースのエクスポート(
oc get
): クラスター内のリソース定義をYAMLまたはJSON形式で取得し、ファイルに保存してバックアップや再利用を行うこと。 -
リソースの抽出(
oc extract
): SecretやConfigMapからファイルを抽出して、設定や機密データをローカルに取得すること。
これらの機能を使うことで、リソースの移行、バックアップ、再デプロイを簡単に行うことができ、柔軟なクラスター管理が可能になります。
一回で覚えるのは難しいと思うので、何度かトライして覚えるで全然大丈夫です。
今後もOpenShiftについて解説していきます。
おわりっ!
参考サイト
Red Hat Documentation 第1章 OpenShift CLI (oc)
Red Hat Documentation OpenShift Container Platform 4.16
Discussion