第2章 Projects
2.1. プロジェクトの使用 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクト を使用することにより、あるユーザーコミュニティーは、他のコミュニティーと切り離された状態で独自のコンテンツを整理し、管理することができます。
openshift- および kube- で始まる名前のプロジェクトはデフォルトプロジェクトです。詳細は、デフォルトプロジェクトを参照してください。これらのプロジェクトは、Pod として実行されるクラスターコンポーネントおよび他のインフラストラクチャーコンポーネントをホストします。そのため、OpenShift Container Platform では oc new-project コマンドを使用して openshift- または kube- で始まる名前のプロジェクトを作成することができません。クラスター管理者は、oc adm new-project コマンドを使用してこれらのプロジェクトを作成できます。
デフォルトプロジェクトでワークロードを実行したり、デフォルトプロジェクトへのアクセスを共有したりしないでください。デフォルトのプロジェクトは、コアクラスターコンポーネントを実行するために予約されています。
デフォルトプロジェクトである default、kube-public、kube-system、openshift、openshift-infra、openshift-node、および openshift.io/run-level ラベルが 0 または 1 に設定されているその他のシステム作成プロジェクトは、高い特権があるとみなされます。Pod セキュリティーアドミッション、Security Context Constraints、クラスターリソースクォータ、イメージ参照解決などのアドミッションプラグインに依存する機能は、高い特権を持つプロジェクトでは機能しません。
OpenShift Container Platform Web コンソールまたは OpenShift CLI (oc)のいずれかで以下のタスクを実行できます。
- クラスターにプロジェクトを作成します。
- プロジェクトを表示します。
- プロジェクトのステータスを確認します。
- プロジェクトを削除します。
プロジェクトを削除する際に、サーバーはプロジェクトのステータスを Active から Terminating に更新します。次に、サーバーは Terminating 状態のプロジェクトからすべてのコンテンツをクリアしてから、最終的にプロジェクトを削除します。プロジェクトのステータスが Terminating の場合は、新規のコンテンツをプロジェクトに追加することができません。
2.1.1. Web コンソールを使用したプロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、クラスター内にプロジェクトを作成できます。
openshift- および kube- で始まる名前のプロジェクトは OpenShift Container Platform によって重要 (Critical) と見なされます。そのため、OpenShift Container Platform では、Web コンソールを使用して openshift- で始まるプロジェクトを作成することはできません。
前提条件
- OpenShift Container Platform のプロジェクト、アプリケーション、および他のワークロードを作成するために適切なロールおよびパーミッションがある。
手順
Administrator パースペクティブを使用している場合は、以下を行います。
-
Home
Projects に移動します。 Create Project をクリックします。
-
Create Project ダイアログボックスで、Name フィールドに、
myprojectなどの一意の名前を入力します。 - オプション: プロジェクトの Display name および Description の詳細を追加します。
Create をクリックします。
プロジェクトのダッシュボードが表示されます。
-
Create Project ダイアログボックスで、Name フィールドに、
- オプション: Details タブを選択して、プロジェクトの詳細を表示します。
-
オプション:プロジェクトに対する適切なパーミッションがある場合は、Project Access タブを使用して、プロジェクトの
admin、edit、およびview権限を提供するか、取り消します。
-
Home
Developer パースペクティブを使用している場合は、以下を行います。
Project メニューをクリックし、Create Project を選択します。
図2.1 Create project
-
Create Project ダイアログボックスで、Name フィールドに、
myprojectなどの一意の名前を入力します。 - オプション: プロジェクトの Display name および Description の詳細を追加します。
- Create をクリックします。
-
Create Project ダイアログボックスで、Name フィールドに、
- オプション: 左側のナビゲーションパネルを使用して Project ビューに移動し、プロジェクトのダッシュボードを表示します。
- オプション: プロジェクトダッシュボードで Details タブを選択し、プロジェクトの詳細を表示します。
- オプション: プロジェクトに対する適切なパーミッションがある場合は、プロジェクトダッシュボードの Project Access タブを使用して、プロジェクトの admin、edit、および view 権限を付与または取り消すことができます。
2.1.2. CLI を使用したプロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者が必要なパーミッションを提示している場合は、新規プロジェクトを作成できます。
openshift- および kube- で始まる名前のプロジェクトは OpenShift Container Platform によって重要 (Critical) と見なされます。OpenShift Container Platform では、oc new-project コマンドを使用して、openshift- または kube- で始まるプロジェクトを作成することはできません。クラスター管理者は、oc adm new-project コマンドを使用してこれらのプロジェクトを作成できます。
手順
プロジェクトを作成するには、以下のコマンドを入力します。
$ oc new-project <project_name> \ --description="<description>" --display-name="<display_name>"以下の例では、実際の値を使用します。
$ oc new-project hello-openshift \ --description="This is an example project" \ --display-name="Hello OpenShift"注記作成できるプロジェクトの数は、システム管理者によって制限される場合があります。上限に達すると、新規プロジェクトを作成するために既存プロジェクトを削除しなければならない場合があります。
2.1.3. Web コンソールを使用してプロジェクトを表示する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、アクセス権のあるプロジェクトを表示できます。
OpenShift Container Platform 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
すべてのユーザーは、OpenShift Container Platform Web コンソールのすべての機能を操作できます。ただし、クラスターの所有者でない場合は、特定の機能にアクセスする権限をクラスターの所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
手順
管理者としてログインしている場合は、以下の手順を実行します。
-
ナビゲーションメニューで Home
Projects に移動します。 - 表示するプロジェクトを選択します。Overview タブには、プロジェクトのダッシュボードが含まれています。
- Details タブを選択して、プロジェクトの詳細を表示します。
- YAML タブを選択して、プロジェクトリソースの YAML 設定を表示および更新します。
- Workloads タブを選択して、プロジェクト内のワークロードを表示します。
- RoleBindings タブを選択して、プロジェクトのロールバインディングを表示および作成します。
-
ナビゲーションメニューで Home
開発者としてログインしている場合は、次の手順を実行します。
- ナビゲーションメニューの Project ページに移動します。
- 画面上部の Project ドロップダウンメニューから All Projects を選択し、クラスター内のすべてのプロジェクトをリスト表示します。
- 表示するプロジェクトを選択します。
- Details タブを選択して、プロジェクトの詳細を表示します。
- プロジェクトに十分なパーミッションがある場合は、Project access タブを選択して、プロジェクトの権限を表示および更新します。
2.1.4. CLI を使用したプロジェクトの表示 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトを表示する際は、認証ポリシーに基づいて、表示アクセスのあるプロジェクトだけを表示できるように制限されます。
手順
プロジェクトのリストを表示するには、以下のコマンドを入力します。
$ oc get projectsCLI 操作について現在のプロジェクトから別のプロジェクトに変更するには、以下のコマンドを入力します。その後の操作についてはすべて指定のプロジェクトが使用され、プロジェクトスコープのコンテンツの操作が実行されます。
$ oc project <project_name>
2.1.5. Developer パースペクティブを使用したプロジェクトに対するアクセスパーミッションの提供 リンクのコピーリンクがクリップボードにコピーされました!
Developer パースペクティブで Project ビューを使用し、プロジェクトに対するアクセスを付与したり、取り消したりできます。ユーザーをプロジェクトに追加し、Admin、Edit、または View アクセスを指定できます。
前提条件
- プロジェクトを作成している。
手順
- Developer パースペクティブで、Project ページに移動します。
- Project メニューからプロジェクトを選択します。
- Project Access タブを選択します。
Add access をクリックして、パーミッションの新規の行をデフォルトのパーミッションに追加します。
図2.2 プロジェクトパーミッション
- ユーザー名を入力し、Select a role ドロップダウンリストをクリックし、適切なロールを選択します。
- Save をクリックして新規パーミッションを追加します。
オプション:以下の追加タスクのいずれかを実行できます。
- Select a role ドロップダウンリストを使用して、既存ユーザーのアクセスパーミッションを変更できます。
Remove Access アイコンを使用して、既存ユーザーのプロジェクトへのアクセスパーミッションを完全に削除できます。
注記高度なロールベースのアクセス制御は、Administrator パースペクティブの Roles および Roles Binding ビューで管理されます。
2.1.6. Web コンソールを使用した利用可能なクラスターのロールのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの Developer パースペクティブでは、Project admin、edit、および view です。
クラスター管理者は、クラスター全体のすべてのプロジェクトに対して Project access ページでどのクラスターロールを使用できるかを定義できます。Console 設定リソースの spec.customization.projectAccess.availableClusterRoles オブジェクトをカスタマイズすることで、使用可能なロールを指定できます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
-
Administrator パースペクティブで、Administration
Cluster settings に移動します。 - Configuration タブをクリックします。
-
Configuration resource リストから、Console
operator.openshift.ioを選択します。 - YAML タブに移動し、YAML コードを表示し、編集します。
specの YAML コードで、プロジェクトアクセスに使用可能なクラスターロールのリストをカスタマイズします。次の例では、デフォルトのadmin、edit、およびviewロールを指定します。apiVersion: operator.openshift.io/v1 kind: Console metadata: name: cluster # ... spec: customization: projectAccess: availableClusterRoles: - admin - edit - view-
Save をクリックして、
Console設定リソースへの変更を保存します。
検証
- Developer パースペクティブで、Project ページに移動します。
- Project メニューからプロジェクトを選択します。
- Project access タブを選択します。
-
Role 列のメニューをクリックし、使用可能なロールが
Consoleリソース設定に適用した設定と一致することを確認します。
2.1.7. プロジェクトへの追加 リンクのコピーリンクがクリップボードにコピーされました!
+Add ページを使用して、プロジェクトにアイテムを追加できます。
前提条件
- プロジェクトを作成している。
手順
- +Add ページに移動します。
- Project メニューからプロジェクトを選択します。
+Add ページのアイテムをクリックし、ワークフローに従います。
注記+Add ページの検索機能を使用して、プロジェクトに追加する追加のアイテムを見つけることもできます。ページ上部の Add の下にある + をクリックし、検索フィールドにコンポーネントの名前を入力します。
2.1.8. Web コンソールを使用したプロジェクトのステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、プロジェクトのステータスを確認できます。
前提条件
- プロジェクトを作成している。
手順
-
Home
Projects に移動します。 - 一覧からプロジェクトを選択します。
- Overview ページで、プロジェクトのステータスを確認します。
2.1.9. CLI を使用したプロジェクトのステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、プロジェクトのステータスを確認できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - プロジェクトを作成している。
手順
プロジェクトに切り替えます。
$ oc project <project_name>-
<project_name>は、プロジェクトの名前に置き換えます。
-
プロジェクトの概要を取得します。
$ oc status
2.1.10. Web コンソールを使用したプロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用してプロジェクトを削除できます。
前提条件
- プロジェクトを作成している。
- プロジェクトを削除するために必要なパーミッションを持っている。
手順
Administrator パースペクティブを使用している場合は、次の手順を実行します。
-
Home
Projects に移動します。 - 一覧からプロジェクトを選択します。
プロジェクトの Actions ドロップダウンメニューをクリックし、Delete Project を選択します。
注記プロジェクトを削除するために必要なパーミッションがない場合は、Delete Project オプションは選択できません。
- Delete Project? ペインで、プロジェクトの名前を入力して削除を確認します。
- Delete をクリックします。
-
Home
Developer パースペクティブを使用している場合は、以下の手順を実行します。
- Project ページに移動します。
- Project メニューから削除するプロジェクトを選択します。
プロジェクトの Actions ドロップダウンメニューをクリックし、Delete Project を選択します。
注記プロジェクトを削除するために必要なパーミッションがないと、Delete Project オプションを選択できません。
- Delete Project? ペインで、プロジェクトの名前を入力して削除を確認します。
- Delete をクリックします。
2.1.11. CLI を使用したプロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用してプロジェクトを削除できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - プロジェクトを作成している。
- プロジェクトを削除するために必要なパーミッションを持っている。
手順
以下のコマンドを入力してプロジェクトを削除します。
$ oc delete project <project_name>-
<project_name>を、削除するプロジェクトの名前に置き換えます。
-