第7章 ROSA CLI
7.1. ROSA CLI の使用を開始する リンクのコピーリンクがクリップボードにコピーされました!
7.1.1. ROSA CLI について リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS (ROSA) コマンドラインインターフェイス (CLI) の rosa
コマンドを使用して、ROSA クラスターとリソースを作成、更新、管理、および削除します。
7.1.2. ROSA CLI のセットアップ リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、インストールホストに ROSA CLI (rosa
) をインストールし、設定します。
手順
最新の AWS CLI (
aws
) をインストールして設定します。AWS コマンドラインインターフェイス ドキュメントに従って、お使いのオペレーティングシステム用の AWS CLI をインストールし、設定します。
.aws/credentials
ファイルにaws_access_key_id
、aws_secret_access_key
、およびregion
を指定します。AWS ドキュメントの AWS 設定の基本 を参照してください。注記オプションで
AWS_DEFAULT_REGION
環境変数を使用して、デフォルトの AWS リージョンを設定できます。AWS API をクエリーし、AWS CLI が適切にインストールおよび設定されているかどうかを確認します。
aws sts get-caller-identity --output text
$ aws sts get-caller-identity --output text
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
<aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
<aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
OpenShift Cluster Manager の Downloads ページから、お使いのオペレーティングシステムの ROSA CLI (
rosa
) の最新バージョンをダウンロードします。 ダウンロードしたアーカイブから
rosa
バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからバイナリーをデプロイメントします。tar xvf rosa-linux.tar.gz
$ tar xvf rosa-linux.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パスに
rosa
を加えてください。以下の例では、/usr/local/bin
ディレクトリーがユーザーのパスに含まれます。sudo mv rosa /usr/local/bin/rosa
$ sudo mv rosa /usr/local/bin/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa
バージョンをクエリーして、ROSA CLI ツールが適切にインストールされていることを確認します。rosa version
$ rosa version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
1.2.15 Your ROSA CLI is up to date.
1.2.15 Your ROSA CLI is up to date.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ROSA CLI のタブ補完を有効にします。タブ補完を有効にすると、
Tab
キーを 2 回押すことでサブコマンドが自動的に補完され、コマンドの提案が表示されます。Linux ホストで Bash のタブ補完を永続的に有効にするには、以下を実行します。
Bash 用の
rosa
タブ補完設定ファイルを生成し、/etc/bash_completion.d/
ディレクトリーに保存します。rosa completion bash > /etc/bash_completion.d/rosa
# rosa completion bash > /etc/bash_completion.d/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しいターミナルを開き、設定を有効にします。
macOS ホストで Bash のタブ補完を永続的に有効にするには、以下を実行します。
Bash 用の
rosa
タブ補完設定ファイルを生成し、/usr/local/etc/bash_completion.d/
ディレクトリーに保存します。rosa completion bash > /usr/local/etc/bash_completion.d/rosa
$ rosa completion bash > /usr/local/etc/bash_completion.d/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しいターミナルを開き、設定を有効にします。
Zsh ホストのタブ補完を永続的に有効にするには、以下を実行します。
Zsh 環境でタブ補完が有効になっていない場合は、以下のコマンドを実行して有効にします。
echo "autoload -U compinit; compinit" >> ~/.zshrc
$ echo "autoload -U compinit; compinit" >> ~/.zshrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Zsh の
rosa
タブ補完設定ファイルを生成し、関数パスの最初のディレクトリーに保存します。rosa completion zsh > "${fpath[1]}/_rosa"
$ rosa completion zsh > "${fpath[1]}/_rosa"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しいターミナルを開き、設定を有効にします。
fish のタブ補完を永続的に有効にするには、以下を実行します。
fish 用の
rosa
タブ補完設定ファイルを生成し、~/.config/fish/completions/
ディレクトリーに保存します。rosa completion fish > ~/.config/fish/completions/rosa.fish
$ rosa completion fish > ~/.config/fish/completions/rosa.fish
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しいターミナルを開き、設定を有効にします。
PowerShell のタブ補完を永続的に有効にするには、以下を実行します。
PowerShell の
rosa
タブ補完設定ファイルを生成し、rosa.ps1
という名前のファイルに保存します。PS> rosa completion powershell | Out-String | Invoke-Expression
PS> rosa completion powershell | Out-String | Invoke-Expression
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
PowerShell プロファイルから
rosa.ps1
ファイルを取得します。
注記rosa
タブ補完の設定に関する詳細は、rosa completion --help
コマンドを実行してヘルプメニューを参照してください。
7.1.3. ROSA CLI の設定 リンクのコピーリンクがクリップボードにコピーされました!
次のコマンドを使用して、Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
) を設定します。
7.1.3.1. login リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
) を使用して Red Hat アカウントにログインする方法は複数あります。ログイン方法については以下で詳しく説明します。
7.1.3.1.1. Red Hat Single Sign-On を使用した ROSA CLI の認証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On を使用して ROSA CLI (rosa
) にログインできます。Red Hat では、オフライン認証トークンを使用する代わりに、Red Hat Single Sign-On で rosa
コマンドラインツールを使用することを推奨しています。
オフライン認証トークンは長期間有効で、オペレーティングシステムに保存され、取り消すことはできません。このような要因が原因で、全体的なセキュリティーリスクが高まり、アカウントへの不正アクセスの可能性が高まります。
または、Red Hat Single Sign-On 方法で認証すると、rosa
インスタンスに 10 時間有効な更新トークンが自動的に送信されます。この一意の一時認可コードにより、セキュリティーが強化され、不正アクセスのリスクが軽減されます。
Red Hat Single Sign-On を使用した認証方法では、オフライントークンに依存する既存の自動化が損なわれることはありません。Red Hat では、自動化の目的で サービスアカウント を使用することを推奨しています。自動化やその他の目的でオフライントークンを引き続き使用する必要がある場合は、 OpenShift Cluster Manager API Token ページから OpenShift Cluster Manager API トークンをダウンロードできます。
次のいずれかの認証方法を使用します。
- システムに Web ブラウザーがある場合は、「Single Sign-On 認可コードによる ROSA CLI の認証」セクションを参照して、Red Hat Single Sign-On で認証してください。
- Web ブラウザーのないコンテナー、リモートホスト、またはその他の環境を使用している場合は、「Single Sign-On デバイスコードによる ROSA CLI の認証」セクションを参照して、Red Hat Single Sign-On で認証します。
- オフライントークンを使用して ROSA CLI を認証するには、「オフライントークンを使用した ROSA CLI の認証」セクションを参照してください。
Single Sign-On 認可は、ROSA CLI (rosa
) バージョン 1.2.36 以降でサポートされています。
7.1.3.1.2. Single Sign-On 認可コードによる ROSA CLI の認証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On 認可コードを使用して ROSA CLI (
rosa
) にログインするには、次のコマンドを実行します。構文
rosa login --use-auth-code
$ rosa login --use-auth-code
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行すると、Red Hat Single Sign-On ログインにリダイレクトされます。Red Hat のログインまたはメールでログインします。
Expand 表7.1 親コマンドから継承された任意の引数 オプション 定義 --help
このコマンドのヘルプを表示します。
--debug
デバッグモードを有効にします。
アカウントを切り替えるには、https://sso.redhat.com からログアウトし、端末で
rosa logout
コマンドを実行してから再度ログインを試みます。
7.1.3.1.3. Single Sign-On デバイスコードによる ROSA CLI の認証 リンクのコピーリンクがクリップボードにコピーされました!
コンテナー、リモートホスト、および Web ブラウザーのないその他の環境で作業している場合は、セキュアな認証のために Red Hat Single Sign-On デバイスコードを使用できます。そのためには、Web ブラウザーを搭載した 2 台目のデバイスを使用してログインを承認する必要があります。
Single Sign-On 認可は、ROSA CLI (rosa
) バージョン 1.2.36 以降でサポートされています。
Red Hat Single Sign-On デバイスコードを使用して ROSA CLI (
rosa
) にログインするには、次のコマンドを実行します。構文
rosa login --use-device-code
$ rosa login --use-device-code
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行すると、Red Hat SSO ログインにリダイレクトされ、ログインコードが提供されます。
Expand 表7.2 親コマンドから継承された任意の引数 オプション 定義 --help
このコマンドのヘルプを表示します。
--debug
デバッグモードを有効にします。
アカウントを切り替えるには、https://sso.redhat.com からログアウトし、端末で
rosa logout
コマンドを実行してから再度ログインを試みます。
7.1.3.1.4. オフライントークンを使用した ROSA CLI の認証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat アカウントにログインし、認証情報を rosa
設定ファイルに保存します。
自動化の目的でオフライントークンを使用するには、OpenShift Cluster Manager API Token ページから OpenShift Cluster Manager API トークンをダウンロードできます。自動化の目的でサービスアカウントを使用するには、Service Accounts ページを参照してください。
Red Hat では、自動化の目的でサービスアカウントを使用することを推奨しています。
Red Hat オフライントークンを使用して ROSA CLI (
rosa
) にログインするには、次のコマンドを実行します。構文
rosa login [arguments]
$ rosa login [arguments]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表7.3 引数 オプション 定義 --client-id
OpenID クライアント識別子 (文字列)。デフォルトは、
cloud-services
です。--client-secret
OpenID クライアントシークレット (文字列)。
--insecure
サーバーとの非セキュアな通信を有効にします。これにより、TLS 証明書およびホスト名の検証が無効になります。
--scope
OpenID スコープ (文字列)。このオプションを使用する場合、デフォルトのスコープはこのオプションに置き換えられます。これは複数回繰り返して、複数のスコープを指定できます。デフォルトは、
openid
です。--token
トークンにアクセスまたは更新します (文字列)。
--token-url
OpenID トークン URL (文字列)。デフォルトは、
https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
です。Expand 表7.4 親コマンドから継承された任意の引数 オプション 定義 --help
このコマンドのヘルプを表示します。
--debug
デバッグモードを有効にします。
--profile
認証情報ファイルから AWS プロファイル (文字列) を指定します。
7.1.3.2. logout リンクのコピーリンクがクリップボードにコピーされました!
rosa
からログアウトします。ログアウトすると、rosa
設定ファイルも削除されます。
構文
rosa logout [arguments]
$ rosa logout [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
7.1.3.3. verify permissions リンクのコピーリンクがクリップボードにコピーされました!
ROSA クラスターの作成に必要な AWS パーミッションが正しく設定されていることを確認します。
構文
rosa verify permissions [arguments]
$ rosa verify permissions [arguments]
このコマンドは、AWS Security Token Service(STS) を使用しないクラスターに対してのみパーミッションを検証します。
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--region |
コマンドを実行する AWS リージョン (文字列)。この値は |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
例
AWS パーミッションが正しく設定されていることを確認します。
rosa verify permissions
$ rosa verify permissions
AWS パーミッションが特定のリージョンで正しく設定されていることを確認します。
rosa verify permissions --region=us-west-2
$ rosa verify permissions --region=us-west-2
7.1.3.4. verify quota リンクのコピーリンクがクリップボードにコピーされました!
AWS クォータがデフォルトのリージョンに正しく設定されていることを確認します。
構文
rosa verify quota [arguments]
$ rosa verify quota [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--region |
コマンドを実行する AWS リージョン (文字列)。この値は |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
例
AWS クォータがデフォルトのリージョンで正しく設定されていることを確認します。
rosa verify quota
$ rosa verify quota
AWS クォータが特定のリージョンで正しく設定されていることを確認します。
rosa verify quota --region=us-west-2
$ rosa verify quota --region=us-west-2
7.1.3.5. download rosa リンクのコピーリンクがクリップボードにコピーされました!
rosa
CLI の互換性のある最新バージョンをダウンロードします。
rosa
をダウンロードした後、アーカイブの内容を抽出し、パスに追加します。
構文
rosa download rosa [arguments]
$ rosa download rosa [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
7.1.3.6. download oc リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform CLI (oc
) の最新の互換性のあるバージョンをダウンロードします。
oc
をダウンロードした後、アーカイブの内容を抽出してパスに追加する必要があります。
構文
rosa download oc [arguments]
$ rosa download oc [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
例
oc
クライアントツールをダウンロードします。
rosa download oc
$ rosa download oc
7.1.3.7. verify oc リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform CLI (oc
) が正常にインストールされていることを確認します。
構文
rosa verify oc [arguments]
$ rosa verify oc [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
例
oc
クライアントツールを確認します。
rosa verify oc
$ rosa verify oc
7.1.4. Bash スクリプトの使用 リンクのコピーリンクがクリップボードにコピーされました!
これは、Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
) で Bash スクリプトを使用する方法のワークフロー例です。
前提条件
AWS 認証情報が以下のオプションのいずれかとして利用可能であることを確認します。
- AWS プロファイル
-
環境変数 (
AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
)
手順
Red Hat の OpenShift Cluster Manager オフライントークンを使用して
rosa
を初期化します。rosa init --token=<token>
$ rosa init --token=<token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSA クラスターを作成します。
rosa create cluster --cluster-name=<cluster_name>
$ rosa create cluster --cluster-name=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アイデンティティープロバイダー (IDP) を追加します。
rosa create idp --cluster=<cluster_name> --type=<identity_provider> [arguments]
$ rosa create idp --cluster=<cluster_name> --type=<identity_provider> [arguments]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dedicated-admin
ユーザーを追加します。rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.1.5. ROSA CLI の更新 リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI (rosa
) の互換性のある最新バージョンに更新します。
手順
ROSA CLI (
rosa
) の新しいバージョンが利用可能であることを確認します。rosa version
$ rosa version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
1.2.12 There is a newer release version '1.2.15', please consider updating: https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/
1.2.12 There is a newer release version '1.2.15', please consider updating: https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSA CLI の互換性のある最新バージョンをダウンロードします。
rosa download rosa
$ rosa download rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、
rosa-*.tar.gz
というアーカイブをカレントディレクトリーにダウンロードします。ファイルの正確な名前は、オペレーティングシステムとシステムアーキテクチャーによって異なります。アーカイブの内容をデプロイメントします。
tar -xzf rosa-linux.tar.gz
$ tar -xzf rosa-linux.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 抽出したファイルをパスに移動して、新しいバージョンの ROSA CLI をインストールします。以下の例では、
/usr/local/bin
ディレクトリーがユーザーのパスに含まれます。sudo mv rosa /usr/local/bin/rosa
$ sudo mv rosa /usr/local/bin/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しいバージョンの ROSA がインストールされていることを確認します。
rosa version
$ rosa version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
1.2.15 Your ROSA CLI is up to date.
1.2.15 Your ROSA CLI is up to date.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow