使用建立ROSA傳統叢集 ROSA CLI - Red Hat OpenShift Service on AWS

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

使用建立ROSA傳統叢集 ROSA CLI

以下各節說明如何開始使用ROSA傳統使用 AWS STS 和 ROSA CLI。如需使用 Terraform 建立ROSA傳統叢集的步驟,請參閱 Red Hat 文件。若要深入瞭解用於建立的 Terraform 提供者 ROSA 集群,請參閱地形文檔。

所以此 ROSA CLI使用auto模式或manual模式來建立 IAM 提供一個所需的資源 ROSA 叢集。 auto模式立即創建所需的 IAM 角色和策略以及 OpenID Connect(OIDC)提供程序。 manual模式輸出 AWS CLI 建立 IAM 的費用。通過使用manual模式,您可以查看生成的 AWS CLI 指令,然後再手動執行它們。使用manual模式,您也可以將命令傳遞給組織中的其他管理員或群組,以便他們可以建立資源。

如需開始使用的更多選項,請參閱開始使用 ROSA

必要條件

完成中列出的先決條件動作設定使用 ROSA

使用建立ROSA傳統叢集 ROSA CLI和 AWS STS

你可以創造一個ROSA經典 叢集 使用 ROSA CLI和 AWS STS.

  1. 建立必要的 IAM 使用或的帳號角色和策--mode auto--mode manual

    • rosa create account-roles --classic --mode auto
    • rosa create account-roles --classic --mode manual
      注意

      如果您的離線訪問令牌已過期, ROSA CLI輸出錯誤消息,指出您的授權令牌需要更新。如需疑難排解的步驟,請參閱解決 ROSA CLI過期的離線訪問令牌

  2. 創建一個 叢集 使用--mode auto--mode manualauto模式可讓您更快速地建立叢集。 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模式中啟用 etcd 加密,則會產生約 20% 的效能額外負荷。除了加密 etcd 磁碟區的預設 Amazon 加密之外,還引入了第二層EBS加密所造成的額外負荷。

      注意

      在執行manual模式建立叢集之後,您需要手動建立叢集特定的操作員IAM角色,以及叢集操作員用來驗證的 OpenID Connect 提供者。

  3. 檢查您的狀態 叢集.

    rosa describe cluster -c <CLUSTER_NAME>
    注意

    如果佈建程序失敗或State欄位在 40 分鐘後未變更為就緒狀態,請參閱故障診斷。要聯繫 AWS Support 或 Red Hat 支援以尋求協助,請參閱獲得 ROSA 支持

  4. 跟踪的進度 叢集 通過觀看 OpenShift 安裝程序日誌創建。

    rosa logs install -c <CLUSTER_NAME> --watch

設定身分識別提供者並授予 叢集 存取

ROSA 包括一個內置OAuth服務器。之後你 叢集 已建立,您必須設定OAuth為使用身分識別提供者。然後,您可以將使用者新增至設定的身分識別提供者,以授予他們存取您的 叢集。 您可以視需要授與這些使用者cluster-admindedicated-admin權限。

您可以設定不同的身分識別提供者類型 ROSA 叢集。 支持的類型包括 GitHub 企業 GitHub GitLab,谷歌,LDAP,OpenID Connect 和HTPasswd身份提供商。

重要

僅包含HTPasswd身分識別提供者,以便建立單一靜態系統管理員使用者。HTPasswd不支援做為下列項目的一般使用身分識別提供者 ROSA.

下列程序會將 GitHub 身分識別提供者設定為範例。如需有關如何設定每個支援的身分識別提供者類型的指示,請參閱設定身分識別提供者 AWS STS.

  1. 導航到網站並登錄到您的帳戶。 GitHub

  2. 如果您沒有 GitHub 組織可用於您的身分佈建 叢集,建立一個。如需詳細資訊,請參閱 GitHub 文件中的步驟

  3. 使用 ROSA CLI的互動模式,為您的叢集配置身分識別提供者。

    rosa create idp --cluster=<CLUSTER_NAME> --interactive
  4. 按照輸出中的配置提示進行限制 叢集 存取您 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' ...
  5. 在輸出URL中開啟,以您 GitHub 組織<GITHUB_ORG_NAME>的名稱取代。

  6. 在 GitHub 網頁上,選擇 [註冊應用程式] 以在 GitHub 組織中註冊新的OAuth應用程式。

  7. 執行下列命令,使用 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網繭。

  8. 確認身分識別提供者已正確設定。

    rosa list idps --cluster=<CLUSTER_NAME>

授與使用者存取 叢集

您可以授予使用者存取 叢集 將它們新增至已設定的身分識別提供者。

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

  1. 導航到網站並登錄到您的帳戶。 GitHub

  2. 邀請有需要的使用者 叢集 存取您的 GitHub 組織。如需詳細資訊,請參閱 GitHub 文件中的邀請使用者加入您的組織

設定cluster-admin權限

  1. 執行下列命令以授與cluster-admin權限。將<IDP_USER_NAME>和取代為您<CLUSTER_NAME>的使用者和叢集名稱。

    rosa grant user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. 確認使用者是否列為cluster-admins群組的成員。

    rosa list users --cluster=<CLUSTER_NAME>

設定dedicated-admin權限

  1. 使用以下命令授予dedicated-admin權限。替換<IDP_USER_NAME><CLUSTER_NAME>的用戶和 叢集 通過運行以下命令來命名。

    rosa grant user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. 確認使用者是否列為cluster-admins群組的成員。

    rosa list users --cluster=<CLUSTER_NAME>

訪問一個 叢集 透過 Red Hat 混合式雲端主控台

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

  1. 取得您的主控台 URL 叢集 使用下面的命令。替<CLUSTER_NAME>換為您的名稱 叢集.

    rosa describe cluster -c <CLUSTER_NAME> | grep Console
  2. 導航到輸出URL中的控制台並登錄。

    • 如果您已建立使用cluster-admin者,請使用提供的認證登入。

    • 如果您已為您的身分識別提供者設定 叢集,在 [使用... 登入] 對話方塊中選擇身分識別提供者名稱,並完成您的提供者提出的任何授權要求。

從開發人員目錄部署應用程式

您可以從 Red Hat 混合式雲端主控台部署開發人員目錄測試應用程式,並透過路由公開它。

  1. 瀏覽至 Red Hat 混合式雲端主控台,然後選擇您要部署應用程式的叢集。

  2. 在叢集頁面上,選擇 [開啟主控台]。

  3. 在「管理員」觀點中,選擇「首頁 > 案 > 建立專案」。

  4. 輸入專案的名稱,並選擇性地新增「顯示名稱」與「摘要」。

  5. 選擇 [建立] 以建立專案。

  6. 切換到開發人員視角,然後選擇 + 添加。請確定選取的專案是剛建立的專案。

  7. 開發人員目錄對話框中,選擇所有服務

  8. 在「開發人員目錄」頁面中,JavaScript從選單中選擇「語言」>。

  9. 選擇 Node.js,然後選擇建立應用程式,開啟「建立來源到影像的應用程式」頁面。

    注意

    您可能需要選擇「清除所有篩選器」才能顯示 Node.js 選項。

  10. 在「Git」區段中,選擇「試用範例」。

  11. 在「名」欄位中,新增唯一名稱。

  12. 選擇 Create (建立)。

    注意

    新的應用程式需要幾分鐘的時間來部署。

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

    瀏覽器中會開啟一個新標籤,其中包含類似下列內容的訊息。

    Welcome to your Node.js application on OpenShift
  14. (選擇性) 刪除應用程式並清理資源:

    1. 在「管理員」觀點中,選擇「首頁 > 專案」。

    2. 開啟專案的動作功能表,然後選擇 [刪除專案]。

撤銷使用者的cluster-admin權限

  1. 使用下列命令撤銷cluster-admin權限。替換<IDP_USER_NAME><CLUSTER_NAME>的用戶和 叢集 名稱。

    rosa revoke user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. 確認使用者未列為cluster-admins群組成員。

    rosa list users --cluster=<CLUSTER_NAME>

撤銷使用者的dedicated-admin權限

  1. 使用下列命令撤銷dedicated-admin權限。替換<IDP_USER_NAME><CLUSTER_NAME>的用戶和 叢集 名稱。

    rosa revoke user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. 確認使用者未列為dedicated-admins群組成員。

    rosa list users --cluster=<CLUSTER_NAME>

撤銷使用者存取 叢集

您可以撤銷 叢集 透過將身分識別提供者使用者從設定的身分識別提供者中移除,以存取

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

  1. 導航到網站並登錄到您的帳戶。 GitHub

  2. 從您的 GitHub 組織中移除使用者。如需詳細資訊,請參閱 GitHub 文件中的從組織移除成員

刪除叢集和 AWS STS resources

您可以使用 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提供程序進行身份驗證。

  2. 刪除OIDC提供者 叢集 運營商用於通過運行以下命令進行身份驗證。

    rosa delete oidc-provider -c <CLUSTER_ID> --mode auto
  3. 刪除叢集特定的運算子 IAM 角色。

    rosa delete operator-roles -c <CLUSTER_ID> --mode auto
  4. 使用下列命令刪除帳號IAM角色。以要刪除之帳號IAM角色的前置詞取<PREFIX>代。如果您在建立帳號IAM角色時指定了自訂前置詞,請指定預設ManagedOpenShift前置詞。

    rosa delete account-roles --prefix <PREFIX> --mode auto
  5. 刪除 IAM 策略建立者 ROSA.

    1. 登入 IAM 控制台

    2. 在 [存取管理] 下的左側功能表中,選擇 [原則]。

    3. 選取您要刪除的策略,然後選擇 [動作] > [刪除]。

    4. 輸入策略名稱,然後選擇「刪除」。

    5. 重複此步驟,以刪除 IAM 叢集.