8장. ROSA CLI
8.1. ROSA CLI 시작하기
8.1.1. ROSA CLI 정보
ROSA(Red Hat OpenShift Service on AWS) CLI(명령줄 인터페이스) 명령인 Red Hat OpenShift Service를 사용하여 ROSA 클러스터 및 리소스를 생성, 업데이트, 관리 및 삭제합니다.
8.1.2. ROSA CLI 설정
다음 단계를 사용하여 설치 호스트에 ROSA CLI(rosa
)를 설치하고 구성합니다.
절차
최신 AWS CLI(
aws
)를 설치하고 구성합니다.AWS 명령줄 인터페이스 설명서에 따라 운영 체제에 대한 AWS CLI를 설치하고 구성합니다.
aws_access_key_id
,aws_secret_access_key
및region
을.aws/credentials
파일에 지정합니다. 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의 다운로드 페이지에서 운영 체제용 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
키를 두 번 눌러 하위 명령을 자동으로 완료하고 명령 제안을 수신할 수 있습니다.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"
- 새 터미널을 열어 구성을 활성화합니다.
어류에 대한 지속적인 탭 완료를 활성화하려면 다음을 수행합니다.
어류에 대한
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 구성
다음 명령을 사용하여 AWS(ROSA) CLI, rosa
에서 Red Hat OpenShift Service를 구성합니다.
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(문자열). Default: |
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
--profile | 인증 정보 파일에서 AWS 프로필(문자열)을 지정합니다. |
8.1.3.2. logout
rosa
에서 로그아웃합니다. 로그아웃하면 rosa
구성 파일도 제거됩니다.
구문
$ rosa logout [arguments]
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
--profile | 인증 정보 파일에서 AWS 프로필(문자열)을 지정합니다. |
8.1.3.3. 권한 확인
ROSA 클러스터를 생성하는 데 필요한 AWS 권한이 올바르게 구성되었는지 확인합니다.
구문
$ rosa verify permissions [arguments]
이 명령은 AWS STS(Security Token Service)를 사용하지 않는 클러스터에 대해서만 권한을 확인합니다.
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
--region |
명령을 실행할 AWS 리전(문자열)입니다. 이 값은 |
--profile | 인증 정보 파일에서 AWS 프로필(문자열)을 지정합니다. |
예
AWS 권한이 올바르게 구성되었는지 확인합니다.
$ rosa verify permissions
특정 리전에서 AWS 권한이 올바르게 구성되었는지 확인합니다.
$ rosa verify permissions --region=us-west-2
8.1.3.4. 할당량 확인
기본 리전에 대해 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. rosa 다운로드
rosa
CLI의 최신 호환 버전을 다운로드합니다.
rosa
를 다운로드한 후 아카이브 내용을 추출하여 경로에 추가합니다.
구문
$ rosa download rosa [arguments]
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
8.1.3.6. oc 다운로드
OpenShift Container Platform CLI(oc
)의 최신 호환 버전을 다운로드합니다.
oc
를 다운로드한 후 아카이브 내용을 추출하여 경로에 추가해야 합니다.
구문
$ rosa download oc [arguments]
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
예제
oc
클라이언트 툴을 다운로드합니다.
$ rosa download oc
8.1.3.7. oc 확인
OpenShift Container Platform CLI(oc
)가 올바르게 설치되었는지 확인합니다.
구문
$ rosa verify oc [arguments]
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
예제
oc
클라이언트 툴을 확인합니다.
$ rosa verify oc
추가 리소스
8.1.4. ROSA 초기화
TS를 사용하는 경우에만 init
명령을 사용하여 AWS(ROSA)에서 Red Hat OpenShift Service를 초기화합니다.
8.1.4.1. init
일련의 검사를 수행하여 ROSA 클러스터를 배포할 준비가 되었는지 확인합니다.
검사 목록에는 다음이 포함됩니다.
-
로그인한 것을 확인할 수 있는 검사(
로그인
참조) - AWS 인증 정보가 유효한지 확인
-
AWS 권한이 유효한지
확인합니다(권한 확인
) -
AWS 할당량 수준이 충분히 높은지
확인합니다( 할당량 확인
참조) - 클러스터 시뮬레이션을 실행하여 클러스터 생성이 예상대로 수행되도록 합니다.
-
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(문자열). Default: |
옵션 | 정의 |
---|---|
--help | 이 명령에 대한 도움말을 표시합니다. |
--debug | 디버그 모드를 활성화합니다. |
--profile | 인증 정보 파일에서 AWS 프로필(문자열)을 지정합니다. |
예
ROSA 클러스터를 허용하도록 AWS 계정을 구성합니다.
$ rosa init
기존 OpenShift Cluster Manager 인증 정보를 사용하여 새 AWS 계정을 구성합니다.
$ rosa init --token=$OFFLINE_ACCESS_TOKEN
8.1.5. Bash 스크립트 사용
이는 AWS(ROSA) CLI, rosa
에서 Red Hat OpenShift Service를 사용하여 Bash 스크립트를 사용하는 방법에 대한 예제 워크플로입니다.
사전 요구 사항
AWS 인증 정보를 다음 옵션 중 하나로 사용할 수 있는지 확인합니다.
- AWS 프로필
-
환경 변수(
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
)
절차
Red
Hat
의 Red Hat OpenShift Cluster Manager 오프라인 토큰을 사용하여 Roa 를 초기화합니다.$ rosa init --token=<token>
ROSA 클러스터를 생성합니다.
$ rosa create cluster --cluster-name=<cluster_name>
IDP(ID 공급자)를 추가합니다.
$ 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.