第2章 プロジェクト
2.1. プロジェクトの使用 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクト を使用すると、ユーザーコミュニティーを他のコミュニティーと切り離した状態で独自のコンテンツを整理し、管理できます。
openshift- および kube- で始まる名前のプロジェクトはデフォルトプロジェクトです。これらのプロジェクトは、Pod として実行するクラスターコンポーネントおよび他のインフラストラクチャーコンポーネントをホストします。そのため、Red Hat OpenShift Service on AWS では 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、クラスターリソースクォータ、イメージ参照解決などのアドミッションプラグインに依存する機能は、高い特権を持つプロジェクトでは機能しません。
2.1.1. プロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールまたは OpenShift CLI (oc) を使用して、クラスター内にプロジェクトを作成できます。
2.1.1.1. Web コンソールを使用したプロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールを使用して、クラスター内にプロジェクトを作成できます。
openshift- および kube- で始まる名前のプロジェクトは Red Hat OpenShift Service on AWS によって重要 (Critical) と見なされます。そのため、Red Hat OpenShift Service on AWS では、Web コンソールを使用して openshift- で始まる名前のプロジェクトを作成できません。
前提条件
- Red Hat OpenShift Service on AWS でプロジェクト、アプリケーション、その他のワークロードを作成するための適切なロールと権限を持っている。
手順
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.1.2. CLI を使用したプロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者が許可する場合は、新規プロジェクトを作成できます。
openshift- および kube- で始まる名前のプロジェクトは Red Hat OpenShift Service on AWS によって重要 (Critical) と見なされます。そのため、Red Hat OpenShift Service on AWS では、oc new-project コマンドを使用して openshift- または kube- で始まる名前のプロジェクトを作成することはできません。クラスター管理者は、oc adm new-project コマンドを使用してこれらのプロジェクトを作成できます。
手順
以下を実行します。
oc new-project <project_name> \ --description="<description>" --display-name="<display_name>"$ oc new-project <project_name> \ --description="<description>" --display-name="<display_name>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は例になります。
oc new-project hello-openshift \ --description="This is an example project" \ --display-name="Hello OpenShift"$ oc new-project hello-openshift \ --description="This is an example project" \ --display-name="Hello OpenShift"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
上限に達した後に作成できるプロジェクトの数。新規プロジェクトを作成できるように既存プロジェクトを削除しなければならない場合があります。
2.1.2. プロジェクトの表示 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールまたは OpenShift CLI (oc) を使用して、クラスター内のプロジェクトを表示できます。
2.1.2.1. Web コンソールを使用したプロジェクトの表示 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールを使用して、アクセス権のあるプロジェクトを表示できます。
Red Hat OpenShift Service on AWS 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
どのユーザーも、Red Hat OpenShift Service on AWS Web コンソールのすべての機能を操作できます。ただし、クラスターの所有者でない場合は、特定の機能にアクセスする権限をクラスターの所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
手順
管理者としてログインしている場合は、以下を実行します。
-
ナビゲーションメニューで Home
Projects に移動します。 - 表示するプロジェクトを選択します。Overview タブには、プロジェクトのダッシュボードが含まれています。
- Details タブを選択して、プロジェクトの詳細を表示します。
- YAML タブを選択して、プロジェクトリソースの YAML 設定を表示および更新します。
- Workloads タブを選択して、プロジェクト内のワークロードを表示します。
- RoleBindings タブを選択して、プロジェクトのロールバインディングを表示および作成します。
-
ナビゲーションメニューで Home
開発者としてログインしている場合は、以下を実行します。
- ナビゲーションメニューの Project ページに移動します。
- 画面上部の Project ドロップダウンメニューから All Projects を選択し、クラスター内のすべてのプロジェクトをリスト表示します。
- 表示するプロジェクトを選択します。
- Details タブを選択して、プロジェクトの詳細を表示します。
- プロジェクトに対する適切なパーミッションがある場合は、Project access タブビューを選択し、プロジェクトの権限を更新します。
2.1.2.2. CLI を使用したプロジェクトの表示 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトを表示する際は、認証ポリシーに基づいて、表示アクセスのあるプロジェクトだけを表示できるように制限されます。
手順
プロジェクトのリストを表示するには、以下を実行します。
oc get projects
$ oc get projectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow CLI 操作で、現在のプロジェクトから別のプロジェクトに切り換えることができます。その後の操作にはすべて指定のプロジェクトが使用され、プロジェクトスコープのコンテンツの操作が実行されます。
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.3. 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.4. Web コンソールを使用した利用可能なクラスターのロールのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの Developer パースペクティブでは、Project
クラスター管理者は、クラスター全体のすべてのプロジェクトに対して 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ロールを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Save をクリックして、
Console設定リソースへの変更を保存します。
検証
- Developer パースペクティブで、Project ページに移動します。
- Project メニューからプロジェクトを選択します。
- Project access タブを選択します。
-
Role 列のメニューをクリックし、使用可能なロールが
Consoleリソース設定に適用した設定と一致することを確認します。
2.1.5. プロジェクトへの追加 リンクのコピーリンクがクリップボードにコピーされました!
+Add ページを使用して、プロジェクトにアイテムを追加できます。
前提条件
- プロジェクトを作成している。
手順
- +Add ページに移動します。
- Project メニューからプロジェクトを選択します。
- +Add ページで項目をクリックし、ワークフローに従います。
また、Add* ページの検索機能を使用して、プロジェクトに追加する追加アイテムを見つけます。画面上部の Add の下にある * をクリックし、検索フィールドにコンポーネントの名前を入力します。
2.1.6. プロジェクトのステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールまたは OpenShift CLI (oc) を使用して、プロジェクトのステータスを表示できます。
2.1.6.1. Web コンソールを使用したプロジェクトのステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、プロジェクトのステータスを確認できます。
前提条件
- プロジェクトを作成している。
手順
-
Home
Projects に移動します。 - 一覧からプロジェクトを選択します。
- Overview ページで、プロジェクトのステータスを確認します。
2.1.6.2. CLI を使用したプロジェクトのステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、プロジェクトのステータスを確認できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - プロジェクトを作成している。
手順
プロジェクトに切り替えます。
oc project <project_name>
$ oc project <project_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<project_name>は、プロジェクトの名前に置き換えます。
プロジェクトの概要を取得します。
oc status
$ oc statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.7. プロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールまたは OpenShift CLI (oc) を使用してプロジェクトを削除できます。
プロジェクトを削除する際に、サーバーはプロジェクトのステータスを Active から Terminating に更新します。その後、サーバーは Terminating 状態のプロジェクトからすべてのコンテンツをクリアしてから、プロジェクトを削除します。プロジェクトのステータスが Terminating の場合は、新規のコンテンツをプロジェクトに追加することができません。プロジェクトは CLI または Web コンソールから削除できます。
2.1.7.1. 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.7.2. CLI を使用したプロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用してプロジェクトを削除できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - プロジェクトを作成している。
- プロジェクトを削除するために必要なパーミッションを持っている。
手順
プロジェクトを削除します。
oc delete project <project_name>
$ oc delete project <project_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<project_name>を、削除するプロジェクトの名前に置き換えます。