

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CLI ROSA 建立 ROSA 傳統叢集
<a name="getting-started-classic-cli"></a>

下列各節說明如何使用 AWS STS 和 CLI ROSA 開始使用 ROSA 傳統。如需使用 Terraform 建立 ROSA 傳統叢集的步驟，請參閱 [Red Hat 文件](https://docs.openshift.com/rosa/rosa_install_access_delete_clusters/terraform/rosa-classic-creating-a-cluster-quickly-terraform.html)。若要進一步了解建立 ROSA 叢集的 Terraform 提供者，請參閱 [Terraform 文件](https://registry.terraform.io/providers/terraform-redhat/rhcs/latest/docs)。

 ROSA CLI 使用 `auto` 模式或 `manual` 模式來建立佈建 ROSA 所需的 IAM 資源 叢集。 `auto` 模式會立即建立所需的 IAM 角色和政策和 OpenID Connect (OIDC) 供應商。 `manual` 模式會輸出建立 IAM 資源所需的 AWS CLI 命令。透過使用 `manual` 模式，您可以在手動執行命令之前檢閱產生的 AWS CLI 命令。透過 `manual` 模式，您也可以將命令傳遞給組織中的另一個管理員或群組，讓他們可以建立資源。

如需開始使用的更多選項，請參閱 [開始使用 ROSA](getting-started.md)。

**Topics**
+ [先決條件](#getting-started-classic-cli-prereqs)
+ [使用 CLI ROSA 和 建立 ROSA 傳統叢集 AWS STS](#create-rosa-classic-cluster-cli-sts)
+ [設定身分提供者並授予 叢集 存取權](#getting-started-classic-cli-configure-oidc)
+ [授予使用者對 的存取權 叢集](#getting-started-classic-cli-grant-user-access)
+ [設定 `cluster-admin` 許可](#configure-cluster-admin-classic-cli)
+ [設定 `dedicated-admin` 許可](#configure-dedicated-admin-classic-cli)
+ [叢集 透過 Red Hat 混合雲端主控台存取](#console-access-classic-cli)
+ [從 開發人員目錄部署應用程式](#deploy-app-classic-cli)
+ [從使用者撤銷`cluster-admin`許可](#revoke-cluster-admin-classic-cli)
+ [從使用者撤銷`dedicated-admin`許可](#revoke-dedicated-admin-classic-cli)
+ [撤銷使用者對 的存取權 叢集](#revoke-user-classic-cli)
+ [刪除叢集 AWS STS 和資源](#delete-cluster-classic-cli)

## 先決條件
<a name="getting-started-classic-cli-prereqs"></a>

完成 中列出的先決條件動作[設定 以使用 ROSA](set-up.md)。

## 使用 CLI ROSA 和 建立 ROSA 傳統叢集 AWS STS
<a name="create-rosa-classic-cluster-cli-sts"></a>

您可以使用 CLI 和 叢集 ROSA 建立 ROSA 傳統 AWS STS。

1. 使用 `--mode auto`或 建立所需的 IAM 帳戶角色和政策`--mode manual`。
   + 

     ```
     rosa create account-roles --classic --mode auto
     ```
   + 

     ```
     rosa create account-roles --classic --mode manual
     ```
**注意**  
如果您的離線存取字符已過期，CLI ROSA 會輸出錯誤訊息，指出您的授權字符需要更新。如需疑難排解的步驟，請參閱 [對 CLI ROSA 過期的離線存取權杖進行故障診斷](troubleshooting-rosa.md#rosa-cli-expired-token)。

1.  叢集 使用 `--mode auto`或 建立 `--mode manual`。 `auto` 模式可讓您更快速地建立叢集。 `manual` 模式會提示您為叢集指定自訂設定。
   + 

     ```
     rosa create cluster --cluster-name <CLUSTER_NAME> --sts --mode auto
     ```
**注意**  
當您指定 時`--mode auto`，`rosa create cluster`命令會自動建立叢集特定的運算子 IAM 角色和 OIDC 供應商。運算子使用 OIDC 提供者進行身分驗證。
**注意**  
使用`--mode auto`預設值時，已安裝最新的穩定 OpenShift 版本。
   + 

     ```
     rosa create cluster --cluster-name <CLUSTER_NAME> --sts --mode manual
     ```
**重要**  
如果您在 `manual` 模式中啟用加密，則會產生大約 20% 的效能額外負荷。除了預設的 Amazon EBS 加密之外，額外負荷是引進第二層加密的結果。
**注意**  
執行`manual`模式建立叢集後，您需要手動建立叢集特定的運算子 IAM 角色，以及叢集運算子用來驗證的 OpenID Connect 提供者。

1. 檢查 的狀態 叢集。

   ```
   rosa describe cluster -c <CLUSTER_NAME>
   ```
**注意**  
如果佈建程序失敗，或 `State` 欄位在 40 分鐘後未變更為就緒狀態，請參閱 [疑難排解](troubleshooting-rosa.md)。若要聯絡 支援 或 Red Hat 支援尋求協助，請參閱 [取得 ROSA 支援](rosa-support.md)。

1. 觀看 OpenShift 安裝程式日誌，追蹤 叢集 建立進度。

   ```
   rosa logs install -c <CLUSTER_NAME> --watch
   ```

## 設定身分提供者並授予 叢集 存取權
<a name="getting-started-classic-cli-configure-oidc"></a>

 ROSA 包含內建的 OAuth 伺服器。 叢集 建立 之後，您必須設定 OAuth 以使用身分提供者。然後，您可以將使用者新增至您設定的身分提供者，以授予他們存取您的 的權限 叢集。您可以視需要授予這些使用者`cluster-admin`或`dedicated-admin`許可。

您可以為 ROSA 設定不同的身分提供者類型 叢集。支援的類型包括 GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect 和 HTPasswd 身分提供者。

**重要**  
HTPasswd 身分提供者僅包含用於建立單一靜態管理員使用者。HTPasswd 不支援做為 的一般用途身分提供者 ROSA。

下列程序會將 GitHub 身分提供者設定為範例。如需如何設定每個支援身分提供者類型的說明，請參閱[設定身分提供者 AWS STS](https://access.redhat.com/documentation/en-us/red_hat_openshift_service_on_aws/4/html/install_rosa_classic_clusters/rosa-sts-config-identity-providers)。

1. 導覽至 [github.com](https://github.com/) 並登入您的 GitHub 帳戶。

1. 如果您沒有可用於 身分佈建的 GitHub 組織 叢集，請建立一個。如需詳細資訊，請參閱 [ GitHub 文件中的步驟](https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)。

1. 使用 ROSA CLI 的互動式模式，為您的叢集設定身分提供者。

   ```
   rosa create idp --cluster=<CLUSTER_NAME> --interactive
   ```

1. 遵循輸出中的組態提示，以限制對 GitHub 組織成員的 叢集 存取。

   ```
   I: Interactive mode enabled.
   Any optional fields can be left empty and a default will be selected.
   ? Type of identity provider: github
   ? Identity provider name: github-1
   ? Restrict to members of: organizations
   ? GitHub organizations: <GITHUB_ORG_NAME>
   ? To use GitHub as an identity provider, you must first register the application:
     - Open the following URL:
       https://github.com/organizations/<GITHUB_ORG_NAME>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<CLUSTER_NAME>/<RANDOM_STRING>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<CLUSTER_NAME>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<CLUSTER_NAME>/<RANDOM_STRING>.p1.openshiftapps.com
     - Click on 'Register application'
   ...
   ```

1. 在輸出中開啟 URL，`<GITHUB_ORG_NAME>`將 取代為 GitHub 組織的名稱。

1. 在 GitHub 網頁上，選擇**註冊應用程式**，在您的 GitHub 組織中註冊新的 OAuth 應用程式。

1. 執行下列命令，使用 GitHub OAuth 頁面中的資訊填入剩餘的`rosa create idp`互動式提示。將 `<GITHUB_CLIENT_ID>`和 `<GITHUB_CLIENT_SECRET>`取代為 GitHub OAuth 應用程式的登入資料。

   ```
   ...
   ? Client ID: <GITHUB_CLIENT_ID>
   ? Client Secret: [? for help] <GITHUB_CLIENT_SECRET>
   ? GitHub Enterprise Hostname (optional):
   ? Mapping method: claim
   I: Configuring IDP for cluster '<CLUSTER_NAME>'
   I: Identity Provider 'github-1' has been created.
      It will take up to 1 minute for this configuration to be enabled.
      To add cluster administrators, see 'rosa grant user --help'.
      To login into the console, open https://console-openshift-console.apps.<CLUSTER_NAME>.<RANDOM_STRING>.p1.openshiftapps.com and click on github-1.
   ```
**注意**  
可能需要大約兩分鐘的時間，身分提供者組態才會變成作用中。如果您已設定`cluster-admin`使用者，您可以執行 `oc get pods -n openshift-authentication --watch`以使用更新的組態來監看 OAuth Pod 重新部署。

1. 確認身分提供者已正確設定。

   ```
   rosa list idps --cluster=<CLUSTER_NAME>
   ```

## 授予使用者對 的存取權 叢集
<a name="getting-started-classic-cli-grant-user-access"></a>

您可以將使用者新增至設定的身分提供者， 叢集 以授予使用者對 的存取權。

下列程序會將使用者新增至設定為將身分佈建至叢集的 GitHub 組織。

1. 導覽至 [github.com](https://github.com/) 並登入您的 GitHub 帳戶。

1. 邀請需要 叢集 存取 GitHub 組織的使用者。如需詳細資訊，請參閱 GitHub 文件中的[邀請使用者加入您的組織](https://docs.github.com/en/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)。

## 設定 `cluster-admin` 許可
<a name="configure-cluster-admin-classic-cli"></a>

1. 執行下列命令來授予`cluster-admin`許可。將 `<IDP_USER_NAME>` 和 取代`<CLUSTER_NAME>`為您的使用者和叢集名稱。

   ```
   rosa grant user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
   ```

1. 確認使用者列為 `cluster-admins`群組的成員。

   ```
   rosa list users --cluster=<CLUSTER_NAME>
   ```

## 設定 `dedicated-admin` 許可
<a name="configure-dedicated-admin-classic-cli"></a>

1. 使用以下命令授予`dedicated-admin`許可。執行下列命令，將 `<IDP_USER_NAME>` 和 取代`<CLUSTER_NAME>`為您的使用者和 叢集 名稱。

   ```
   rosa grant user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
   ```

1. 確認使用者列為 `cluster-admins`群組的成員。

   ```
   rosa list users --cluster=<CLUSTER_NAME>
   ```

## 叢集 透過 Red Hat 混合雲端主控台存取
<a name="console-access-classic-cli"></a>

建立 叢集 管理員使用者或將使用者新增至您設定的身分提供者後，您可以透過 叢集 Red Hat 混合雲端主控台登入您的 。

1.  叢集 使用下列命令取得 的主控台 URL。`<CLUSTER_NAME>` 將 取代為 的名稱 叢集。

   ```
   rosa describe cluster -c <CLUSTER_NAME> | grep Console
   ```

1. 導覽至輸出中的主控台 URL 並登入。
   + 如果您建立了`cluster-admin`使用者，請使用提供的登入資料登入。
   + 如果您已為 設定身分提供者 叢集，請在**使用...登入**對話方塊中選擇身分提供者名稱，然後完成提供者提出的任何授權請求。

## 從 開發人員目錄部署應用程式
<a name="deploy-app-classic-cli"></a>

從 Red Hat 混合雲端主控台，您可以部署 Developer Catalog 測試應用程式，並使用路由公開它。

1. 導覽至 [Red Hat 混合雲端主控台](https://console.redhat.com/openshift)，然後選擇您要部署應用程式的叢集。

1. 在叢集的頁面上，選擇**開啟主控台**。

1. 在**管理員**角度中，選擇**首頁** > **專案** > **建立專案**。

1. 輸入專案的名稱，並選擇性地新增**顯示名稱**和**描述**。

1. 選擇**建立**以建立專案。

1. 切換到**開發人員**觀點，然後選擇 **\$1新增**。請確定選取的專案是剛建立的專案。

1. 在**開發人員目錄**對話方塊中，選擇**所有服務**。

1. 在**開發人員目錄**頁面中，從功能表中選擇**語言** > **JavaScript**。

1. 選擇 **Node.js**，然後選擇**建立應用程式**以開啟**建立Source-to-Image應用程式**頁面。
**注意**  
您可能需要選擇**清除所有篩選條件**以顯示 **Node.js** 選項。

1. 在 **Git** 區段中，選擇**嘗試範例**。

1. 在**名稱**欄位中，新增唯一的名稱。

1. 選擇**建立**。
**注意**  
新應用程式部署需要幾分鐘的時間。

1. 部署完成時，請選擇應用程式的路由 URL。

   瀏覽器中的新索引標籤會開啟，並顯示類似以下內容的訊息。

   ```
   Welcome to your Node.js application on OpenShift
   ```

1. （選用） 刪除應用程式並清除資源：

   1. 在**管理員**觀點中，選擇**首頁** > **專案**。

   1. 開啟專案的動作選單，然後選擇**刪除專案**。

## 從使用者撤銷`cluster-admin`許可
<a name="revoke-cluster-admin-classic-cli"></a>

1. 使用下列命令撤銷`cluster-admin`許可。將 `<IDP_USER_NAME>` 和 取代`<CLUSTER_NAME>`為您的使用者和 叢集 名稱。

   ```
   rosa revoke user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
   ```

1. 確認使用者未列為`cluster-admins`群組的成員。

   ```
   rosa list users --cluster=<CLUSTER_NAME>
   ```

## 從使用者撤銷`dedicated-admin`許可
<a name="revoke-dedicated-admin-classic-cli"></a>

1. 使用以下命令撤銷`dedicated-admin`許可。將 `<IDP_USER_NAME>` 和 取代`<CLUSTER_NAME>`為您的使用者和 叢集 名稱。

   ```
   rosa revoke user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
   ```

1. 確認使用者未列為`dedicated-admins`群組的成員。

   ```
   rosa list users --cluster=<CLUSTER_NAME>
   ```

## 撤銷使用者對 的存取權 叢集
<a name="revoke-user-classic-cli"></a>

您可以撤銷身分提供者使用者的 叢集 存取權，方法是將他們從設定的身分提供者中移除。

您可以為 設定不同類型的身分提供者 叢集。下列程序會撤銷 GitHub 組織成員的 叢集 存取權。

1. 導覽至 [github.com](https://github.com/) 並登入您的 GitHub 帳戶。

1. 從 GitHub 組織移除使用者。如需詳細資訊，請參閱 GitHub 文件中的[從您的組織移除成員](https://docs.github.com/en/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization)。

## 刪除叢集 AWS STS 和資源
<a name="delete-cluster-classic-cli"></a>

您可以使用 ROSA CLI 來刪除使用 AWS Security Token Service () 叢集 的AWS STS。您也可以使用 ROSA CLI 來刪除 建立 IAM 的角色和 OIDC 提供者 ROSA。若要刪除 建立 IAM 的政策 ROSA，您可以使用 IAM 主控台。

**重要**  
 IAM 建立的 角色和政策 ROSA 可能由相同帳戶中的其他 ROSA 叢集使用。

1. 刪除 叢集 並監看日誌。`<CLUSTER_NAME>` 將 取代為 的名稱或 ID 叢集。

   ```
   rosa delete cluster --cluster=<CLUSTER_NAME> --watch
   ```
**重要**  
您必須等待 完全 叢集 刪除，才能移除 IAM 角色、政策和 OIDC 供應商。刪除安裝程式建立的資源需要帳戶 IAM 角色。需要操作員 IAM 角色才能清除 OpenShift 操作員建立的資源。運算子使用 OIDC 提供者進行身分驗證。

1. 執行下列命令，刪除 叢集 運算子用來驗證的 OIDC 提供者。

   ```
   rosa delete oidc-provider -c <CLUSTER_ID> --mode auto
   ```

1. 刪除叢集特定的運算子 IAM 角色。

   ```
   rosa delete operator-roles -c <CLUSTER_ID> --mode auto
   ```

1. 使用下列命令刪除帳戶 IAM 角色。`<PREFIX>` 將 取代為要刪除的帳戶 IAM 角色的字首。如果您在建立帳戶 IAM 角色時指定了自訂字首，請指定預設`ManagedOpenShift`字首。

   ```
   rosa delete account-roles --prefix <PREFIX> --mode auto
   ```

1. 刪除 建立 IAM 的政策 ROSA。

   1. 登入 [IAM 主控台](https://console.aws.amazon.com/iamv2/home#/home)。

   1. 在**存取管理**下的左側選單中，選擇**政策**。

   1. 選取您要刪除的政策，然後選擇**動作** > **刪除**。

   1. 輸入政策名稱，然後選擇**刪除**。

   1. 重複此步驟來刪除 的每個 IAM 政策 叢集。