第8章 ROSA CLI
8.1. ROSA CLI の使用を開始する
8.1.1. ROSA CLI について
Red Hat OpenShift Service on AWS (ROSA) コマンドラインインターフェイス (CLI) の rosa
コマンドを使用して、ROSA クラスターとリソースを作成、更新、管理、および削除します。
8.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_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
-
OpenShift Cluster Manager の Downloads ページから、お使いのオペレーティングシステムの ROSA CLI (
rosa
) の最新バージョンをダウンロードします。 ダウンロードしたアーカイブから
rosa
バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからバイナリーをデプロイメントします。$ tar xvf rosa-linux.tar.gz
パスに
rosa
を加えてください。以下の例では、/usr/local/bin
ディレクトリーがユーザーのパスに含まれます。$ sudo mv rosa /usr/local/bin/rosa
rosa
バージョンをクエリーして、ROSA CLI ツールが適切にインストールされていることを確認します。$ rosa version
出力例
1.2.15 Your ROSA CLI is up to date.
オプション: ROSA CLI のタブ補完を有効にします。タブ補完を有効にすると、
Tab
キーを 2 回押すことでサブコマンドが自動的に補完され、コマンドの提案が表示されます。Linux ホストで Bash のタブ補完を永続的に有効にするには、以下を実行します。
Bash 用の
rosa
タブ補完設定ファイルを生成し、/etc/bash_completion.d/
ディレクトリーに保存します。# rosa completion bash > /etc/bash_completion.d/rosa
- 新しいターミナルを開き、設定を有効にします。
macOS ホストで Bash のタブ補完を永続的に有効にするには、以下を実行します。
Bash 用の
rosa
タブ補完設定ファイルを生成し、/usr/local/etc/bash_completion.d/
ディレクトリーに保存します。$ rosa completion bash > /usr/local/etc/bash_completion.d/rosa
- 新しいターミナルを開き、設定を有効にします。
Zsh ホストのタブ補完を永続的に有効にするには、以下を実行します。
Zsh 環境でタブ補完が有効になっていない場合は、以下のコマンドを実行して有効にします。
$ echo "autoload -U compinit; compinit" >> ~/.zshrc
Zsh の
rosa
タブ補完設定ファイルを生成し、関数パスの最初のディレクトリーに保存します。$ rosa completion zsh > "${fpath[1]}/_rosa"
- 新しいターミナルを開き、設定を有効にします。
fish のタブ補完を永続的に有効にするには、以下を実行します。
fish 用の
rosa
タブ補完設定ファイルを生成し、~/.config/fish/completions/
ディレクトリーに保存します。$ rosa completion fish > ~/.config/fish/completions/rosa.fish
- 新しいターミナルを開き、設定を有効にします。
PowerShell のタブ補完を永続的に有効にするには、以下を実行します。
PowerShell の
rosa
タブ補完設定ファイルを生成し、rosa.ps1
という名前のファイルに保存します。PS> rosa completion powershell | Out-String | Invoke-Expression
-
PowerShell プロファイルから
rosa.ps1
ファイルを取得します。
注記rosa
タブ補完の設定に関する詳細は、rosa completion --help
コマンドを実行してヘルプメニューを参照してください。
8.1.3. ROSA CLI の設定
次のコマンドを使用して、Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
) を設定します。
8.1.3.1. login
Red Hat アカウントにログインし、認証情報を rosa
設定ファイルに保存します。ログイン時にトークンを指定する必要があります。ROSA トークンページ からトークンをコピーできます。
ROSA CLI (rosa
) は、以下の優先順位でトークンを検索します。
- コマンドライン引数
-
ROSA_TOKEN
環境変数 -
rosa
設定ファイル - コマンドラインプロンプトから対話的に
構文
$ rosa login [arguments]
オプション | 定義 |
---|---|
--client-id |
OpenID クライアント識別子 (文字列)。デフォルトは、 |
--client-secret | OpenID クライアントシークレット (文字列)。 |
--insecure | サーバーとの非セキュアな通信を有効にします。これにより、TLS 証明書およびホスト名の検証が無効になります。 |
--scope |
OpenID スコープ (文字列)。このオプションを使用する場合、デフォルトのスコープはこのオプションに置き換えられます。これは複数回繰り返して、複数のスコープを指定できます。デフォルトは、 |
--token | トークンにアクセスまたは更新します (文字列)。 |
--token-url |
OpenID トークン URL (文字列)。デフォルトは、 |
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
8.1.3.2. logout
rosa
からログアウトします。ログアウトすると、rosa
設定ファイルも削除されます。
構文
$ rosa logout [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
8.1.3.3. verify permissions
ROSA クラスターの作成に必要な AWS パーミッションが正しく設定されていることを確認します。
構文
$ rosa verify permissions [arguments]
このコマンドは、AWS Security Token Service(STS) を使用しないクラスターに対してのみパーミッションを検証します。
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--region |
コマンドを実行する AWS リージョン (文字列)。この値は |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
例
AWS パーミッションが正しく設定されていることを確認します。
$ rosa verify permissions
AWS パーミッションが特定のリージョンで正しく設定されていることを確認します。
$ rosa verify permissions --region=us-west-2
8.1.3.4. verify quota
AWS クォータがデフォルトのリージョンに正しく設定されていることを確認します。
構文
$ rosa verify quota [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--region |
コマンドを実行する AWS リージョン (文字列)。この値は |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
例
AWS クォータがデフォルトのリージョンで正しく設定されていることを確認します。
$ rosa verify quota
AWS クォータが特定のリージョンで正しく設定されていることを確認します。
$ rosa verify quota --region=us-west-2
8.1.3.5. download rosa
rosa
CLI の互換性のある最新バージョンをダウンロードします。
rosa
をダウンロードした後、アーカイブの内容を抽出し、パスに追加します。
構文
$ rosa download rosa [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
8.1.3.6. download oc
OpenShift Container Platform CLI (oc
) の最新の互換性のあるバージョンをダウンロードします。
oc
をダウンロードした後、アーカイブの内容を抽出してパスに追加する必要があります。
構文
$ rosa download oc [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
例
oc
クライアントツールをダウンロードします。
$ rosa download oc
8.1.3.7. verify oc
OpenShift Container Platform CLI (oc
) が正常にインストールされていることを確認します。
構文
$ rosa verify oc [arguments]
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
例
oc
クライアントツールを確認します。
$ rosa verify oc
8.1.4. ROSA の初期化中
非 STS を使用している場合にのみ、init
コマンドを使用して Red Hat OpenShift Service on AWS (ROSA) を初期化します。
8.1.4.1. init
一連のチェックを実行して、ROSA クラスターをデプロイする準備ができていることを確認します。
以下は、確認項目のリストです。
-
ログインしていることを確認します (
login
を参照)。 - AWS 認証情報が有効であることを確認します。
-
AWS パーミッションが有効であることを確認します (
verify permissions
を参照)。 -
AWS クォータレベルが十分にあることを確認します (
verify quota
を参照)。 - クラスターシミュレーションを実行して、クラスターの作成が想定通りに実行されることを確認します。
-
osdCcsAdmin
ユーザーが AWS アカウントに作成されていることを確認します。 - OpenShift Container Platform コマンドラインツールがシステムで利用できることを確認します。
構文
$ rosa init [arguments]
オプション | 定義 |
---|---|
--region |
クォータおよびパーミッションを確認する AWS リージョン (文字列)。この値は、 |
--delete |
|
--client-id |
OpenID クライアント識別子 (文字列)。デフォルトは、 |
--client-secret | OpenID クライアントシークレット (文字列)。 |
--insecure | サーバーとの非セキュアな通信を有効にします。これにより、TLS 証明書およびホスト名の検証が無効になります。 |
--scope |
OpenID スコープ (文字列)。このオプションを使用する場合は、デフォルトのスコープを完全に置き換えます。これは複数回繰り返して、複数のスコープを指定できます。デフォルトは、 |
--token | トークンにアクセスまたは更新します (文字列)。 |
--token-url |
OpenID トークン URL (文字列)。デフォルトは、 |
オプション | 定義 |
---|---|
--help | このコマンドのヘルプを表示します。 |
--debug | デバッグモードを有効にします。 |
--profile | 認証情報ファイルから AWS プロファイル (文字列) を指定します。 |
例
AWS アカウントを設定して ROSA クラスターを許可します。
$ rosa init
既存の OpenShift Cluster Manager 認証情報を使用して新規 AWS アカウントを設定します。
$ rosa init --token=$OFFLINE_ACCESS_TOKEN
8.1.5. 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 クラスターを作成します。
$ rosa create cluster --cluster-name=<cluster_name>
アイデンティティープロバイダー (IDP) を追加します。
$ rosa create idp --cluster=<cluster_name> --type=<identity_provider> [arguments]
dedicated-admin
ユーザーを追加します。$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
8.1.6. ROSA CLI の更新
ROSA CLI (rosa
) の互換性のある最新バージョンに更新します。
手順
ROSA CLI (
rosa
) の新しいバージョンが利用可能であることを確認します。$ rosa version
出力例
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/
ROSA CLI の互換性のある最新バージョンをダウンロードします。
$ rosa download rosa
このコマンドは、
rosa-*.tar.gz
というアーカイブをカレントディレクトリーにダウンロードします。ファイルの正確な名前は、オペレーティングシステムとシステムアーキテクチャーによって異なります。アーカイブの内容をデプロイメントします。
$ tar -xzf rosa-linux.tar.gz
抽出したファイルをパスに移動して、新しいバージョンの ROSA CLI をインストールします。以下の例では、
/usr/local/bin
ディレクトリーがユーザーのパスに含まれます。$ sudo mv rosa /usr/local/bin/rosa
検証
新しいバージョンの ROSA がインストールされていることを確認します。
$ rosa version
出力例
1.2.15 Your ROSA CLI is up to date.