👏

OpenShiftプロジェクトとは?作成から管理まで徹底解説

2024/10/20に公開

0.はじめに

OpenShift Container Platform(以下、OCP)入門者向けに、OpenShiftで使用されるプロジェクトの概念プロジェクトの作成および削除方法について解説します。

これらを適切に理解することで、プロジェクトの管理を適切に行えるようになります。

  • プロジェクトの概念
  • プロジェクトの作成
  • プロジェクトの削除

では、次の章から具体的な解説を進めます!

1.プロジェクトの概念

OpenShiftにおけるプロジェクトは、Kubernetesの「Namespace(名前空間)」の概念に基づいており、リソースの論理的なグループを表します。

プロジェクトは、アプリケーションやリソースを隔離し、アクセス制御やリソース管理を行う単位です。ユーザーごとにアクセス制限を設定したり、アプリケーションごとに分離された環境を提供するために使用されます。


引用元:『STACKSIMPLIFY』

  • リソースの論理的なグループ化: プロジェクトは、Pod、Service、ConfigMap、Secret、VolumeなどのKubernetesリソースを1つにまとめます。
  • アクセス制御: 各プロジェクトには、特定のユーザーやグループがアクセス権を持ちます。プロジェクトごとに異なるユーザーやチームがアプリケーションを開発・デプロイできます。
  • リソースの分離: プロジェクト間でリソースが分離されるため、異なるプロジェクト間でリソースの衝突が発生することなく、個別に管理できます。
  • リソースの管理: プロジェクト単位でリソース使用量(CPU、メモリ、ストレージなど)のクォータを設定できます。

2. プロジェクトの作成 (oc new-project コマンド)

プロジェクトは oc new-project コマンドで作成します。新しいプロジェクトを作成する際には、プロジェクト名とオプションで説明やディスプレイネームを指定できます。

コマンド例:

oc new-project my-new-project --display-name="My New Project" --description="This is a new project for testing"

実行結果例:

Now using project "my-new-project" on server "https://api.crc.testing:6443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app rails-postgresql-example

to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:

    kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.43 -- /agnhost serve-hostname
  • my-new-project: プロジェクト名。
  • --display-name: プロジェクトの表示名(任意で、GUIやCLIで表示される)。
  • --description: プロジェクトの説明。

Webコンソールでのプロジェクト作成

  1. OpenShiftのWebコンソールに管理者権限でログインします。
  2. 左のメニューから「プロジェクト」を選択し、「プロジェクトを作成」ボタンをクリックします。
  3. プロジェクト名、表示名、説明を入力し、「作成」をクリックします。

これにより、新しいプロジェクトがWebコンソール上で作成されます。

3. プロジェクトの表示 (oc get projects コマンド)

現在のユーザーがアクセスできるプロジェクトの一覧を確認するには、oc get projects コマンドを使用します。

コマンド例:

oc get projects

実行結果例:

NAME               DISPLAY NAME          STATUS
my-new-project     My New Project        Active
default            Default               Active
kube-system        Kubernetes System     Active

Webコンソールでプロジェクトの表示

  1. Webコンソールの「プロジェクト」セクションに移動します。
  2. 既存のプロジェクトがリスト形式で表示されます。

ここで、詳細情報を確認するために各プロジェクトをクリックできます。

4. プロジェクトの詳細情報 (oc describe project コマンド)

特定のプロジェクトの詳細情報を表示するには、oc describe project コマンドを使います。

コマンド例:

oc describe project my-new-project

実行結果例:

Name:			my-new-project
Created:		8 minutes ago
Labels:			kubernetes.io/metadata.name=my-new-project
			pod-security.kubernetes.io/audit=restricted
			pod-security.kubernetes.io/audit-version=v1.24
			pod-security.kubernetes.io/warn=restricted
			pod-security.kubernetes.io/warn-version=v1.24
Annotations:		openshift.io/description=This is a new project for testing
			openshift.io/display-name=My New Project
			openshift.io/requester=kubeadmin
			openshift.io/sa.scc.mcs=s0:c26,c10
			openshift.io/sa.scc.supplemental-groups=1000670000/10000
			openshift.io/sa.scc.uid-range=1000670000/10000
Display Name:		My New Project
Description:		This is a new project for testing
Status:			Active
Node Selector:		<none>
Quota:			<none>
Resource limits:	<none>

Webコンソールでのプロジェクト詳細確認

  1. Webコンソールで「プロジェクト」をクリックし、確認したいプロジェクト名を選択します。
  2. プロジェクトの詳細情報が表示され、リソースやアクセス権、ラベルなどの情報を確認できます。

5. プロジェクトの削除 (oc delete project コマンド)

不要になったプロジェクトを削除するには、oc delete project コマンドを使用します。プロジェクトを削除すると、その中に存在するすべてのリソース(Pod、Service、ConfigMapなど)が削除されます。

コマンド例:

oc delete project my-new-project

実行結果例:

project.project.openshift.io "my-new-project" deleted

削除が完了すると、プロジェクトとその関連リソースは完全に削除されます。

Webコンソールでのプロジェクト削除

  1. Webコンソールで「プロジェクト」を選択し、削除したいプロジェクトに移動します。
  2. プロジェクト画面右上にある「アクション」メニューを開き、「プロジェクトを削除」を選択します。

6. プロジェクトの切り替え (oc project コマンド)

現在操作しているプロジェクトを切り替えるには、oc project コマンドを使用します。

コマンド例:

oc project my-new-project

実行結果例:

Now using project "my-new-project" on server "https://api.example.com:6443".

このコマンドを使うと、新しいプロジェクトに切り替わり、そのプロジェクト内でのリソース操作が可能になります。

Webコンソールでのプロジェクト切り替え

  1. Webコンソールで「プロジェクト」をクリックし、選択したいプロジェクトをクリックします。
  2. そのプロジェクト内での操作が可能になります。

7.おわりに

今回はOpenShiftで使用されるプロジェクトについて理解を深めるために、以下を学びました。

  • プロジェクトの概念: OpenShiftのプロジェクトは、KubernetesのNamespaceに相当し、アプリケーションのリソースを論理的にグループ化する単位です。アクセス制御やリソース管理がプロジェクト単位で行われます。
  • プロジェクトの作成: oc new-project コマンドでプロジェクトを作成し、アプリケーションやリソースをその中に展開します。
  • プロジェクトの削除: oc delete project コマンドでプロジェクトを削除することができます。これにより、プロジェクト内のすべてのリソースが削除されます。

プロジェクトは、チームやアプリケーションごとにリソースを隔離し、管理するための基本的な単位としてOpenShiftで重要な役割を果たします。

1回で覚えるのは難しいと思うので、何度かトライして覚えるで全然大丈夫です。

今後もOpenShiftについて解説していきます。

おわりっ!

参考サイト

Discussion