本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ROSAHCP使用 ROSA CLI
以下各節說明如何開始使ROSA用主體控制平面 (使ROSA用HCP) AWS STS 和 ROSA CLI。如需使用 Terraform 建立ROSA含HCP叢集的步驟,請參閱 Red Hat
所以此 ROSA CLI使用auto
模式或manual
模式來建立 IAM 創建一個所需的資源和 OpenID Connect(OIDC)配置 ROSA
叢集。 auto
模式會自動創建所需的 IAM 角色和策略和OIDC提供者。 manual
模式輸出 AWS CLI 建立 IAM 手動資源。通過使用manual
模式,您可以查看生成的 AWS CLI 指令,然後再手動執行它們。使用manual
模式,您也可以將命令傳遞給組織中的其他管理員或群組,以便他們可以建立資源。
本文件中的程序使用 auto
ROSA CLI創建所需的 IAM ROSA使用的資源和OIDC組態HCP。如需開始使用的更多選項,請參閱開始使用 ROSA。
主題
必要條件
完成中列出的先決條件動作設定使用 ROSA。
建立 Amazon VPC 架構
下列程序會建立 Amazon VPC 可用於主控叢集的架構。全部 叢集 資源託管在私有子網路中。公用子網路會透過NAT閘道將來自私人子網路的輸出流量路由至公用網際網路。此範例使10.0.0.0/16
用CIDR區塊 Amazon VPC。 但是,您可以選擇不同的CIDR塊。如需詳細資訊,請參閱VPC調整大小。
重要
If Amazon VPC 不符合需求,叢集建立失敗。
建立必要的 IAM 角色和 OpenID Connect 配置
在建立ROSA含HCP叢集之前,您必須先建立必要的 IAM 角色和策略以及 OpenID Connect(OIDC)配置。如需關於 IAM 與的角色和策略 ROSAHCP,請參閱AWS 的 受管政策 ROSA。
此程序使用的auto
模式 ROSA CLI以自動建立使ROSA用HCP叢集建立所需的OIDC組態。
-
建立必要的 IAM 帳號角色和策略。此
--force-policy-creation
參數會更新任何現有的角色和原則。如果沒有角色和策略存在,則命令會改為建立這些資源。rosa create account-roles --force-policy-creation
注意
如果您的離線訪問令牌已過期, ROSA CLI輸出錯誤消息,指出您的授權令牌需要更新。如需疑難排解的步驟,請參閱解決 ROSA CLI過期的離線訪問令牌。
-
建立 OpenID Connect (OIDC) 配置,以啟用叢集的使用者驗證。此配置已註冊以與 OpenShift 叢集管理員 (OCM) 搭配使用。
rosa create oidc-config --mode=auto
-
複製中提供的OIDC配置 ID ROSA CLI輸出。稍後需要提供OIDC配置 ID 以創建ROSA帶HCP集群。
-
若要確認與使用者組織相關聯之叢集的可用組OIDC態,請執行下列命令。
rosa list oidc-config
-
建立必要的 IAM 操作員角色,
<OIDC_CONFIG_ID>
替換為先前複製的OIDC配置 ID。重要
建立「操作員」角色
<PREFIX_NAME>
時,您必須在中提供前置詞。如果不這樣做會產生錯誤。rosa create operator-roles --prefix <PREFIX_NAME> --oidc-config-id <OIDC_CONFIG_ID> --hosted-cp
-
若要驗證 IAM 操作員角色被創建,運行以下命令:
rosa list operator-roles
ROSAHCP使用 ROSA CLI和 AWS STS
您可以使ROSA用 HCP 叢集 使用 AWS Security Token Service (AWS STS) 以及在中提供的auto
模式 ROSA CLI。您可以選擇使用公用API和 Ingress 或私人API和入口來建立叢集。
您可以建立 叢集 具有單一可用區域 (單一可用區域) 或多個可用區域 (異地同步備份)。在任何一種情況下,您的機器的CIDR值都必須符合您VPC的CIDR價值。
下列程序使用指rosa create cluster --hosted-cp
令建立單一可用區 ROSA HCP 叢集。 若要建立異地同步備份 叢集,multi-az
在命令和您要部署的每個私有子網路中指定私有子網路。IDs
-
ROSA使用下列命令之一建立含HCP叢集。
-
建立ROSA具有公用API和 Ingress 的HCP叢集,並指定叢集名稱、操作員角色前置詞、OIDC組態 ID 以及公用和私有子網路IDs。
rosa create cluster --cluster-name=<CLUSTER_NAME> --sts --mode=auto --hosted-cp --operator-roles-prefix <OPERATOR_ROLE_PREFIX> --oidc-config-id <OIDC_CONFIG_ID> --subnet-ids=<PUBLIC_SUBNET_ID>,<PRIVATE_SUBNET_ID>
-
使用私ROSA有API和 Ingress 建立具有HCP叢集,並指定叢集名稱、操作員角色前置詞、OIDC組態 ID 和私有子網路IDs。
rosa create cluster --private --cluster-name=<CLUSTER_NAME> --sts --mode=auto --hosted-cp --subnet-ids=<PRIVATE_SUBNET_ID>
-
-
檢查您的狀態 叢集.
rosa describe cluster -c <CLUSTER_NAME>
注意
如果建立程序失敗或
State
欄位在 10 分鐘後未變更為就緒狀態,請參閱故障診斷。要聯繫 AWS Support 或 Red Hat 支援以尋求協助,請參閱獲得 ROSA 支持。
-
跟踪的進度 叢集 通過觀看 OpenShift 安裝程序日誌創建。
rosa logs install -c <CLUSTER_NAME> --watch
設定身分識別提供者並授予 叢集 存取
ROSA 包括一個內置OAuth服務器。之後你 叢集 已建立,您必須設定OAuth為使用身分識別提供者。然後,您可以將使用者新增至設定的身分識別提供者,以授予他們存取您的 叢集。 您可以視需要授與這些使用者cluster-admin
或dedicated-admin
權限。
您可以設定不同的身分識別提供者類型 ROSA 叢集。 支持的類型包括 GitHub 企業 GitHub GitLab,谷歌,LDAP,OpenID Connect 和HTPasswd身份提供商。
重要
僅包含HTPasswd身分識別提供者,以便建立單一靜態系統管理員使用者。HTPasswd不支援做為下列項目的一般使用身分識別提供者 ROSA.
下列程序會將 GitHub 身分識別提供者設定為範例。如需有關如何設定每個支援的身分識別提供者類型的指示,請參閱設定身分識別提供者 AWS STS
-
導航到網站
並登錄到您的帳戶。 GitHub -
如果您沒有 GitHub 組織可用於您的身分佈建 叢集,建立一個。如需詳細資訊,請參閱 GitHub 文件中的步驟
。 -
使用 ROSA CLI的互動模式,為您的叢集配置身分識別提供者。
rosa create idp --cluster=<CLUSTER_NAME> --interactive
-
按照輸出中的配置提示進行限制 叢集 存取您 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' ...
-
在輸出URL中開啟,以您 GitHub 組織
<GITHUB_ORG_NAME>
的名稱取代。 -
在 GitHub 網頁上,選擇 [註冊應用程式] 以在 GitHub 組織中註冊新的OAuth應用程式。
-
執行下列命令,使用 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網繭。 -
確認身分識別提供者已正確設定。
rosa list idps --cluster=<CLUSTER_NAME>
授與使用者存取 叢集
您可以授予使用者存取 叢集 將它們新增至已設定的身分識別提供者。
下列程序會將使用者新增至已設定為識別佈建的 GitHub 組織至叢集。
-
導航到網站
並登錄到您的帳戶。 GitHub -
邀請有需要的使用者 叢集 存取您的 GitHub 組織。如需詳細資訊,請參閱 GitHub 文件中的邀請使用者加入您的組織
。
設定cluster-admin
權限
-
執行下列命令以授與
cluster-admin
權限。將<IDP_USER_NAME>
和取代為您<CLUSTER_NAME>
的使用者和叢集名稱。rosa grant user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
-
確認使用者是否列為
cluster-admins
群組的成員。rosa list users --cluster=<CLUSTER_NAME>
設定dedicated-admin
權限
-
使用以下命令授予
dedicated-admin
權限。替換<IDP_USER_NAME>
您<CLUSTER_NAME>
的用戶和 叢集 通過運行以下命令來命名。rosa grant user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
-
確認使用者是否列為
cluster-admins
群組的成員。rosa list users --cluster=<CLUSTER_NAME>
訪問一個 叢集 透過 Red Hat 混合式雲端主控台
登錄到您的 叢集 透過 Red Hat 混合式雲端主控台。
-
取得您的主控台 URL 叢集 使用下面的命令。替
<CLUSTER_NAME>
換為您的名稱 叢集.rosa describe cluster -c <CLUSTER_NAME> | grep Console
-
導航到輸出URL中的控制台並登錄。
在 [使用... 登入] 對話方塊中,選擇身分識別提供者名稱,並完成提供者提出的任何授權要求。
從開發人員目錄部署應用程式
您可以從 Red Hat 混合式雲端主控台部署開發人員目錄測試應用程式,並以路由公開。
-
瀏覽至 Red Hat 混合式雲端主控台
,然後選擇您要部署應用程式的叢集。 -
在叢集頁面上,選擇 [開啟主控台]。
-
在「管理員」觀點中,選擇「首頁 > 專案 > 建立專案」。
-
輸入專案的名稱,並選擇性地新增「顯示名稱」與「摘要」。
-
選擇 [建立] 以建立專案。
-
切換到開發人員視角,然後選擇 + 添加。請確定選取的專案是剛建立的專案。
-
在開發人員目錄對話框中,選擇所有服務。
-
在「開發人員目錄」頁面中,JavaScript從選單中選擇語言 >。
-
選擇 Node.js,然後選擇建立應用程式,開啟「建立來源到影像的應用程式」頁面。
注意
您可能需要選擇「清除所有篩選器」才能顯示 Node.js 選項。
-
在「Git」區段中,選擇「試用範例」。
-
在「名稱」欄位中,新增唯一名稱。
-
選擇 Create (建立)。
注意
新的應用程式需要幾分鐘的時間來部署。
-
部署完成時,請選擇應用程式URL的路由。
瀏覽器中會開啟一個新標籤,其中包含類似下列內容的訊息。
Welcome to your Node.js application on OpenShift
-
(選擇性) 刪除應用程式並清理資源:
-
在「管理員」觀點中,選擇「首頁 > 專案」。
-
開啟專案的動作功能表,然後選擇 [刪除專案]。
-
撤銷使用者的cluster-admin
權限
-
使用下列命令撤銷
cluster-admin
權限。替換<IDP_USER_NAME>
您<CLUSTER_NAME>
的用戶和 叢集 名稱。rosa revoke user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
-
確認使用者未列為
cluster-admins
群組成員。rosa list users --cluster=<CLUSTER_NAME>
撤銷使用者的dedicated-admin
權限
-
使用下列命令撤銷
dedicated-admin
權限。替換<IDP_USER_NAME>
您<CLUSTER_NAME>
的用戶和 叢集 名稱。rosa revoke user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
-
確認使用者未列為
dedicated-admins
群組成員。rosa list users --cluster=<CLUSTER_NAME>
撤銷使用者存取 叢集
您可以撤銷 叢集 透過將身分識別提供者使用者從設定的身分識別提供者中移除,以存取
您可以設定不同類型的身分識別提供者 叢集。 撤銷以下程序 叢集 組織成員的存取 GitHub 權。
刪除叢集和 AWS STS resources
您可以使用 ROSA CLI若要刪除 叢集 使用 AWS Security Token Service (AWS STS). 您也可以使用 ROSA CLI若要刪除 IAM 建立OIDC者的角色和提供者 ROSA。 若要刪除 IAM 策略建立者 ROSA,您可以使用 IAM 控制台。
注意
IAM 由建立的角色和策略 ROSA 可能被其他人使用 ROSA 同一帳戶中的叢集。
-
刪除 叢集 並觀看日誌。替
<CLUSTER_NAME>
換為您的姓名或 ID 叢集.rosa delete cluster --cluster=<CLUSTER_NAME> --watch
重要
您必須等待 叢集 在刪除之前完全刪除 IAM 角色、策略和OIDC提供者。需要帳號IAM角色才能刪除安裝程式建立的資源。操作員IAM角色需要清理 OpenShift 操作員創建的資源。運營商使用OIDC提供程序進行身份驗證。
-
刪除OIDC提供者 叢集 運營商用於通過運行以下命令進行身份驗證。
rosa delete oidc-provider -c <CLUSTER_ID> --mode auto
-
刪除叢集特定的運算子 IAM 角色。
rosa delete operator-roles -c <CLUSTER_ID> --mode auto
-
使用下列命令刪除帳號IAM角色。以要刪除之帳號IAM角色的前置詞取
<PREFIX>
代。如果您在建立帳號IAM角色時指定了自訂前置詞,請指定預設ManagedOpenShift
前置詞。rosa delete account-roles --prefix <PREFIX> --mode auto
-
刪除 IAM 策略建立者 ROSA.
-
登入 IAM 控制台
。 -
在 [存取管理] 下的左側功能表中,選擇 [原則]。
-
選取您要刪除的策略,然後選擇 [動作] > [刪除]。
-
輸入策略名稱,然後選擇「刪除」。
-
重複此步驟,以刪除 IAM 叢集.
-