在手動模式下使用 ROSA CLI 開始使用 ROSA 經典版 - Red Hat OpenShift Service on AWS

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

在手動模式下使用 ROSA CLI 開始使用 ROSA 經典版

下列各節說明如何開始使用 ROSA 經典使用AWS STS和 ROSA CLI。如需 ROSA 傳統版的詳細資訊,請參閱部署選項

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

本文件中的程序使用 ROSA CLI 的manual模式來建立 ROSA 傳統版所需的IAM資源。如需更多開始使用的選項,請參閱開始使用ROSA

先決條件

開始之前,請確定您已完成下列動作:

  • 安裝和配置最新的AWS CLI. 如需詳細資訊,請參閱安裝或更新最新版本的 AWS CLI

  • 安裝和設定最新的 ROSA CLI 和 OpenShift 容器平台 CLI。如需詳細資訊,請參閱 ROSACLI 入門

  • Service Quotas必須為、和設定必要的服務配額 Amazon EC2 Amazon VPCAmazon EBS,才Elastic Load Balancing能建立和執行ROSA叢集。 AWS或 Red Hat 可能會根據問題解決的要求,代表您要求增加服務配額。若要檢視所需的配額,請參閱AWS一般參考中的Red Hat OpenShift Service on AWS端點和配額

  • 若要獲得的AWS支援ROSA,您必須啟用AWS商務、企業版加速或企業支援方案。Red Hat 可能會代表您要求AWS支援,以便解決問題。如需詳細資訊,請參 S upport ROSA。若要啟用AWS Support,請參閱AWS Support頁面

  • 如果您使用AWS Organizations來管理AWS 帳戶該主機ROSA服務,組織的服務控制原則 (SCP) 必須設定為允許 Red Hat 不受限制地執行 SCP 中列出的政策動作。如需詳細資訊,請參閱 ROSASCP 疑難排解說明文件。如需 SCP 的詳細資訊,請參閱服務控制原則 (SCP)

  • 如果AWS STS將ROSA叢集與部署到默認情況下禁用的啟用AWS 區域中,則必須使用以下命令將中所有區域的安全性權杖更新為版本 2。AWS 帳戶

    aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token

    如需啟用區域的詳細資訊,請參閱 AWS 一般參考AWS 區域中的管理

步驟 1:啟用ROSA並設定先決條件

若要建立 ROSA叢集,您必須先在AWSROSA主控台中啟用該ROSA服務。主AWSROSA控台會驗證您是否AWS 帳戶具有必要的AWS Marketplace權限、服務配額以及名為的 Elastic Load Balancing (ELB) 服務連結角色。AWSServiceRoleForElasticLoadBalancing如果缺少任何先決條件,主控台會提供如何設定帳戶以符合先決條件的指引。

  1. 導覽至 ROSA 主控台

  2. 選擇 Get started (開始使用)。

  3. 在 [驗證ROSA必要條件] 頁面上,選取 [我同意與 Red Hat 分享我的聯絡資訊]。

  4. 選擇「啟用」ROSA。

  5. 在頁面驗證您的服務配額符合ROSA先決條件並建立 ELB 服務連結角色後,請開啟新的終端機工作階段,以ROSA叢集使用 CLI 建立您的第一個終端機工作階段。ROSA

步驟 2:使用AWS STS和 ROSA CLI manual 模式建立 ROSA 傳統叢集

您可以使叢集用 AWS Security Token Service (AWS STS) 和 ROSA CLI 中提供的manual模式來建立 ROSA 經典。

建立時叢集,您可以執行以使用一系列互動式提示rosa create cluster --interactive來自訂部署。如需詳細資訊,請參閱 Red Hat 文件中的互動式叢集建立模式參考

佈建叢集之後,輸出中會提供單一命令。執行此命令以部署使用完全相同自訂組態的進一步叢集。

注意

AWS共用 VPC 目前不支援ROSA安裝。

  1. 建立必要的IAM帳號角色和策略。

    rosa create account-roles --mode manual
    注意

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

  2. 執行輸出中產生的AWS CLI命令,以建立角色和原則。

  3. 建立叢集具有 AWS STS in --interactive 模式以指定任何自訂設定。

    rosa create cluster --interactive --sts
    重要

    在 etcd 中為金鑰值啟用 etcd 加密之後,會產生約 20% 的效能額外負荷。除了加密 etcd 磁碟區的預設加密之外,還引入了第二層Amazon EBS加密所造成的額外負荷。

  4. 若要建立叢集特定的操作員IAM角色,請在目前的工作目錄中產生操作員原則 JSON 檔案,並輸出AWS CLI指令以供檢閱。

    rosa create operator-roles --mode manual --cluster <CLUSTER_NAME|CLUSTER_ID>
  5. 從輸出中運行AWS CLI命令。

  6. 創建叢集操作員用於進行身份驗證的 OpenID Connect(OIDC)提供程序。

    rosa create oidc-provider --mode auto --cluster <CLUSTER_NAME|CLUSTER_ID>
  7. 檢查您的叢集.

    rosa describe cluster -c <CLUSTER_NAME>
    注意

    如果建立程序失敗或State欄位在 40 分鐘後未變更為就緒狀態,請參閱疑難排解ROSA叢集建立問題

    若要聯絡AWS Support或 Red Hat Support 人員尋求協助,請參閱支援ROSA

  8. 透過觀看 OpenShift 安裝程式記錄來追蹤叢集建立進度。

    rosa logs install -c <CLUSTER_NAME> --watch

步驟 3:設定身分識別提供者並授與叢集存取權

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

您可以為您的叢集. 支援的類型包括: GitHub 企業版 GitHub GitLab、谷歌、LDAP、OpenID Connect 和 HTPassWD 身分識別提供者。

重要

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

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

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

  2. 如果您沒有 GitHub 組織可用於您的身分識別佈建 ROSA叢集,請建立一個組織。如需詳細資訊,請參閱 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_ORG_NAME>以您 GitHub 組織的名稱取代。

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

  7. 使用 GitHub OAuth 頁面中的資訊,使用下列命令填入剩餘的rosa create idp互動式提示。取代 GitHub OAuth 應用程式中的認證,<GITHUB_CLIENT_ID>並加<GITHUB_CLIENT_SECRET>以取代。

    ... ? 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>

步驟 4:授與使用者存取 叢集

您可以將使用者新增至已設定的叢集身分識別提供者,以授與使用者存取您的權限。

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

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

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

步驟 5:將管理員權限授與使用者

將使用者新增至設定的身分識別提供者後,您可以授與您的使用者cluster-admindedicated-admin權限叢集。

設定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權限。<CLUSTER_NAME>以您的使用者和叢集名稱取<IDP_USER_NAME>代和。

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

    rosa list users --cluster=<CLUSTER_NAME>

步驟 6:透叢集過 Web 主控台存取

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

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

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

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

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

步驟 7:從開發人員目錄部署應用程式

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

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

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

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

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

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

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

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

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

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

    注意

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

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

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

  12. 選擇 建立

    注意

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

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

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

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

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

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

步驟 8:撤銷管理員權限和用戶訪問權限

您可以使cluster-admin用 ROSA CLI 撤銷使用者的dedicated-admin權限。

若要撤銷使用者的存取權,您必須從設定的身分識別提供者中移除該使用者。

撤銷使用者的cluster-admin權限

  1. 使用下列命令撤銷cluster-admin權限。<CLUSTER_NAME>以您的使用者和叢集名稱取<IDP_USER_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權限。<CLUSTER_NAME>以您的使用者和叢集名稱取<IDP_USER_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 文件中的從組織移除成員

步驟 9:刪除叢集和AWS STS資源

您可以使用 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 政策叢集。