本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立使用的ROSA傳統叢集 AWS PrivateLink
ROSA傳統叢集可以透過幾種不同的方式部署:公用、私有或私有 AWS PrivateLink。 如需有關ROSA傳統的更多資訊,請參閱ROSA 架構。對於公共和私人 叢集 組態, OpenShift 叢集 可存取網際網路,並且在應用程式層的應用程式工作負載上設定隱私權。
如果您同時需要 叢集 並且應用程序工作負載是私有的,您可以配置 AWS PrivateLink 與ROSA經典。 AWS PrivateLink 是一種高可用性、可擴充的技術, ROSA 用於創建之間的私人連接 ROSA 中的服務和叢集資源 AWS 客戶帳戶。同 AWS PrivateLink,Red Hat 站台可靠性工程 (SRE) 團隊可以使用連線至叢集的私有子網路,存取叢集以取得支援和補救目的 AWS PrivateLink 端點。
如需關於 AWS PrivateLink,請參閱什麼是 AWS PrivateLink?
主題
必要條件
完成中列出的先決條件動作設定使用 ROSA。
建立 Amazon VPC 架構
下列程序會建立 Amazon VPC 可用於主控叢集的架構。全部 叢集 資源託管在私有子網路中。公用子網路會透過NAT閘道將來自私人子網路的輸出流量路由至公用網際網路。此範例使10.0.0.0/16
用CIDR區塊 Amazon VPC。 但是,您可以選擇不同的CIDR塊。如需詳細資訊,請參閱VPC調整大小。
重要
If Amazon VPC 不符合需求,叢集建立失敗。
使用建立ROSA傳統叢集 ROSA CLI和 AWS PrivateLink
您可以使用 ROSA CLI和 AWS PrivateLink 以建立 叢集 具有單一可用區域 (單一可用區域) 或多個可用區域 (異地同步備份)。在任何一種情況下,您的機器的CIDR值都必須符合您VPC的CIDR價值。
下列程序使用rosa create cluster
指令建立ROSA傳統 叢集。 若要建立異地同步備份 叢集,在命令--multi-az
中指定,然後選取您要在出現提示時使用的私人子網路IDs。
注意
如果您使用防火牆,則必須對其進行配置,以便 ROSA 可以訪問它需要發揮作用的網站。
如需詳細資訊,請參閱 AWS Red Hat OpenShift 文件
-
創建所需的 IAM 使用或的帳號角色和策
--mode auto
略--mode manual
。-
rosa create account-roles --classic --mode auto
-
rosa create account-roles --classic --mode manual
注意
如果您的離線訪問令牌已過期, ROSA CLI輸出錯誤消息,指出您的授權令牌需要更新。如需疑難排解的步驟,請參閱解決 ROSA CLI過期的離線訪問令牌。
-
-
創建一個 叢集 執行下列其中一個指令。
-
單一可用區
rosa create cluster --private-link --cluster-name=<CLUSTER_NAME> --machine-cidr=10.0.0.0/16 --subnet-ids=<PRIVATE_SUBNET_ID>
-
Multi-AZ
rosa create cluster --private-link --multi-az --cluster-name=<CLUSTER_NAME> --machine-cidr=10.0.0.0/16
注意
若要建立使用的叢集 AWS PrivateLink 取代為 AWS Security Token Service (AWS STS) 短暫的認證,附
--sts --mode manual
加--sts --mode auto
或rosa create cluster
命令的結尾。
-
-
創建 叢集 operator IAM 按照交互式提示進行角色。
rosa create operator-roles --interactive -c <CLUSTER_NAME>
-
創建 OpenID Connect(OIDC)提供程序 叢集 操作員用於驗證。
rosa create oidc-provider --interactive -c <CLUSTER_NAME>
-
檢查您的狀態 叢集.
rosa describe cluster -c <CLUSTER_NAME>
注意
最多可能需要 40 分鐘 叢集
State
顯示ready
狀態的欄位。如果佈建失敗或ready
在 40 分鐘後未顯示,請參閱故障診斷。要聯繫 AWS Support 或 Red Hat 支援以尋求協助,請參閱獲得 ROSA 支持。 -
跟踪的進度 叢集 通過觀看 OpenShift 安裝程序日誌創建。
rosa logs install -c <CLUSTER_NAME> --watch
設定 AWS PrivateLink DNS轉寄
使用的叢集 AWS PrivateLink 在中創建一個公共託管區域和私有託管區域 Route 53。 內的記錄 Route 53 私有託管區域只能從其分配到VPC的內部解析。
Let's Encrypt DNS -01 驗證需要一個公共區域,以便為域發行有效和公開信任的證書。驗證記錄會在「讓我們加密」驗證完成後刪除。發行和續訂這些憑證仍需要該區域,通常每 60 天需要一次。雖然這些區域通常顯示為空白,但公用區域在驗證程序中扮演重要角色。
如需關於 AWS 私人託管區域,請參閱使用私有區域。如需有關公用託管區域的詳細資訊,請參閱使用公有託管區域。
配置一個 Route 53 Resolver 入站端點
-
若要允許以外的記錄 (例
*.apps.<cluster_domain>
如api.<cluster_domain>
和解析)VPC,請設定 Route 53 Resolver 入站端點。注意
設定輸入端點時,您必須至少指定兩個 IP 位址以進行備援。建議您至少在兩個可用區域中指定 IP 地址。您可以在那些或其他可用區域選擇性指定其他 IP 地址。
-
設定輸入端點時,請選取建立叢集時使用的VPC和私人子網路。
設定叢集的DNS轉送
之後 Route 53 Resolver 內部端點已關聯且正常運作,請設定DNS轉送,以便您網路上的指定伺服器可以處理DNS查詢。
-
將您的公司網路設定為將DNS查詢轉寄至頂層網域的 IP 位址,例如
drow-pl-01.htno.p1.openshiftapps.com
。 -
如果您要將DNS查詢從一個轉寄VPC到另一個VPC,請依照管理轉寄規則中的指示操作。
-
如果您要設定遠端網路DNS伺服器,請參閱特定DNS伺服器說明文件,為已安裝的叢集網域設定選擇性DNS轉送。
設定身分識別提供者並授予 叢集 存取
ROSA 包括一個內置OAuth服務器。之後你 ROSA
叢集 已建立,您必須設定OAuth為使用身分識別提供者。然後,您可以將使用者新增至設定的身分識別提供者,以授予他們存取您的 叢集。 您可以視需要授與這些使用者cluster-admin
或dedicated-admin
權限。
您可以設定不同的身分識別提供者類型 叢集。 支持的類型包括 GitHub 企業 GitHub GitLab,谷歌,LDAP,OpenID Connect 和HTPasswd身份提供商。
重要
僅包含HTPasswd身分識別提供者,以便建立單一靜態系統管理員使用者。HTPasswd不支援做為下列項目的一般使用身分識別提供者 ROSA.
下列程序會將 GitHub 身分識別提供者設定為範例。如需有關如何設定每個支援的身分識別提供者類型的指示,請參閱設定身分識別提供者 AWS STS
-
導航到網站
並登錄到您的帳戶。 GitHub -
如果您沒有 GitHub 組織可用於您的身分佈建 ROSA 叢集,建立一個。如需詳細資訊,請參閱 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 OAuth應<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網繭。 -
確認身分識別提供者已正確設定。
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中的控制台並登錄。
-
如果您已建立使用
cluster-admin
者,請使用提供的認證登入。 -
如果您已為您設定身分識別提供者 叢集,在 [使用... 登入] 對話方塊中選擇身分識別提供者名稱,並完成您的提供者提出的任何授權要求。
-
從開發人員目錄部署應用程式
您可以從 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 叢集.
-