This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.CLI 툴
OpenShift Container Platform 명령줄 툴 사용 방법 알아보기
초록
1장. OpenShift Container Platform CLI 툴 개요 링크 복사링크가 클립보드에 복사되었습니다!
사용자는 다음과 같은 OpenShift Container Platform에서 작업하는 동안 다양한 작업을 수행합니다.
- 클러스터 관리
- 애플리케이션 구축, 배포 및 관리
- 배포 프로세스 관리
- Operator 개발
- Operator 카탈로그 생성 및 유지 관리
OpenShift Container Platform은 사용자가 터미널에서 다양한 관리 및 개발 작업을 수행할 수 있도록 하여 이러한 작업을 간소화하는 CLI(명령줄 인터페이스) 툴 세트를 제공합니다. 이러한 툴을 사용하면 간단한 명령을 사용하여 애플리케이션을 관리할 수 있을 뿐 아니라 시스템의 각 구성 요소와 상호 작용할 수 있습니다.
1.1. CLI 툴 목록 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform에서는 다음 CLI 툴 세트를 사용할 수 있습니다.
- OpenShift CLI (oc): OpenShift Container Platform 사용자가 가장 일반적으로 사용하는 CLI 툴입니다. 클러스터 관리자와 개발자가 터미널을 사용하여 OpenShift Container Platform에서 포괄적인 작업을 수행할 수 있습니다. 웹 콘솔과 달리 사용자는 명령 스크립트를 사용하여 프로젝트 소스 코드와 직접 작업할 수 있습니다.
-
개발자 CLI (odo):
odo
CLI 툴을 사용하면 개발자가 복잡한 Kubernetes 및 OpenShift Container Platform 개념을 추상화하여 OpenShift Container Platform에서 애플리케이션을 생성하고 유지 관리하는 기본 목표에 집중할 수 있습니다. 개발자가 클러스터를 관리할 필요 없이 터미널에서 클러스터에서 애플리케이션을 작성, 빌드 및 디버깅할 수 있습니다. -
Knative CLI(kn): Knative(
kn
) CLI 툴은 Knative Serving 및 Eventing과 같은 OpenShift Serverless 구성 요소와 상호 작용하는 데 사용할 수 있는 간단하고 직관적인 터미널 명령을 제공합니다. -
Pipeline CLI(tkn): OpenShift Pipelines는 OpenShift Container Platform의 CI/CD(지속적 통합 및 연속 제공) 솔루션으로, 내부적으로 Tekton을 사용합니다.
tkn
CLI 툴은 터미널을 사용하여 OpenShift Pipelines와 상호 작용할 수 있는 간단하고 직관적인 명령을 제공합니다. -
opm CLI:
opm
CLI 툴을 사용하면 Operator 개발자와 클러스터 관리자가 터미널에서 Operator 카탈로그를 생성하고 유지 관리할 수 있습니다. - Operator SDK: Operator 프레임워크의 구성 요소인 Operator SDK는 Operator 개발자가 터미널에서 Operator를 빌드, 테스트 및 배포하는 데 사용할 수 있는 CLI 툴을 제공합니다. Kubernetes 네이티브 애플리케이션을 구축하는 프로세스를 간소화하며, 이를 위해서는 애플리케이션별 운영 지식이 필요할 수 있습니다.
2장. OpenShift CLI(oc) 링크 복사링크가 클립보드에 복사되었습니다!
2.1. OpenShift CLI 시작하기 링크 복사링크가 클립보드에 복사되었습니다!
2.1.1. OpenShift CLI 정보 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(명령줄 인터페이스) 즉, oc
명령을 사용하면 터미널에서 애플리케이션을 생성하고 OpenShift Container Platform 프로젝트를 관리할 수 있습니다. OpenShift CLI를 사용하기에 적합한 경우는 다음과 같습니다.
- 직접 프로젝트 소스 코드로 작업하는 경우
- OpenShift Container Platform 작업 스크립트를 작성하는 경우
- 대역폭 리소스가 제한되고 웹 콘솔을 사용할 수 없는 상태에서 프로젝트를 관리하는 경우
2.1.2. OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc
)는 바이너리를 다운로드하거나 RPM을 사용하여 설치할 수 있습니다.
2.1.2.1. 바이너리를 다운로드하여 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 인터페이스를 사용하여 OpenShift Container Platform과 상호 작용하기 위해 OpenShift CLI(oc
)를 설치할 수 있습니다. Linux, Windows 또는 macOS에 oc
를 설치할 수 있습니다.
이전 버전의 oc
를 설치한 경우, OpenShift Container Platform 4.8의 모든 명령을 완료하는 데 해당 버전을 사용할 수 없습니다. 새 버전의 oc
를 다운로드하여 설치합니다.
Linux에서 OpenShift CLI 설치
다음 절차를 사용하여 Linux에서 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 메뉴에서 적절한 버전을 선택합니다.
- OpenShift v4.8 Linux Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
아카이브의 압축을 풉니다.
tar xvzf <file>
$ tar xvzf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
바이너리를PATH
에 있는 디렉터리에 배치합니다.PATH
를 확인하려면 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
$ oc <command>
Windows에서 OpenSfhit CLI 설치
다음 절차에 따라 Windows에 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 메뉴에서 적절한 버전을 선택합니다.
- OpenShift v4.8 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
oc
바이너리를PATH
에 있는 디렉터리로 이동합니다.PATH
를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
C:\> oc <command>
macOS에 OpenShift CLI 설치
다음 절차에 따라 macOS에서 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 메뉴에서 적절한 버전을 선택합니다.
- OpenShift v4.8 MacOSX Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
- 아카이브의 압축을 해제하고 압축을 풉니다.
oc
바이너리 PATH의 디렉터리로 이동합니다.PATH
를 확인하려면 터미널을 열고 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
$ oc <command>
2.1.2.2. 웹 콘솔을 사용하여 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔에서 OpenShift Container Platform과 상호 작용하기 위해 OpenShift CLI(oc
)를 설치할 수 있습니다. Linux, Windows 또는 macOS에 oc
를 설치할 수 있습니다.
이전 버전의 oc
를 설치한 경우, OpenShift Container Platform 4.8의 모든 명령을 완료하는 데 해당 버전을 사용할 수 없습니다. 새 버전의 oc
를 다운로드하여 설치합니다.
2.1.2.2.1. 웹 콘솔을 사용하여 Linux에 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차를 사용하여 Linux에서 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
절차
웹 콘솔에서 ? 를 클릭합니다.
명령줄 툴 을 클릭합니다.
-
Linux 플랫폼에 적합한
oc
바이너리를 선택한 다음 Download oc for Linux(Linux 용 oc 다운로드)를 클릭합니다. - 파일을 저장합니다.
아카이브의 압축을 풉니다.
tar xvzf <file>
$ tar xvzf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
바이너리를PATH
에 있는 디렉터리로 이동합니다.PATH
를 확인하려면 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
$ oc <command>
2.1.2.2.2. 웹 콘솔을 사용하여 Windows에서 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차를 사용하여 Winndows에 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
절차
웹 콘솔에서 ? 를 클릭합니다.
명령줄 툴 을 클릭합니다.
-
Windows용
oc
바이너리를 선택한 다음 x86_64용 Windows용 oc 다운로드를 클릭합니다. - 파일을 저장합니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
oc
바이너리를PATH
에 있는 디렉터리로 이동합니다.PATH
를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
C:\> oc <command>
2.1.2.2.3. 웹 콘솔을 사용하여 macOS에 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 macOS에서 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
절차
웹 콘솔에서 ? 를 클릭합니다.
명령줄 툴 을 클릭합니다.
-
macOS용
oc
바이너리를 선택한 다음 x86_64용 Mac용 oc 다운로드를 클릭합니다. - 파일을 저장합니다.
- 아카이브의 압축을 해제하고 압축을 풉니다.
oc
바이너리 PATH의 디렉터리로 이동합니다.PATH
를 확인하려면 터미널을 열고 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
$ oc <command>
2.1.2.3. RPM을 사용하여 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
RHEL(Red Hat Enterprise Linux)의 경우 Red Hat 계정에 활성 OpenShift Container Platform 서브스크립션이 있으면 OpenShift CLI(oc
)를 RPM으로 설치할 수 있습니다.
사전 요구 사항
- root 또는 sudo 권한이 있어야 합니다.
절차
Red Hat Subscription Manager에 등록합니다.
subscription-manager register
# subscription-manager register
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 서브스크립션 데이터를 가져옵니다.
subscription-manager refresh
# subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 서브스크립션을 나열하십시오.
subscription-manager list --available --matches '*OpenShift*'
# subscription-manager list --available --matches '*OpenShift*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령의 출력에서 OpenShift Container Platform 서브스크립션의 풀 ID를 찾아서 이 서브스크립션을 등록된 시스템에 연결합니다.
subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 4.8에 필요한 리포지터리를 활성화합니다.
Red Hat Enterprise Linux 8의 경우:
subscription-manager repos --enable="rhocp-4.8-for-rhel-8-x86_64-rpms"
# subscription-manager repos --enable="rhocp-4.8-for-rhel-8-x86_64-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 7의 경우:
subscription-manager repos --enable="rhel-7-server-ose-4.8-rpms"
# subscription-manager repos --enable="rhel-7-server-ose-4.8-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
openshift-clients
패키지를 설치합니다.yum install openshift-clients
# yum install openshift-clients
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
CLI를 설치한 후 oc
명령을 사용할 수 있습니다.
oc <command>
$ oc <command>
2.1.2.4. Homebrew를 사용하여 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
macOS의 경우 Homebrew 패키지 관리자를 사용하여 OpenShift CLI(oc
)를 설치할 수 있습니다.
사전 요구 사항
-
Homebrew(
brew
)가 설치되어 있어야 합니다.
절차
다음 명령을 실행하여 openshift-cli 패키지를 설치합니다.
brew install openshift-cli
$ brew install openshift-cli
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.3. OpenShift CLI에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI (oc
) 에 로그인하면 클러스터에 액세스하여 관리할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에 대한 액세스 권한이 있어야 합니다.
-
OpenShift CLI(
oc
)가 설치되어 있어야 합니다.
HTTP 프록시 서버를 통해서만 액세스할 수 있는 클러스터에 액세스하려면 HTTP_PROXY
, HTTPS_PROXY
및 NO_PROXY
변수를 설정할 수 있습니다. oc
CLI에서는 이러한 환경 변수를 준수하므로 클러스터와의 모든 통신이 HTTP 프록시를 통해 이루어집니다.
인증 헤더는 HTTPS 전송을 사용하는 경우에만 전송됩니다.
절차
oc login
명령을 입력하고 사용자 이름을 전달합니다.oc login -u user1
$ oc login -u user1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프롬프트가 표시되면 필요한 정보를 입력합니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
웹 콘솔에 로그인한 경우 토큰 및 서버 정보를 포함하는 oc login
명령을 생성할 수 있습니다. 명령을 사용하여 대화형 프롬프트 없이 OpenShift Container Platform CLI에 로그인할 수 있습니다. 명령을 생성하려면 웹 콘솔의 오른쪽 상단에 있는 사용자 이름 드롭다운 메뉴에서 로그인 복사 명령을 선택합니다.
이제 클러스터를 관리하기 위한 프로젝트를 생성하거나 다른 명령을 실행할 수 있습니다.
2.1.4. OpenShift CLI 사용 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션을 검토하여 CLI로 일반적인 작업을 완료하는 방법을 알아봅니다.
2.1.4.1. 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
oc new-project
명령을 사용하여 새 프로젝트를 생성합니다.
oc new-project my-project
$ oc new-project my-project
출력 예
Now using project "my-project" on server "https://openshift.example.com:6443".
Now using project "my-project" on server "https://openshift.example.com:6443".
2.1.4.2. 새 애플리케이션 생성 링크 복사링크가 클립보드에 복사되었습니다!
oc new-app
명령을 사용하여 새 애플리케이션을 생성합니다.
oc new-app https://github.com/sclorg/cakephp-ex
$ oc new-app https://github.com/sclorg/cakephp-ex
출력 예
--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php" ... Run 'oc status' to view your app.
--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php"
...
Run 'oc status' to view your app.
2.1.4.3. Pod 보기 링크 복사링크가 클립보드에 복사되었습니다!
oc get pods
명령을 사용하여 현재 프로젝트의 Pod를 봅니다.
Pod 내부에서 oc
를 실행하고 네임스페이스를 지정하지 않으면 기본적으로 Pod의 네임스페이스가 사용됩니다.
oc get pods -o wide
$ oc get pods -o wide
출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE cakephp-ex-1-build 0/1 Completed 0 5m45s 10.131.0.10 ip-10-0-141-74.ec2.internal <none> cakephp-ex-1-deploy 0/1 Completed 0 3m44s 10.129.2.9 ip-10-0-147-65.ec2.internal <none> cakephp-ex-1-ktz97 1/1 Running 0 3m33s 10.128.2.11 ip-10-0-168-105.ec2.internal <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
cakephp-ex-1-build 0/1 Completed 0 5m45s 10.131.0.10 ip-10-0-141-74.ec2.internal <none>
cakephp-ex-1-deploy 0/1 Completed 0 3m44s 10.129.2.9 ip-10-0-147-65.ec2.internal <none>
cakephp-ex-1-ktz97 1/1 Running 0 3m33s 10.128.2.11 ip-10-0-168-105.ec2.internal <none>
2.1.4.4. Pod 로그 보기 링크 복사링크가 클립보드에 복사되었습니다!
oc logs
명령을 사용하여 특정 Pod의 로그를 봅니다.
oc logs cakephp-ex-1-deploy
$ oc logs cakephp-ex-1-deploy
출력 예
--> Scaling cakephp-ex-1 to 1 --> Success
--> Scaling cakephp-ex-1 to 1
--> Success
2.1.4.5. 현재 프로젝트 보기 링크 복사링크가 클립보드에 복사되었습니다!
oc project
명령을 사용하여 현재 프로젝트를 봅니다.
oc project
$ oc project
출력 예
Using project "my-project" on server "https://openshift.example.com:6443".
Using project "my-project" on server "https://openshift.example.com:6443".
2.1.4.6. 현재 프로젝트의 상태 보기 링크 복사링크가 클립보드에 복사되었습니다!
oc status
명령을 사용하여 서비스, 배포, 빌드 구성 등 현재 프로젝트에 대한 정보를 봅니다.
oc status
$ oc status
출력 예
2.1.4.7. 지원되는 API 리소스 나열 링크 복사링크가 클립보드에 복사되었습니다!
oc api-resources
명령을 사용하여 서버에서 지원되는 API 리소스 목록을 봅니다.
oc api-resources
$ oc api-resources
출력 예
NAME SHORTNAMES APIGROUP NAMESPACED KIND bindings true Binding componentstatuses cs false ComponentStatus configmaps cm true ConfigMap ...
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
...
2.1.5. 도움말 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
CLI 명령 및 OpenShift Container Platform 리소스에 대한 도움말을 가져올 수 있는 방법은 다음과 같습니다.
oc help
를 사용하여 모든 사용 가능한 CLI 명령 목록 및 설명을 가져옵니다.예제: CLI에 대한 일반적인 도움말 가져오기
oc help
$ oc help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --help
플래그를 사용하여 특정 CLI 명령에 대한 도움말을 가져옵니다.예제:
oc create
명령에 대한 도움말 가져오기oc create --help
$ oc create --help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc explain
명령을 사용하여 특정 리소스에 대한 설명 및 필드를 봅니다.예제:
Pod
리소스에 대한 문서 보기oc explain pods
$ oc explain pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.6. OpenShift CLI에서 로그아웃 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI에서 로그아웃하여 현재 세션을 종료할 수 있습니다.
oc logout
명령을 사용합니다.oc logout
$ oc logout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Logged "user1" out on "https://openshift.example.com"
Logged "user1" out on "https://openshift.example.com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이렇게 하면 저장된 인증 토큰이 서버에서 삭제되고 구성 파일에서 제거됩니다.
2.2. OpenShift CLI 구성 링크 복사링크가 클립보드에 복사되었습니다!
2.2.1. 탭 완료 활성화 링크 복사링크가 클립보드에 복사되었습니다!
Bash 또는 Zsh 쉘의 탭 완료를 활성화할 수 있습니다.
2.2.1.1. Bash의 탭 완료 활성화 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc
)를 설치한 후 탭 완료를 활성화하여 oc
명령을 자동으로 완료하거나 탭을 누를 때 옵션을 제안할 수 있습니다. 다음 절차에서는 Bash 쉘에 대한 탭 완료를 활성화합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있어야 합니다. -
bash-completion
패키지가 설치되어 있어야 합니다.
절차
Bash 완료 코드를 파일에 저장합니다.
oc completion bash > oc_bash_completion
$ oc completion bash > oc_bash_completion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을
/etc/bash_completion.d/
에 복사합니다.sudo cp oc_bash_completion /etc/bash_completion.d/
$ sudo cp oc_bash_completion /etc/bash_completion.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 로컬 디렉터리에 저장하고
.bashrc
파일에서 소싱할 수도 있습니다.
새 터미널을 열면 탭 완료가 활성화됩니다.
2.2.1.2. Zsh에 대한 탭 완료 활성화 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc
)를 설치한 후 탭 완료를 활성화하여 oc
명령을 자동으로 완료하거나 탭을 누를 때 옵션을 제안할 수 있습니다. 다음 절차에서는 Zsh 쉘에 대한 탭 완료를 활성화합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있어야 합니다.
절차
oc
에 대한 탭 완료를.zshrc
파일에 추가하려면 다음 명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
새 터미널을 열면 탭 완료가 활성화됩니다.
2.3. CLI 프로필 관리 링크 복사링크가 클립보드에 복사되었습니다!
CLI 구성 파일을 사용하면 CLI 툴 개요 와 함께 사용할 다양한 프로필 또는 컨텍스트를 구성할 수 있습니다. 컨텍스트는 nickname 과 관련된 사용자 인증 및 OpenShift Container Platform 서버 정보로 구성됩니다.
2.3.1. CLI 프로필 간 전환 정보 링크 복사링크가 클립보드에 복사되었습니다!
컨텍스트를 사용하면 CLI 작업을 사용할 때 여러 OpenShift Container Platform 서버 또는 클러스터에서 여러 사용자 간에 쉽게 전환할 수 있습니다. nickname은 컨텍스트, 사용자 인증 정보 및 클러스터 세부 정보에 대한 간단한 참조를 제공하여 CLI 구성을 보다 쉽게 관리할 수 있습니다. CLI로 처음으로 로그인한 후 OpenShift Container Platform은 아직 존재하지 않는 경우 ~/.kube/config
파일을 생성합니다. oc login
작업 중에 자동으로 또는 CLI 프로필을 수동으로 구성하여 CLI에 인증 및 연결 세부 정보가 제공되면 구성 파일에 업데이트된 정보가 저장됩니다.
CLI 구성 파일
- 1
- cluster
섹션은
마스터 서버의 주소를 포함하여 OpenShift Container Platform 클러스터에 대한 연결 세부 정보를 정의합니다. 이 예에서는 하나의 클러스터 이름이openshift1.example.com:8443
이고 다른 클러스터는 이름이openshift2.example.com:8443
입니다. - 2
- 이
context
섹션은alice-project
프로젝트,openshift1.example.com:8443
클러스터,alice
사용자, 다른 nick 이름의joe-project/openshift1.example.com:8443/alice
, 즉 하나의 컨텍스트 이름을alice-project/openshift1.example.com:8443/alice
, 즉 하나의 컨텍스트를 정의합니다.joe-project
프로젝트,openshift1.example.com:8443
클러스터 및alice
사용자 사용. - 3
current-context
매개변수는joe-project/openshift1.example.com:8443/alice
컨텍스트가 현재 사용 중이며,alice
사용자가openshift1.example.com:8443
클러스터의joe-project
프로젝트에서 작업할 수 있음을 보여줍니다.- 4
users
섹션은 사용자 자격 증명을 정의합니다. 이 예에서 사용자 nicknamealice/openshift1.example.com:8443
은 액세스 토큰을 사용합니다.
CLI는 런타임 시 로드되고 명령줄에서 지정된 덮어쓰기 옵션과 함께 병합되는 여러 구성 파일을 지원할 수 있습니다. 로그인한 후 oc status
또는 oc project
명령을 사용하여 현재 작업 환경을 확인할 수 있습니다.
현재 작업 중인 환경 확인
oc status
$ oc status
출력 예
현재 프로젝트 나열
oc project
$ oc project
출력 예
Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
oc login
명령을 다시 실행하고 대화형 프로세스 중에 필요한 정보를 제공하여 사용자 인증 정보 및 클러스터 세부 정보의 다른 조합을 사용하여 로그인할 수 있습니다. 컨텍스트는 아직 존재하지 않는 경우 제공된 정보를 기반으로 구성됩니다. 이미 로그인한 후 현재 사용자가 이미 액세스할 수 있는 다른 프로젝트로 전환하려면 oc project
명령을 사용하여 프로젝트 이름을 입력합니다.
oc project alice-project
$ oc project alice-project
출력 예
Now using project "alice-project" on server "https://openshift1.example.com:8443".
Now using project "alice-project" on server "https://openshift1.example.com:8443".
출력에 표시된 대로 oc config view
명령을 사용하여 현재 CLI 구성을 볼 수 있습니다. 고급 사용을 위해 추가 CLI 구성 명령을 사용할 수도 있습니다.
관리자 자격 증명에 액세스할 수 있지만 더 이상 기본 시스템 사용자 system:admin
으로 로그인하지 않은 경우 CLI 구성 파일에 인증 정보가 계속 있는 한 언제든지 이 사용자로 다시 로그인할 수 있습니다. 다음 명령은 기본 프로젝트에 로그인하여 전환합니다.
oc login -u system:admin -n default
$ oc login -u system:admin -n default
2.3.2. CLI 프로필 수동 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 CLI 구성의 고급 사용에 대해 설명합니다. 대부분의 경우 oc login
및 oc project
명령을 사용하여 컨텍스트와 프로젝트를 로그인하고 전환할 수 있습니다.
CLI 구성 파일을 수동으로 구성하려면 파일을 직접 수정하는 대신 oc config
명령을 사용할 수 있습니다. oc config
명령에는 다음과 같은 목적으로 유용한 여러 하위 명령이 포함되어 있습니다.
하위 명령 | 사용법 |
---|---|
| CLI 구성 파일에 클러스터 항목을 설정합니다. 참조된 클러스터 닉네임이 이미 존재하는 경우 지정된 정보가 에 병합됩니다. oc config set-cluster <cluster_nickname> [--server=<master_ip_or_fqdn>]
|
| CLI 구성 파일에 컨텍스트 항목을 설정합니다. 참조된 컨텍스트 닉네임이 이미 있는 경우 지정된 정보가 에 병합됩니다. oc config set-context <context_nickname> [--cluster=<cluster_nickname>]
|
| 지정된 컨텍스트 nickname을 사용하여 현재 컨텍스트를 설정합니다. oc config use-context <context_nickname>
|
| CLI 구성 파일에서 개별 값을 설정합니다. oc config set <property_name> <property_value>
|
| CLI 구성 파일에서 개별 값을 설정 해제합니다. oc config unset <property_name>
|
| 현재 사용 중인 병합된 CLI 구성을 표시합니다. oc config view
지정된 CLI 구성 파일의 결과를 표시합니다. oc config view --config=<specific_filename>
|
사용 예
-
액세스 토큰을 사용하는 사용자로 로그인합니다. 이 토큰은
alice
사용자가 사용합니다.
oc login https://openshift1.example.com --token=ns7yVhuRNpDM9cgzfhhxQ7bM5s7N2ZVrkZepSRf4LC0
$ oc login https://openshift1.example.com --token=ns7yVhuRNpDM9cgzfhhxQ7bM5s7N2ZVrkZepSRf4LC0
- 자동으로 생성된 클러스터 항목을 확인합니다.
oc config view
$ oc config view
출력 예
- 사용자가 원하는 네임스페이스에 로그인하도록 현재 컨텍스트를 업데이트합니다.
oc config set-context `oc config current-context` --namespace=<project_name>
$ oc config set-context `oc config current-context` --namespace=<project_name>
- 현재 컨텍스트를 검사하여 변경 사항이 구현되었는지 확인합니다.
oc whoami -c
$ oc whoami -c
CLI 옵션을 재정의하거나 컨텍스트가 전환될 때까지 달리 지정하지 않는 한 모든 후속 CLI 작업은 새 컨텍스트를 사용합니다.
2.3.3. 규칙 로드 및 병합 링크 복사링크가 클립보드에 복사되었습니다!
CLI 구성에 대한 CLI 작업을 실행할 때 다음 규칙을 따를 수 있습니다.
CLI 구성 파일은 다음 계층 및 병합 규칙을 사용하여 워크스테이션에서 검색됩니다.
-
--config
옵션이 설정되면 해당 파일만 로드됩니다. 플래그는 한 번 설정되고 병합이 수행되지 않습니다. -
$KUBECONFIG
환경 변수가 설정되면 사용됩니다. 변수가 경로 목록일 수 있으며, 경로가 함께 병합되는 경우도 있습니다. 값을 수정하면 스탠자를 정의하는 파일에서 수정됩니다. 값이 생성되면 존재하는 첫 번째 파일에 생성됩니다. 체인에 파일이 없으면 목록에 마지막 파일을 만듭니다. -
그렇지 않으면
~/.kube/config
파일이 사용되며 병합이 수행되지 않습니다.
-
사용할 컨텍스트는 다음 흐름의 첫 번째 일치에 따라 결정됩니다.
-
--context
옵션의 값입니다. -
CLI 구성 파일의
current-context
값입니다. - 이 단계에서는 빈 값이 허용됩니다.
-
사용할 사용자 및 클러스터가 결정됩니다. 이 시점에는 컨텍스트가 있거나 없을 수 있습니다. 다음 흐름에서 첫 번째 일치를 기반으로 빌드되며, 이는 사용자와 클러스터에 대해 한 번 실행됩니다.
-
클러스터 이름에 대한
--user
및 사용자 이름에 대한--cluster
옵션의 값입니다. -
context
옵션이 있는
경우 컨텍스트의 값을 사용합니다. - 이 단계에서는 빈 값이 허용됩니다.
-
클러스터 이름에 대한
사용할 실제 클러스터 정보가 결정됩니다. 이 시점에서 클러스터 정보가 있거나 없을 수 있습니다. 클러스터 정보의 각 조각은 다음 흐름에서 첫 번째 일치를 기반으로 빌드됩니다.
다음 명령줄 옵션의 값:
-
--server
, -
--api-version
-
--certificate-authority
-
--insecure-skip-tls-verify
-
- 클러스터 정보와 속성 값이 있는 경우 이를 사용합니다.
- 서버 위치가 없는 경우 오류가 발생합니다.
사용할 실제 사용자 정보가 결정됩니다. 사용자는 사용자당 하나의 인증 기술만 가질 수 있다는 점을 제외하고 클러스터와 동일한 규칙을 사용하여 빌드됩니다. 충돌하는 기술은 작업이 실패합니다. 명령줄 옵션이 구성 파일 값보다 우선합니다. 유효한 명령줄 옵션은 다음과 같습니다.
-
--auth-path
-
--client-certificate
-
--client-key
-
--token
-
- 여전히 누락된 모든 정보에 대해 기본값이 사용되며 추가 정보를 입력하라는 메시지가 표시됩니다.
2.4. 플러그인을 사용하여 OpenShift CLI 확장 링크 복사링크가 클립보드에 복사되었습니다!
기본 oc
명령에 빌드할 플러그인을 작성하고 설치하여 OpenShift Container Platform CLI에서 새롭고 더 복잡한 작업을 수행할 수 있습니다.
2.4.1. CLI 플러그인 작성 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 명령을 작성할 수 있는 모든 프로그래밍 언어 또는 스크립트로 OpenShift Container Platform CLI용 플러그인을 작성할 수 있습니다. 플러그인을 사용하여 기존 oc
명령을 덮어쓸 수 없습니다.
절차
이 절차에서는 oc foo
명령을 실행할 때 메시지를 터미널에 출력하는 간단한 Bash 플러그인을 생성합니다.
oc-foo
라는 파일을 생성합니다.플러그인 파일의 이름을 지정할 때 다음 사항에 유의하십시오.
-
파일이 플러그인으로 인식되려면
oc-
또는kubectl-
로 시작되어야 합니다. -
파일 이름에 따라 플러그인을 호출하는 명령이 결정됩니다. 예를 들어 파일 이름이
oc-foo-bar
인 플러그인은oc foo bar
명령으로 호출할 수 있습니다. 명령에 대시를 포함하기 위해 밑줄을 사용할 수도 있습니다. 예를 들어 파일 이름이oc-foo_bar
인 플러그인은oc foo-bar
명령으로 호출할 수 있습니다.
-
파일이 플러그인으로 인식되려면
파일에 다음 콘텐츠를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform CLI용으로 이 플러그인을 설치한 후에는 oc foo
명령을 사용하여 호출할 수 있습니다.
2.4.2. CLI 플러그인 설치 및 사용 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform CLI용 사용자 정의 플러그인을 작성한 후에는 해당 플러그인을 설치하여 제공하는 기능을 사용해야 합니다.
사전 요구 사항
-
oc
CLI 툴이 설치되어 있어야 합니다. -
oc-
또는kubectl-
로 시작하는 CLI 플러그인 파일이 있어야 합니다.
절차
필요한 경우 플러그인 파일을 실행 가능하게 업데이트합니다.
chmod +x <plugin_file>
$ chmod +x <plugin_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을
PATH
에 있는 임의의 위치(예:/usr/local/bin/
)에 배치합니다.sudo mv <plugin_file> /usr/local/bin/.
$ sudo mv <plugin_file> /usr/local/bin/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc plugin list
를 실행하여 플러그인이 나열되었는지 확인합니다.oc plugin list
$ oc plugin list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
The following compatible plugins are available: /usr/local/bin/<plugin_file>
The following compatible plugins are available: /usr/local/bin/<plugin_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기에 플러그인이 나열되지 않은 경우 파일이
oc-
또는kubectl-
로 시작하고 실행 가능하며PATH
에 있는지 확인합니다.플러그인에서 도입한 새 명령 또는 옵션을 호출합니다.
예를 들어 샘플 플러그인 리포지토리 에서
kubectl-ns
플러그인을 빌드하고 설치한 경우 다음 명령을 사용하여 현재 네임스페이스를 볼 수 있습니다.oc ns
$ oc ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플러그인을 호출하는 명령은 플러그인 파일 이름에 따라 다릅니다. 예를 들어 파일 이름이
oc-foo-bar
인 플러그인은oc foo bar
명령으로 호출합니다.
2.5. OpenShift CLI 개발자 명령 참조 링크 복사링크가 클립보드에 복사되었습니다!
이 참조는 OpenShift CLI (oc
) developer 명령에 대한 설명 및 예제 명령을 제공합니다. 관리자 명령의 경우 OpenShift CLI 관리자 명령 참조에서 참조하십시오.
oc help
를 실행하여 모든 명령을 나열하거나 oc <command> --help
를 실행하여 특정 명령에 대한 추가 세부 정보를 가져옵니다.
2.5.1. OpenShift CLI (oc) 개발자 명령 링크 복사링크가 클립보드에 복사되었습니다!
2.5.1.1. oc annotate 링크 복사링크가 클립보드에 복사되었습니다!
리소스에서 주석을 업데이트
사용 예
2.5.1.2. oc api-resources 링크 복사링크가 클립보드에 복사되었습니다!
서버에서 지원되는 API 리소스를 인쇄
사용 예
2.5.1.3. oc api-versions 링크 복사링크가 클립보드에 복사되었습니다!
"group/version" 형식으로 서버에서 지원되는 API 버전을 인쇄
사용 예
Print the supported API versions
# Print the supported API versions
oc api-versions
2.5.1.4. oc apply 링크 복사링크가 클립보드에 복사되었습니다!
파일 이름 또는 stdin을 사용하여 리소스에 설정을 적용
사용 예
2.5.1.5. oc apply edit-last-applied 링크 복사링크가 클립보드에 복사되었습니다!
리소스/오브젝트의 최신 last-applied-configuration 주석을 편집
사용 예
Edit the last-applied-configuration annotations by type/name in YAML.
# Edit the last-applied-configuration annotations by type/name in YAML.
oc apply edit-last-applied deployment/nginx
# Edit the last-applied-configuration annotations by file in JSON.
oc apply edit-last-applied -f deploy.yaml -o json
2.5.1.6. oc apply set-last-applied 링크 복사링크가 클립보드에 복사되었습니다!
파일의 내용과 일치하도록 라이브 오브젝트에 last-applied-configuration 주석을 설정
사용 예
2.5.1.7. oc apply view-last-applied 링크 복사링크가 클립보드에 복사되었습니다!
리소스/오브젝트의 최신 last-applied-configuration 주석을 확인
사용 예
View the last-applied-configuration annotations by type/name in YAML.
# View the last-applied-configuration annotations by type/name in YAML.
oc apply view-last-applied deployment/nginx
# View the last-applied-configuration annotations by file in JSON
oc apply view-last-applied -f deploy.yaml -o json
2.5.1.8. oc attach 링크 복사링크가 클립보드에 복사되었습니다!
실행 중인 컨테이너에 연결
사용 예
2.5.1.9. oc auth can-i 링크 복사링크가 클립보드에 복사되었습니다!
작업이 허용되는지 확인
사용 예
2.5.1.10. oc auth reconcile 링크 복사링크가 클립보드에 복사되었습니다!
RBAC Role, RoleBinding, ClusterRole 및 ClusterRoleBinding 오브젝트에 대한 규칙을 조정
사용 예
Reconcile rbac resources from a file
# Reconcile rbac resources from a file
oc auth reconcile -f my-rbac-rules.yaml
2.5.1.11. oc autoscale 링크 복사링크가 클립보드에 복사되었습니다!
배포 구성, 배포, 복제본 세트, 상태 저장 세트 또는 복제 컨트롤러를 자동 스케일링
사용 예
Auto scale a deployment "foo", with the number of pods between 2 and 10, no target CPU utilization specified so a default autoscaling policy will be used:
# Auto scale a deployment "foo", with the number of pods between 2 and 10, no target CPU utilization specified so a default autoscaling policy will be used:
oc autoscale deployment foo --min=2 --max=10
# Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%:
oc autoscale rc foo --max=5 --cpu-percent=80
2.5.1.12. oc cancel-build 링크 복사링크가 클립보드에 복사되었습니다!
실행 중이거나 보류 중인 빌드 또는 새 빌드를 취소
사용 예
2.5.1.13. oc cluster-info 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 정보를 표시
사용 예
Print the address of the control plane and cluster services
# Print the address of the control plane and cluster services
oc cluster-info
2.5.1.14. oc cluster-info dump 링크 복사링크가 클립보드에 복사되었습니다!
디버깅 및 진단을 위해 많은 관련 정보를 덤프
사용 예
2.5.1.15. oc completion 링크 복사링크가 클립보드에 복사되었습니다!
지정된 쉘에 대한 쉘 완료 코드를 출력 (bash 또는 zsh)
사용 예
2.5.1.16. oc config current-context 링크 복사링크가 클립보드에 복사되었습니다!
current-context를 표시
사용 예
Display the current-context
# Display the current-context
oc config current-context
2.5.1.17. oc config delete-cluster 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 지정된 클러스터를 삭제
사용 예
Delete the minikube cluster
# Delete the minikube cluster
oc config delete-cluster minikube
2.5.1.18. oc config delete-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 지정된 컨텍스트를 삭제
사용 예
Delete the context for the minikube cluster
# Delete the context for the minikube cluster
oc config delete-context minikube
2.5.1.19. oc config delete-user 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 지정된 사용자를 삭제
사용 예
Delete the minikube user
# Delete the minikube user
oc config delete-user minikube
2.5.1.20. oc config get-clusters 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에 정의된 클러스터를 표시
사용 예
List the clusters oc knows about
# List the clusters oc knows about
oc config get-clusters
2.5.1.21. oc config get-contexts 링크 복사링크가 클립보드에 복사되었습니다!
하나 또는 여러 컨텍스트를 설명
사용 예
List all the contexts in your kubeconfig file
# List all the contexts in your kubeconfig file
oc config get-contexts
# Describe one context in your kubeconfig file.
oc config get-contexts my-context
2.5.1.22. oc config get-users 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에 정의된 사용자를 표시
사용 예
List the users oc knows about
# List the users oc knows about
oc config get-users
2.5.1.23. oc config rename-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 컨텍스트의 이름을 변경
사용 예
Rename the context 'old-name' to 'new-name' in your kubeconfig file
# Rename the context 'old-name' to 'new-name' in your kubeconfig file
oc config rename-context old-name new-name
2.5.1.24. oc config set 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 개별 값을 설정
사용 예
2.5.1.25. oc config set-cluster 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 클러스터 항목을 설정
사용 예
2.5.1.26. oc config set-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 컨텍스트 항목을 설정
사용 예
Set the user field on the gce context entry without touching other values
# Set the user field on the gce context entry without touching other values
oc config set-context gce --user=cluster-admin
2.5.1.27. oc config set-credentials 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 사용자 항목을 설정
사용 예
2.5.1.28. oc config unset 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 개별 값 설정을 해제
사용 예
Unset the current-context.
# Unset the current-context.
oc config unset current-context
# Unset namespace in foo context.
oc config unset contexts.foo.namespace
2.5.1.29. oc config use-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 current-context를 설정
사용 예
Use the context for the minikube cluster
# Use the context for the minikube cluster
oc config use-context minikube
2.5.1.30. oc config view 링크 복사링크가 클립보드에 복사되었습니다!
병합된 kubeconfig 설정 또는 지정된 kubeconfig 파일을 표시
사용 예
2.5.1.31. oc cp 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너 간에 파일 및 디렉터리를 복사
사용 예
2.5.1.32. oc create 링크 복사링크가 클립보드에 복사되었습니다!
파일 또는 stdin에서 리소스를 생성
사용 예
2.5.1.33. oc create build 링크 복사링크가 클립보드에 복사되었습니다!
새 빌드를 생성
사용 예
Create a new build
# Create a new build
oc create build myapp
2.5.1.34. oc create clusterresourcequota 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 리소스 쿼터를 생성
사용 예
Create a cluster resource quota limited to 10 pods
# Create a cluster resource quota limited to 10 pods
oc create clusterresourcequota limit-bob --project-annotation-selector=openshift.io/requester=user-bob --hard=pods=10
2.5.1.35. oc create clusterrole 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 역할을 생성
사용 예
2.5.1.36. oc create clusterrolebinding 링크 복사링크가 클립보드에 복사되었습니다!
특정 ClusterRole에 대한 ClusterRoleBinding을 생성
사용 예
Create a ClusterRoleBinding for user1, user2, and group1 using the cluster-admin ClusterRole
# Create a ClusterRoleBinding for user1, user2, and group1 using the cluster-admin ClusterRole
oc create clusterrolebinding cluster-admin --clusterrole=cluster-admin --user=user1 --user=user2 --group=group1
2.5.1.37. oc create configmap 링크 복사링크가 클립보드에 복사되었습니다!
로컬 파일, 디렉토리 또는 리터럴 값에서 구성 맵을 생성
사용 예
2.5.1.38. oc create cronjob 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 cronjob을 생성
사용 예
Create a cronjob
# Create a cronjob
oc create cronjob my-job --image=busybox --schedule="*/1 * * * *"
# Create a cronjob with command
oc create cronjob my-job --image=busybox --schedule="*/1 * * * *" -- date
2.5.1.39. oc create deployment 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 배포를 생성
사용 예
2.5.1.40. oc create deploymentconfig 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이미지를 사용하는 기본 옵션으로 배포 구성을 생성
사용 예
Create an nginx deployment config named my-nginx
# Create an nginx deployment config named my-nginx
oc create deploymentconfig my-nginx --image=nginx
2.5.1.41. oc create identity 링크 복사링크가 클립보드에 복사되었습니다!
수동으로 ID를 생성 (자동 생성이 비활성화된 경우에만 필요)
사용 예
Create an identity with identity provider "acme_ldap" and the identity provider username "adamjones"
# Create an identity with identity provider "acme_ldap" and the identity provider username "adamjones"
oc create identity acme_ldap:adamjones
2.5.1.42. oc create imagestream 링크 복사링크가 클립보드에 복사되었습니다!
비어 있는 새 이미지 스트림을 생성
사용 예
Create a new image stream
# Create a new image stream
oc create imagestream mysql
2.5.1.43. oc create imagestreamtag 링크 복사링크가 클립보드에 복사되었습니다!
새 이미지 스트림 태그를 생성
사용 예
Create a new image stream tag based on an image in a remote registry
# Create a new image stream tag based on an image in a remote registry
oc create imagestreamtag mysql:latest --from-image=myregistry.local/mysql/mysql:5.0
2.5.1.44. oc create ingress 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 수신을 생성
사용 예
2.5.1.45. oc create job 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 작업을 생성
사용 예
2.5.1.46. oc create namespace 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 네임 스페이스를 생성
사용 예
Create a new namespace named my-namespace
# Create a new namespace named my-namespace
oc create namespace my-namespace
2.5.1.47. oc create poddisruptionbudget 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 Pod 중단 예산을 생성
사용 예
2.5.1.48. oc create priorityclass 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 priorityclass를 생성
사용 예
2.5.1.49. oc create quota 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름의 쿼터를 생성
사용 예
Create a new resourcequota named my-quota
# Create a new resourcequota named my-quota
oc create quota my-quota --hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10
# Create a new resourcequota named best-effort
oc create quota best-effort --hard=pods=100 --scopes=BestEffort
2.5.1.50. oc create role 링크 복사링크가 클립보드에 복사되었습니다!
단일 규칙을 사용하여 역할을 생성
사용 예
2.5.1.51. oc create rolebinding 링크 복사링크가 클립보드에 복사되었습니다!
특정 역할 또는 ClusterRole에 대한 RoleBinding을 생성
사용 예
Create a RoleBinding for user1, user2, and group1 using the admin ClusterRole
# Create a RoleBinding for user1, user2, and group1 using the admin ClusterRole
oc create rolebinding admin --clusterrole=admin --user=user1 --user=user2 --group=group1
2.5.1.52. oc create route edge 링크 복사링크가 클립보드에 복사되었습니다!
엣지 TLS 종료를 사용하는 경로를 생성
사용 예
2.5.1.53. oc create route passthrough 링크 복사링크가 클립보드에 복사되었습니다!
패스스루 TLS 종료를 사용하는 경로를 생성
사용 예
2.5.1.54. oc create route reencrypt 링크 복사링크가 클립보드에 복사되었습니다!
재암호화 TLS 종료를 사용하는 경로를 생성
사용 예
2.5.1.55. oc create secret docker-registry 링크 복사링크가 클립보드에 복사되었습니다!
Docker 레지스트리와 함께 사용할 시크릿을 생성
사용 예
If you don't already have a .dockercfg file, you can create a dockercfg secret directly by using:
# If you don't already have a .dockercfg file, you can create a dockercfg secret directly by using:
oc create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
# Create a new secret named my-secret from ~/.docker/config.json
oc create secret docker-registry my-secret --from-file=.dockerconfigjson=path/to/.docker/config.json
2.5.1.56. oc create secret generic 링크 복사링크가 클립보드에 복사되었습니다!
로컬 파일, 디렉터리 또는 리터럴 값에서 시크릿을 생성
사용 예
2.5.1.57. oc create secret tls 링크 복사링크가 클립보드에 복사되었습니다!
TLS 시크릿을 생성
사용 예
Create a new TLS secret named tls-secret with the given key pair:
# Create a new TLS secret named tls-secret with the given key pair:
oc create secret tls tls-secret --cert=path/to/tls.cert --key=path/to/tls.key
2.5.1.58. oc create service clusterip 링크 복사링크가 클립보드에 복사되었습니다!
ClusterIP 서비스를 생성
사용 예
Create a new ClusterIP service named my-cs
# Create a new ClusterIP service named my-cs
oc create service clusterip my-cs --tcp=5678:8080
# Create a new ClusterIP service named my-cs (in headless mode)
oc create service clusterip my-cs --clusterip="None"
2.5.1.59. oc create service externalname 링크 복사링크가 클립보드에 복사되었습니다!
ExternalName 서비스를 생성
사용 예
Create a new ExternalName service named my-ns
# Create a new ExternalName service named my-ns
oc create service externalname my-ns --external-name bar.com
2.5.1.60. oc create service loadbalancer 링크 복사링크가 클립보드에 복사되었습니다!
LoadBalancer 서비스를 생성
사용 예
Create a new LoadBalancer service named my-lbs
# Create a new LoadBalancer service named my-lbs
oc create service loadbalancer my-lbs --tcp=5678:8080
2.5.1.61. oc create service nodeport 링크 복사링크가 클립보드에 복사되었습니다!
NodePort 서비스를 생성
사용 예
Create a new NodePort service named my-ns
# Create a new NodePort service named my-ns
oc create service nodeport my-ns --tcp=5678:8080
2.5.1.62. oc create serviceaccount 링크 복사링크가 클립보드에 복사되었습니다!
지정된 이름으로 서비스 계정을 생성
사용 예
Create a new service account named my-service-account
# Create a new service account named my-service-account
oc create serviceaccount my-service-account
2.5.1.63. oc create user 링크 복사링크가 클립보드에 복사되었습니다!
사용자를 수동으로 생성 (자동 생성이 비활성화된 경우에만 필요)
사용 예
Create a user with the username "ajones" and the display name "Adam Jones"
# Create a user with the username "ajones" and the display name "Adam Jones"
oc create user ajones --full-name="Adam Jones"
2.5.1.64. oc create useridentitymapping 링크 복사링크가 클립보드에 복사되었습니다!
ID를 사용자에게 수동으로 매핑
사용 예
Map the identity "acme_ldap:adamjones" to the user "ajones"
# Map the identity "acme_ldap:adamjones" to the user "ajones"
oc create useridentitymapping acme_ldap:adamjones ajones
2.5.1.65. oc debug 링크 복사링크가 클립보드에 복사되었습니다!
디버깅을 위해 Pod의 새 인스턴스를 시작
사용 예
2.5.1.66. oc delete 링크 복사링크가 클립보드에 복사되었습니다!
파일 이름, stdin, 리소스 및 이름별 또는 리소스 및 레이블 선택기별 리소스를 삭제
사용 예
2.5.1.67. oc describe 링크 복사링크가 클립보드에 복사되었습니다!
특정 리소스 또는 리소스 그룹의 세부 정보를 표시
사용 예
2.5.1.68. oc diff 링크 복사링크가 클립보드에 복사되었습니다!
적용될 버전에 대한 Diff 라이브 버전
사용 예
Diff resources included in pod.json.
# Diff resources included in pod.json.
oc diff -f pod.json
# Diff file read from stdin
cat service.yaml | oc diff -f -
2.5.1.69. oc edit 링크 복사링크가 클립보드에 복사되었습니다!
서버에서 리소스를 편집
사용 예
2.5.1.70. oc ex dockergc 링크 복사링크가 클립보드에 복사되었습니다!
Docker 스토리지에서 공간을 확보하기 위해 가비지 컬렉션을 수행
사용 예
Perform garbage collection with the default settings
# Perform garbage collection with the default settings
oc ex dockergc
2.5.1.71. oc exec 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너에서 명령을 실행
사용 예
2.5.1.72. oc explain 링크 복사링크가 클립보드에 복사되었습니다!
리소스 문서
사용 예
Get the documentation of the resource and its fields
# Get the documentation of the resource and its fields
oc explain pods
# Get the documentation of a specific field of a resource
oc explain pods.spec.containers
2.5.1.73. oc expose 링크 복사링크가 클립보드에 복사되었습니다!
복제된 애플리케이션을 서비스 또는 경로로 노출
사용 예
2.5.1.74. oc extract 링크 복사링크가 클립보드에 복사되었습니다!
시크릿 또는 구성 맵을 디스크에 추출
사용 예
2.5.1.75. oc get 링크 복사링크가 클립보드에 복사되었습니다!
리소스를 하나 이상 표시
사용 예
2.5.1.76. oc idle 링크 복사링크가 클립보드에 복사되었습니다!
확장 가능한 리소스를 유휴 상태로 설정
사용 예
Idle the scalable controllers associated with the services listed in to-idle.txt
# Idle the scalable controllers associated with the services listed in to-idle.txt
$ oc idle --resource-names-file to-idle.txt
2.5.1.77. oc image append 링크 복사링크가 클립보드에 복사되었습니다!
이미지에 레이어를 추가하고 레지스트리에 푸시
사용 예
2.5.1.78. oc image extract 링크 복사링크가 클립보드에 복사되었습니다!
이미지에서 파일 시스템으로 파일을 복사
사용 예
2.5.1.79. oc image info 링크 복사링크가 클립보드에 복사되었습니다!
이미지에 대한 정보 표시
사용 예
2.5.1.80. oc image mirror 링크 복사링크가 클립보드에 복사되었습니다!
한 저장소에서 다른 저장소로 이미지를 미러링
사용 예
2.5.1.81. oc import-image 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너 이미지 레지스트리에서 이미지를 가져옵니다
사용 예
2.5.1.82. oc kustomize 링크 복사링크가 클립보드에 복사되었습니다!
디렉터리 또는 URL에서 kustomization 대상을 빌드
사용 예
2.5.1.83. oc label 링크 복사링크가 클립보드에 복사되었습니다!
리소스에서 레이블을 업데이트
사용 예
2.5.1.84. oc login 링크 복사링크가 클립보드에 복사되었습니다!
서버에 로그인
사용 예
2.5.1.85. oc logout 링크 복사링크가 클립보드에 복사되었습니다!
현재 서버 세션을 종료
사용 예
Log out
# Log out
oc logout
2.5.1.86. oc logs 링크 복사링크가 클립보드에 복사되었습니다!
Pod에서 컨테이너의 로그를 출력
사용 예
2.5.1.87. oc new-app 링크 복사링크가 클립보드에 복사되었습니다!
새 애플리케이션을 생성
사용 예
2.5.1.88. oc new-build 링크 복사링크가 클립보드에 복사되었습니다!
새 빌드 구성을 생성
사용 예
2.5.1.89. oc new-project 링크 복사링크가 클립보드에 복사되었습니다!
새 프로젝트를 요청
사용 예
Create a new project with minimal information
# Create a new project with minimal information
oc new-project web-team-dev
# Create a new project with a display name and description
oc new-project web-team-dev --display-name="Web Team Development" --description="Development project for the web team."
2.5.1.90. oc observe 링크 복사링크가 클립보드에 복사되었습니다!
리소스에 대한 변경 사항을 관찰하고 이에 대응합니다(시험적)
사용 예
2.5.1.91. oc patch 링크 복사링크가 클립보드에 복사되었습니다!
리소스 필드를 업데이트
사용 예
2.5.1.92. oc policy add-role-to-user 링크 복사링크가 클립보드에 복사되었습니다!
현재 프로젝트의 사용자 또는 서비스 계정에 역할을 추가
사용 예
Add the 'view' role to user1 for the current project
# Add the 'view' role to user1 for the current project
oc policy add-role-to-user view user1
# Add the 'edit' role to serviceaccount1 for the current project
oc policy add-role-to-user edit -z serviceaccount1
2.5.1.93. oc policy scc-review 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 수 있는 서비스 계정을 확인
사용 예
2.5.1.94. oc policy scc-subject-review 링크 복사링크가 클립보드에 복사되었습니다!
사용자 또는 서비스 계정의 Pod 생성 가능 여부 확인
사용 예
2.5.1.95. oc port-forward 링크 복사링크가 클립보드에 복사되었습니다!
Pod에 하나 이상의 로컬 포트를 전달
사용 예
2.5.1.96. oc process 링크 복사링크가 클립보드에 복사되었습니다!
템플릿을 리소스 목록으로 처리
사용 예
2.5.1.97. oc project 링크 복사링크가 클립보드에 복사되었습니다!
다른 프로젝트로 전환
사용 예
Switch to the 'myapp' project
# Switch to the 'myapp' project
oc project myapp
# Display the project currently in use
oc project
2.5.1.98. oc projects 링크 복사링크가 클립보드에 복사되었습니다!
기존 프로젝트를 표시
사용 예
List all projects
# List all projects
oc projects
2.5.1.99. oc proxy 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes API 서버에 대해 프록시를 실행
사용 예
2.5.1.100. oc registry info 링크 복사링크가 클립보드에 복사되었습니다!
통합 레지스트리에 대한 정보를 인쇄
사용 예
Display information about the integrated registry
# Display information about the integrated registry
oc registry info
2.5.1.101. oc registry login 링크 복사링크가 클립보드에 복사되었습니다!
통합 레지스트리에 로그인
사용 예
2.5.1.102. oc replace 링크 복사링크가 클립보드에 복사되었습니다!
리소스를 파일 이름 또는 stdin으로 교체
사용 예
2.5.1.103. oc rollback 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션의 일부를 이전 배포로 되돌립니다
사용 예
2.5.1.104. oc rollout cancel 링크 복사링크가 클립보드에 복사되었습니다!
진행 중인 배포를 취소
사용 예
Cancel the in-progress deployment based on 'nginx'
# Cancel the in-progress deployment based on 'nginx'
oc rollout cancel dc/nginx
2.5.1.105. oc rollout history 링크 복사링크가 클립보드에 복사되었습니다!
롤아웃 내역 보기
사용 예
View the rollout history of a deployment
# View the rollout history of a deployment
oc rollout history dc/nginx
# View the details of deployment revision 3
oc rollout history dc/nginx --revision=3
2.5.1.106. oc rollout latest 링크 복사링크가 클립보드에 복사되었습니다!
트리거의 최신 상태로 배포 구성에 대한 새 롤아웃 시작
사용 예
Start a new rollout based on the latest images defined in the image change triggers
# Start a new rollout based on the latest images defined in the image change triggers
oc rollout latest dc/nginx
# Print the rolled out deployment config
oc rollout latest dc/nginx -o json
2.5.1.107. oc rollout pause 링크 복사링크가 클립보드에 복사되었습니다!
제공된 리소스를 일시 중지됨으로 표시
사용 예
Mark the nginx deployment as paused. Any current state of
# Mark the nginx deployment as paused. Any current state of
# the deployment will continue its function, new updates to the deployment will not
# have an effect as long as the deployment is paused
oc rollout pause dc/nginx
2.5.1.108. oc rollout restart 링크 복사링크가 클립보드에 복사되었습니다!
리소스를 다시 시작
사용 예
Restart a deployment
# Restart a deployment
oc rollout restart deployment/nginx
# Restart a daemonset
oc rollout restart daemonset/abc
2.5.1.109. oc rollout resume 링크 복사링크가 클립보드에 복사되었습니다!
일시 중지된 리소스 재개
사용 예
Resume an already paused deployment
# Resume an already paused deployment
oc rollout resume dc/nginx
2.5.1.110. oc rollout retry 링크 복사링크가 클립보드에 복사되었습니다!
가장 최근에 실패한 롤아웃 재시도
사용 예
Retry the latest failed deployment based on 'frontend'
# Retry the latest failed deployment based on 'frontend'
# The deployer pod and any hook pods are deleted for the latest failed deployment
oc rollout retry dc/frontend
2.5.1.111. oc rollout status 링크 복사링크가 클립보드에 복사되었습니다!
롤아웃 상태를 표시
사용 예
Watch the status of the latest rollout
# Watch the status of the latest rollout
oc rollout status dc/nginx
2.5.1.112. oc rollout undo 링크 복사링크가 클립보드에 복사되었습니다!
이전 롤아웃 실행 취소
사용 예
Roll back to the previous deployment
# Roll back to the previous deployment
oc rollout undo dc/nginx
# Roll back to deployment revision 3. The replication controller for that version must exist
oc rollout undo dc/nginx --to-revision=3
2.5.1.113. oc rsh 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너에서 쉘 세션 시작
사용 예
2.5.1.114. oc rsync 링크 복사링크가 클립보드에 복사되었습니다!
로컬 파일 시스템과 Pod 간 파일 복사
사용 예
Synchronize a local directory with a pod directory
# Synchronize a local directory with a pod directory
oc rsync ./local/dir/ POD:/remote/dir
# Synchronize a pod directory with a local directory
oc rsync POD:/remote/dir/ ./local/dir
2.5.1.115. oc run 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에서 특정 이미지 실행
사용 예
2.5.1.116. oc scale 링크 복사링크가 클립보드에 복사되었습니다!
배포, 복제 세트 또는 복제 컨트롤러의 새 크기 설정
사용 예
2.5.1.117. oc secrets link 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정에 시크릿 연결
사용 예
2.5.1.118. oc secrets unlink 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정에서 시크릿 분리
사용 예
Unlink a secret currently associated with a service account
# Unlink a secret currently associated with a service account
oc secrets unlink serviceaccount-name secret-name another-secret-name ...
2.5.1.119. oc serviceaccounts create-kubeconfig 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정에 대한 kubeconfig 파일 생성
사용 예
Create a kubeconfig file for service account 'default'
# Create a kubeconfig file for service account 'default'
oc serviceaccounts create-kubeconfig 'default' > default.kubeconfig
2.5.1.120. oc serviceaccounts get-token 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정에 할당된 토큰을 가져옵니다
사용 예
Get the service account token from service account 'default'
# Get the service account token from service account 'default'
oc serviceaccounts get-token 'default'
2.5.1.121. oc serviceaccounts new-token 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정에 대한 새 토큰을 생성
사용 예
2.5.1.122. oc set build-hook 링크 복사링크가 클립보드에 복사되었습니다!
빌드 구성에서 빌드 후크를 업데이트
사용 예
2.5.1.123. oc set build-secret 링크 복사링크가 클립보드에 복사되었습니다!
빌드 구성에서 빌드 보안을 업데이트
사용 예
2.5.1.124. oc set data 링크 복사링크가 클립보드에 복사되었습니다!
구성 맵 또는 시크릿 내의 데이터를 업데이트
사용 예
2.5.1.125. oc set deployment-hook 링크 복사링크가 클립보드에 복사되었습니다!
배포 구성에서 배포 후크를 업데이트
사용 예
2.5.1.126. oc set env 링크 복사링크가 클립보드에 복사되었습니다!
Pod 템플릿에서 환경 변수를 업데이트
사용 예
2.5.1.127. oc set image 링크 복사링크가 클립보드에 복사되었습니다!
Pod 템플릿 이미지를 업데이트
사용 예
2.5.1.128. oc set image-lookup 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 배포할 때 이미지가 해결되는 방법 변경
사용 예
2.5.1.129. oc set probe 링크 복사링크가 클립보드에 복사되었습니다!
Pod 템플릿에서 프로브 업데이트
사용 예
2.5.1.130. oc set resources 링크 복사링크가 클립보드에 복사되었습니다!
Pod 템플릿을 사용하여 오브젝트에서 리소스 요청/제한 업데이트
사용 예
2.5.1.131. oc set route-backends 링크 복사링크가 클립보드에 복사되었습니다!
경로의 백엔드 업데이트
사용 예
2.5.1.132. oc set selector 링크 복사링크가 클립보드에 복사되었습니다!
리소스에 선택기 설정
사용 예
Set the labels and selector before creating a deployment/service pair.
# Set the labels and selector before creating a deployment/service pair.
oc create service clusterip my-svc --clusterip="None" -o yaml --dry-run | oc set selector --local -f - 'environment=qa' -o yaml | oc create -f -
oc create deployment my-dep -o yaml --dry-run | oc label --local -f - environment=qa -o yaml | oc create -f -
2.5.1.133. oc set serviceaccount 링크 복사링크가 클립보드에 복사되었습니다!
리소스의 서비스 계정 업데이트
사용 예
Set deployment nginx-deployment's service account to serviceaccount1
# Set deployment nginx-deployment's service account to serviceaccount1
oc set serviceaccount deployment nginx-deployment serviceaccount1
# Print the result (in YAML format) of updated nginx deployment with service account from a local file, without hitting the API server
oc set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run -o yaml
2.5.1.134. oc set subject 링크 복사링크가 클립보드에 복사되었습니다!
RoleBinding/ClusterRoleBinding에서 사용자, 그룹 또는 서비스 계정 업데이트
사용 예
2.5.1.135. oc set triggers 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 오브젝트에서 트리거 업데이트
사용 예
2.5.1.136. oc set volumes 링크 복사링크가 클립보드에 복사되었습니다!
Pod 템플릿에서 볼륨 업데이트
사용 예
2.5.1.137. oc start-build 링크 복사링크가 클립보드에 복사되었습니다!
새 빌드를 시작
사용 예
2.5.1.138. oc status 링크 복사링크가 클립보드에 복사되었습니다!
현재 프로젝트의 개요를 표시
사용 예
2.5.1.139. oc tag 링크 복사링크가 클립보드에 복사되었습니다!
기존 이미지를 이미지 스트림에 태깅
사용 예
2.5.1.140. oc version 링크 복사링크가 클립보드에 복사되었습니다!
클라이언트 및 서버 버전 정보를 인쇄
사용 예
2.5.1.141. oc wait 링크 복사링크가 클립보드에 복사되었습니다!
실험적: 하나 이상의 리소스에서 특정 조건을 기다립니다.
사용 예
2.5.1.142. oc whoami 링크 복사링크가 클립보드에 복사되었습니다!
현재 세션에 대한 정보를 반환
사용 예
Display the currently authenticated user
# Display the currently authenticated user
oc whoami
2.6. OpenShift CLI 관리자 명령 참조 링크 복사링크가 클립보드에 복사되었습니다!
이 참조는 OpenShift CLI (oc
) 관리자 명령에 대한 설명 및 예제 명령을 제공합니다. 이러한 명령을 사용하려면 cluster-admin
또는 이와 동등한 권한이 있어야 합니다.
개발자 명령의 경우 OpenShift CLI 개발자 명령 참조를 참조하십시오.
oc adm -h
를 실행하여 모든 관리자 명령을 나열하거나 oc <command> --help
를 실행하여 특정 명령에 대한 추가 세부 정보를 가져옵니다.
2.6.1. OpenShift CLI (oc) 관리자 명령 링크 복사링크가 클립보드에 복사되었습니다!
2.6.1.1. oc adm build-chain 링크 복사링크가 클립보드에 복사되었습니다!
빌드의 입력 및 종속 항목을 출력
사용 예
2.6.1.2. oc adm catalog mirror 링크 복사링크가 클립보드에 복사되었습니다!
operator-registry 카탈로그 미러링
사용 예
2.6.1.3. oc adm completion 링크 복사링크가 클립보드에 복사되었습니다!
지정된 쉘에 대한 쉘 완료 코드를 출력 (bash 또는 zsh)
사용 예
2.6.1.4. oc adm config current-context 링크 복사링크가 클립보드에 복사되었습니다!
current-context를 표시
사용 예
Display the current-context
# Display the current-context
oc config current-context
2.6.1.5. oc adm config delete-cluster 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 지정된 클러스터를 삭제
사용 예
Delete the minikube cluster
# Delete the minikube cluster
oc config delete-cluster minikube
2.6.1.6. oc adm config delete-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 지정된 컨텍스트를 삭제
사용 예
Delete the context for the minikube cluster
# Delete the context for the minikube cluster
oc config delete-context minikube
2.6.1.7. oc adm config delete-user 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 지정된 사용자를 삭제
사용 예
Delete the minikube user
# Delete the minikube user
oc config delete-user minikube
2.6.1.8. oc adm config get-clusters 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에 정의된 클러스터를 표시
사용 예
List the clusters oc knows about
# List the clusters oc knows about
oc config get-clusters
2.6.1.9. oc adm config get-contexts 링크 복사링크가 클립보드에 복사되었습니다!
하나 또는 여러 컨텍스트를 설명
사용 예
List all the contexts in your kubeconfig file
# List all the contexts in your kubeconfig file
oc config get-contexts
# Describe one context in your kubeconfig file.
oc config get-contexts my-context
2.6.1.10. oc adm config get-users 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에 정의된 사용자를 표시
사용 예
List the users oc knows about
# List the users oc knows about
oc config get-users
2.6.1.11. oc adm config rename-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 컨텍스트의 이름을 변경
사용 예
Rename the context 'old-name' to 'new-name' in your kubeconfig file
# Rename the context 'old-name' to 'new-name' in your kubeconfig file
oc config rename-context old-name new-name
2.6.1.12. oc adm config set 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 개별 값을 설정
사용 예
2.6.1.13. oc adm config set-cluster 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 클러스터 항목을 설정
사용 예
2.6.1.14. oc adm config set-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 컨텍스트 항목을 설정
사용 예
Set the user field on the gce context entry without touching other values
# Set the user field on the gce context entry without touching other values
oc config set-context gce --user=cluster-admin
2.6.1.15. oc adm config set-credentials 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig에서 사용자 항목을 설정
사용 예
2.6.1.16. oc adm config unset 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 개별 값 설정을 해제
사용 예
Unset the current-context.
# Unset the current-context.
oc config unset current-context
# Unset namespace in foo context.
oc config unset contexts.foo.namespace
2.6.1.17. oc adm config use-context 링크 복사링크가 클립보드에 복사되었습니다!
kubeconfig 파일에서 current-context를 설정
사용 예
Use the context for the minikube cluster
# Use the context for the minikube cluster
oc config use-context minikube
2.6.1.18. oc adm config view 링크 복사링크가 클립보드에 복사되었습니다!
병합된 kubeconfig 설정 또는 지정된 kubeconfig 파일을 표시
사용 예
2.6.1.19. oc adm cordon 링크 복사링크가 클립보드에 복사되었습니다!
노드를 예약 불가로 표시
사용 예
Mark node "foo" as unschedulable.
# Mark node "foo" as unschedulable.
oc adm cordon foo
2.6.1.20. oc adm create-bootstrap-project-template 링크 복사링크가 클립보드에 복사되었습니다!
부트스트랩 프로젝트 템플릿을 생성
사용 예
Output a bootstrap project template in YAML format to stdout
# Output a bootstrap project template in YAML format to stdout
oc adm create-bootstrap-project-template -o yaml
2.6.1.21. oc adm create-error-template 링크 복사링크가 클립보드에 복사되었습니다!
오류 페이지 템플릿 생성
사용 예
Output a template for the error page to stdout
# Output a template for the error page to stdout
oc adm create-error-template
2.6.1.22. oc adm create-login-template 링크 복사링크가 클립보드에 복사되었습니다!
로그인 템플릿 생성
사용 예
Output a template for the login page to stdout
# Output a template for the login page to stdout
oc adm create-login-template
2.6.1.23. oc adm create-provider-selection-template 링크 복사링크가 클립보드에 복사되었습니다!
공급자 선택 템플릿 생성
사용 예
Output a template for the provider selection page to stdout
# Output a template for the provider selection page to stdout
oc adm create-provider-selection-template
2.6.1.24. oc adm drain 링크 복사링크가 클립보드에 복사되었습니다!
유지 관리를 위해 노드를 드레이닝
사용 예
Drain node "foo", even if there are pods not managed by a ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet on it.
# Drain node "foo", even if there are pods not managed by a ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet on it.
$ oc adm drain foo --force
# As above, but abort if there are pods not managed by a ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet, and use a grace period of 15 minutes.
$ oc adm drain foo --grace-period=900
2.6.1.25. oc adm groups add-users 링크 복사링크가 클립보드에 복사되었습니다!
그룹에 사용자 추가
사용 예
Add user1 and user2 to my-group
# Add user1 and user2 to my-group
oc adm groups add-users my-group user1 user2
2.6.1.26. oc adm groups new 링크 복사링크가 클립보드에 복사되었습니다!
새 그룹 생성
사용 예
2.6.1.27. oc adm groups prune 링크 복사링크가 클립보드에 복사되었습니다!
외부 공급자에서 누락된 레코드를 참조하는 이전 OpenShift 그룹 제거
사용 예
2.6.1.28. oc adm groups remove-users 링크 복사링크가 클립보드에 복사되었습니다!
그룹에서 사용자 제거
사용 예
Remove user1 and user2 from my-group
# Remove user1 and user2 from my-group
oc adm groups remove-users my-group user1 user2
2.6.1.29. oc adm groups sync 링크 복사링크가 클립보드에 복사되었습니다!
외부 공급자에서 레코드와 OpenShift 그룹 동기화
사용 예
2.6.1.30. oc adm inspect 링크 복사링크가 클립보드에 복사되었습니다!
지정된 리소스에 대한 디버깅 데이터 수집
사용 예
2.6.1.31. oc adm migrate template-instances 링크 복사링크가 클립보드에 복사되었습니다!
최신 group-version-kinds를 가리키도록 템플릿 인스턴스를 업데이트
사용 예
Perform a dry-run of updating all objects
# Perform a dry-run of updating all objects
oc adm migrate template-instances
# To actually perform the update, the confirm flag must be appended
oc adm migrate template-instances --confirm
2.6.1.32. oc adm must-gather 링크 복사링크가 클립보드에 복사되었습니다!
디버그 정보 수집을 위해 Pod의 새 인스턴스를 시작
사용 예
2.6.1.33. oc adm new-project 링크 복사링크가 클립보드에 복사되었습니다!
새 프로젝트 만들기
사용 예
Create a new project using a node selector
# Create a new project using a node selector
oc adm new-project myproject --node-selector='type=user-node,region=east'
2.6.1.34. oc adm node-logs 링크 복사링크가 클립보드에 복사되었습니다!
노드 로그를 표시하고 필터링
사용 예
2.6.1.35. oc adm pod-network isolate-projects 링크 복사링크가 클립보드에 복사되었습니다!
프로젝트 네트워크 격리
사용 예
Provide isolation for project p1
# Provide isolation for project p1
oc adm pod-network isolate-projects <p1>
# Allow all projects with label name=top-secret to have their own isolated project network
oc adm pod-network isolate-projects --selector='name=top-secret'
2.6.1.36. oc adm pod-network join-projects 링크 복사링크가 클립보드에 복사되었습니다!
프로젝트 네트워크 참여
사용 예
Allow project p2 to use project p1 network
# Allow project p2 to use project p1 network
oc adm pod-network join-projects --to=<p1> <p2>
# Allow all projects with label name=top-secret to use project p1 network
oc adm pod-network join-projects --to=<p1> --selector='name=top-secret'
2.6.1.37. oc adm pod-network make-projects-global 링크 복사링크가 클립보드에 복사되었습니다!
프로젝트 네트워크 글로벌 만들기
사용 예
Allow project p1 to access all pods in the cluster and vice versa
# Allow project p1 to access all pods in the cluster and vice versa
oc adm pod-network make-projects-global <p1>
# Allow all projects with label name=share to access all pods in the cluster and vice versa
oc adm pod-network make-projects-global --selector='name=share'
2.6.1.38. oc adm policy add-role-to-user 링크 복사링크가 클립보드에 복사되었습니다!
현재 프로젝트의 사용자 또는 서비스 계정에 역할을 추가
사용 예
Add the 'view' role to user1 for the current project
# Add the 'view' role to user1 for the current project
oc policy add-role-to-user view user1
# Add the 'edit' role to serviceaccount1 for the current project
oc policy add-role-to-user edit -z serviceaccount1
2.6.1.39. oc adm policy add-scc-to-group 링크 복사링크가 클립보드에 복사되었습니다!
그룹에 보안 컨텍스트 제한 조건 추가
사용 예
Add the 'restricted' security context constraint to group1 and group2
# Add the 'restricted' security context constraint to group1 and group2
oc adm policy add-scc-to-group restricted group1 group2
2.6.1.40. oc adm policy add-scc-to-user 링크 복사링크가 클립보드에 복사되었습니다!
사용자 또는 서비스 계정에 보안 컨텍스트 제약 조건 추가
사용 예
Add the 'restricted' security context constraint to user1 and user2
# Add the 'restricted' security context constraint to user1 and user2
oc adm policy add-scc-to-user restricted user1 user2
# Add the 'privileged' security context constraint to serviceaccount1 in the current namespace
oc adm policy add-scc-to-user privileged -z serviceaccount1
2.6.1.41. oc adm policy scc-review 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 수 있는 서비스 계정을 확인
사용 예
2.6.1.42. oc adm policy scc-subject-review 링크 복사링크가 클립보드에 복사되었습니다!
사용자 또는 서비스 계정의 Pod 생성 가능 여부 확인
사용 예
2.6.1.43. oc adm prune 빌드 링크 복사링크가 클립보드에 복사되었습니다!
이전 빌드 및 실패한 빌드 삭제
사용 예
2.6.1.44. oc adm prune deployment 링크 복사링크가 클립보드에 복사되었습니다!
이전 완료 및 실패한 배포 구성 제거
사용 예
Dry run deleting all but the last complete deployment for every deployment config
# Dry run deleting all but the last complete deployment for every deployment config
oc adm prune deployments --keep-complete=1
# To actually perform the prune operation, the confirm flag must be appended
oc adm prune deployments --keep-complete=1 --confirm
2.6.1.45. oc adm prune groups 링크 복사링크가 클립보드에 복사되었습니다!
외부 공급자에서 누락된 레코드를 참조하는 이전 OpenShift 그룹 제거
사용 예
2.6.1.46. oc adm prune images 링크 복사링크가 클립보드에 복사되었습니다!
권장되지 않은 이미지 제거
사용 예
2.6.1.47. oc adm release extract 링크 복사링크가 클립보드에 복사되었습니다!
업데이트 페이로드 내용을 디스크에 추출
사용 예
Use git to check out the source code for the current cluster release to DIR
# Use git to check out the source code for the current cluster release to DIR
oc adm release extract --git=DIR
# Extract cloud credential requests for AWS
oc adm release extract --credentials-requests --cloud=aws
2.6.1.48. oc adm release info 링크 복사링크가 클립보드에 복사되었습니다!
릴리스에 대한 정보 표시
사용 예
2.6.1.49. oc adm release mirror 링크 복사링크가 클립보드에 복사되었습니다!
다른 이미지 레지스트리 위치에 릴리스 미러링
사용 예
2.6.1.50. oc adm release new 링크 복사링크가 클립보드에 복사되었습니다!
새 OpenShift 릴리스 생성
사용 예
2.6.1.51. oc adm taint 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 노드에서 테인트를 업데이트
사용 예
2.6.1.52. oc adm top images 링크 복사링크가 클립보드에 복사되었습니다!
이미지에 대한 사용량 통계 표시
사용 예
Show usage statistics for images
# Show usage statistics for images
oc adm top images
2.6.1.53. oc adm top imagestreams 링크 복사링크가 클립보드에 복사되었습니다!
이미지 스트림에 대한 사용량 통계 표시
사용 예
Show usage statistics for image streams
# Show usage statistics for image streams
oc adm top imagestreams
2.6.1.54. oc adm top node 링크 복사링크가 클립보드에 복사되었습니다!
노드의 리소스 (CPU/Memory) 사용 표시
사용 예
Show metrics for all nodes
# Show metrics for all nodes
oc adm top node
# Show metrics for a given node
oc adm top node NODE_NAME
2.6.1.55. oc adm top pod 링크 복사링크가 클립보드에 복사되었습니다!
Pod의 리소스 (CPU/Memory) 사용 표시
사용 예
2.6.1.56. oc adm uncordon 링크 복사링크가 클립보드에 복사되었습니다!
노드를 예약 가능으로 표시
사용 예
Mark node "foo" as schedulable.
# Mark node "foo" as schedulable.
$ oc adm uncordon foo
2.6.1.57. oc adm verify-image-signature 링크 복사링크가 클립보드에 복사되었습니다!
이미지 서명에 포함된 이미지 ID 확인
사용 예
2.7. oc 및 kubectl 명령 사용 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes CLI(명령줄 인터페이스), kubectl
은 Kubernetes 클러스터에 대해 명령을 실행하는 데 사용할 수 있습니다. OpenShift Container Platform은 인증된 Kubernetes 배포판이므로 OpenShift Container Platform과 함께 제공된 지원되는 kubectl
바이너리를 사용할 수도 있고 oc
바이너리를 사용하여 확장 기능을 받을 수도 있습니다.
2.7.1. oc 바이너리 링크 복사링크가 클립보드에 복사되었습니다!
oc
바이너리는 kubectl
바이너리와 동일한 기능을 제공하지만 다음을 비롯하여 추가 OpenShift Container Platform 기능을 지원하도록 기본적으로 확장됩니다.
OpenShift Container Platform 리소스 전체 지원
DeploymentConfig
,BuildConfig
,Route
,ImageStream
및ImageStreamTag
오브젝트와 같은 리소스는 OpenShift Container Platform 배포판에 고유하며 표준 Kubernetes 프리미티브에 빌드됩니다.인증
oc
바이너리에서 제공하는 기본login
명령은 인증을 허용하며 Kubernetes 네임스페이스를 인증된 사용자에 매핑하는 OpenShift Container Platform 프로젝트 작업을 지원합니다. 자세한 내용은 인증 이해를 참조하십시오.추가 명령
예를 들어 추가 명령
oc new-app
을 사용하면 기존 소스 코드 또는 미리 빌드된 이미지를 사용하여 새 애플리케이션을 보다 쉽게 시작할 수 있습니다. 마찬가지로, 추가 명령oc new-project
를 사용하면 기본값으로 전환할 수 있는 프로젝트를 보다 쉽게 시작할 수 있습니다.
이전 버전의 oc
바이너리를 설치한 경우 OpenShift Container Platform 4.8의 모든 명령을 완료하는 데 사용할 수 없습니다. 최신 기능을 사용하려면 OpenShift Container Platform 서버 버전에 해당하는 최신 버전의 oc
바이너리를 다운로드하여 설치해야 합니다.
비보안 API 변경에는 이전 oc
바이너리를 업데이트할 수 있도록 최소한 두 개의 마이너 릴리스(예: 4.1-4.2 - 4.3)가 포함됩니다. 새 기능을 사용하려면 최신 oc
바이너리가 필요할 수 있습니다. 4.3 서버에는 4.2 oc
바이너리에서 사용할 수 없는 추가 기능이 있을 수 있으며 4.3 oc
바이너리에 4.2 서버에서 지원하지 않는 추가 기능이 있을 수 있습니다.
XY( |
X.Y+N footnote:versionpolicyn[Where N is a number greater than or equal to 1.] ( | |
X.Y(서버) |
|
|
X.Y+N footnote:versionpolicyn[](Server) |
|
|
완전하게 호환됩니다.
oc
클라이언트에서 서버 기능에 액세스하지 못할 수 있습니다.
oc
클라이언트에서 액세스한 서버와 호환되지 않는 옵션 및 기능을 제공할 수 있습니다.
2.7.2. kubectl 바이너리 링크 복사링크가 클립보드에 복사되었습니다!
kubectl
바이너리는 표준 Kubernetes 환경의 새로운 OpenShift Container Platform 사용자 또는 kubectl
CLI 사용을 선호하는 사용자를 위해 기존 워크플로우 및 스크립트를 지원하는 수단으로 제공됩니다. kubectl
의 기존 사용자는 OpenShift Container Platform 클러스터를 변경할 필요 없이 이 바이너리를 사용하여 Kubernetes 프리미티브와 계속 상호 작용할 수 있습니다.
지원되는 kubectl
바이너리는 OpenShift CLI 설치 단계에 따라 설치할 수 있습니다. kubectl
바이너리는 바이너리를 다운로드한 경우 아카이브에 포함되어 있습니다. RPM을 사용하여 CLI를 설치할 때 이 바이너리가 설치됩니다.
자세한 내용은 kubectl 문서를 참조하십시오.
3장. 개발자 CLI(odo) 링크 복사링크가 클립보드에 복사되었습니다!
3.1. odo 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
3.1.1. odo 버전 2.5.0의 주요 변경 사항 및 개선 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
adler32
해시를 사용하여 각 구성 요소에 대해 고유한 경로를 만듭니다. 리소스 할당을 위해 devfile의 추가 필드를 지원합니다.
- cpuRequest
- cpuLimit
- memoryRequest
- memoryLimit
odo
명령에 추가합니다.deploy 명령을 사용하여 배포된 구성 요소를 제거하려면
delete--deploy
플래그를 odoodo delete --deploy
$ odo delete --deploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
odo link
명령에 매핑 지원 추가 -
볼륨 구성 요소의
임시
필드를 사용하여 임시볼륨
지원 -
Telemetry 옵트인을 요청할 때 기본 답변을
yes
로 설정합니다. - devfile 레지스트리로 추가 Telemetry 데이터를 전송하여 지표 개선
-
부트스트랩 이미지를
registry.access.redhat.com/ocp-tools-4/odo-init-container-rhel8:1.1.11로 업데이트합니다.
- 업스트림 리포지토리는 https://github.com/redhat-developer/odo에서 사용할 수 있습니다.
3.1.2. 버그 수정 링크 복사링크가 클립보드에 복사되었습니다!
-
이전에는
.odo/env
파일이 없으면odo deploy
가 실패했습니다. 필요한 경우 이 명령은.odo/env
파일을 생성합니다. -
이전에는 클러스터에서 연결을 끊으면
odo create
명령을 사용한 대화형 구성 요소 생성에 실패했습니다. 이 문제는 최신 릴리스에서 해결되었습니다.
3.1.3. 지원 요청 링크 복사링크가 클립보드에 복사되었습니다!
제품의 경우
오류를 발견하거나, 버그가 발생하거나, odo
의 기능 개선을 위한 제안 사항이 있는 경우 Bugzilla에 문제를 제출합니다. 제품 유형으로 OpenShift Developer Tools 및 Service를 구성 요소로 odo를 선택합니다.
문제 설명에 가능한 한 많은 세부 정보를 제공합니다.
문서의 경우
오류를 발견하거나 문서 개선을 위한 제안 사항이 있는 경우 가장 관련 있는 문서 구성 요소에 대한 Jira 문제를 제출하십시오.
3.2. odo 이해 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Developer CLI(odo
)는 OpenShift Container Platform 및 Kubernetes에서 애플리케이션을 생성하는 툴입니다. odo
를 사용하면 플랫폼을 깊이 이해하지 못해도 Kubernetes 클러스터에서 마이크로서비스 기반 애플리케이션을 개발, 테스트, 디버그, 배포할 수 있습니다.
odo
는 생성 및 푸시 워크플로를 따릅니다. 사용자가 를 생성할 때 정보(또는 매니페스트)가 구성 파일에 저장됩니다. 를 푸시 하면 Kubernetes 클러스터에 해당 리소스가 생성됩니다. 이 모든 구성은 원활한 접근성 및 기능을 위해 Kubernetes API에 저장됩니다.
odo
는 service 및 link 명령을 사용하여 구성 요소 및 서비스를 연결합니다. odo
는 클러스터의 Kubernetes Operator를 기반으로 서비스를 생성하고 배포하여 이를 수행합니다. Operator Hub에서 사용 가능한 Operator를 사용하여 서비스를 생성할 수 있습니다. 서비스를 연결한 후 odo
는 서비스 구성을 구성 요소에 삽입합니다. 그러면 애플리케이션에서 이 구성을 사용하여 Operator 지원 서비스와 통신할 수 있습니다.
3.2.1. odo 주요 기능 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 다음과 같은 기능을 통해 개발자에게 친숙한 Kubernetes 인터페이스로 설계되었습니다.
- 새 매니페스트를 생성하거나 기존 매니페스트를 사용하여 Kubernetes 클러스터에 애플리케이션을 빠르게 배포합니다.
- Kubernetes 구성 파일을 이해하고 유지 관리할 필요 없이 명령을 사용하여 매니페스트를 쉽게 생성하고 업데이트합니다.
- Kubernetes 클러스터에서 실행되는 애플리케이션에 대한 보안 액세스 제공
- Kubernetes 클러스터에서 애플리케이션의 추가 스토리지 추가 및 제거
- Operator 지원 서비스를 생성하고 애플리케이션을 연결합니다.
-
odo
구성 요소로 배포된 여러 마이크로 서비스 간 링크 생성 -
IDE에서
odo
를 사용하여 배포한 원격 애플리케이션 디버깅 -
odo
를 사용하여 Kubernetes에 배포된 애플리케이션을 쉽게 테스트
3.2.2. odo 핵심 개념 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 Kubernetes 개념을 개발자에게 친숙한 용어로 요약합니다.
- 애플리케이션
특정 작업을 수행하는 데 사용되는 클라우드 네이티브 접근 방식으로 개발된 일반적인 애플리케이션입니다.
애플리케이션의 예로는 온라인 비디오 스트리밍, 온라인 구매 및 호텔 예약 시스템이 있습니다.
- 구성 요소
별도로 실행하고 배포할 수 있는 Kubernetes 리소스 집합입니다. 클라우드 네이티브 애플리케이션은 작고 독립적이며 느슨하게 연결된 구성 요소의 컬렉션입니다.
구성 요소의 예로는 API 백엔드, 웹 인터페이스, 결제 백엔드가 포함됩니다.
- 프로젝트
- 소스 코드, 테스트 및 라이브러리가 포함된 단일 단위입니다.
- 컨텍스트
-
단일 구성 요소에 대한 소스 코드, 테스트, 라이브러리 및
odo
구성 파일이 포함된 디렉터리입니다. - URL
- 클러스터 외부에서 액세스할 수 있는 구성 요소를 노출하는 메커니즘입니다.
- 스토리지
- 클러스터의 영구 스토리지. 다시 시작해도 데이터를 유지하고 구성 요소를 다시 빌드합니다.
- Service
구성 요소에 추가 기능을 제공하는 외부 애플리케이션입니다.
서비스의 예로는 PostgreSQL, MySQL, Redis 및 RabbitMQ가 있습니다.
odo
에서는 서비스가 OpenShift 서비스 카탈로그에서 프로비저닝되며, 클러스터 내에서 활성화되어야 합니다.- devfile
개발자 툴에서 워크플로를 단순화하고 가속화할 수 있도록 컨테이너화된 개발 환경을 정의하기 위한 오픈 표준입니다. 자세한 내용은 https://devfile.io 의 문서를 참조하십시오.
공개적으로 사용 가능한 devfile 레지스트리에 연결하거나 보안 레지스트리를 설치할 수 있습니다.
3.2.3. odo의 구성 요소 나열 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 이식 가능한 devfile 형식을 사용하여 구성 요소 및 관련 URL, 스토리지 및 서비스를 설명합니다. odo
는 다양한 devfile 레지스트리에 연결하여 다양한 언어 및 프레임워크의 devfile을 다운로드할 수 있습니다. odo
에서 devfile 정보를 검색하는 데 사용하는 레지스트리를 관리하는 방법에 대한 자세한 내용은 odo registry
명령 설명서를 참조하십시오.
odo catalog list components
명령을 사용하여 다양한 레지스트리에서 사용할 수 있는 devfile 을 모두 나열할 수 있습니다.
절차
odo
를 사용하여 클러스터에 로그인합니다.odo login -u developer -p developer
$ odo login -u developer -p developer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한
odo
구성 요소를 나열합니다.odo catalog list components
$ odo catalog list components
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.4. odo에서 Telemetry 링크 복사링크가 클립보드에 복사되었습니다!
는 운영 체제, RAM, CPU, 코어 수, odo
odo
버전, 오류, 성공/실패, 완료하는 데 걸리는 기간을 포함하여 사용 중인 방법에 대한 정보를 수집합니다.
odo preference
명령을 사용하여 Telemetry 동의를 수정할 수 있습니다.
-
odo preference set ConsentTelemetry true
로 Telemetry에 동의합니다. -
odo preference unset ConsentTelemetry
는 Telemetry를 비활성화합니다. -
odo preference 뷰에
는 현재 기본 설정이 표시됩니다.
3.3. odo 설치 링크 복사링크가 클립보드에 복사되었습니다!
바이너리를 다운로드하여 Linux, Windows 또는 macOS에 odo
CLI를 설치할 수 있습니다. odo
및 oc
바이너리를 사용하여 OpenShift Container Platform 클러스터와 상호 작용하는 OpenShift VS Code 확장 기능을 설치할 수도 있습니다. RHEL(Red Hat Enterprise Linux)의 경우 odo
CLI를 RPM으로 설치할 수 있습니다.
현재 제한된 네트워크 환경에서는 odo
가 설치를 지원하지 않습니다.
3.3.1. Linux에 odo 설치 링크 복사링크가 클립보드에 복사되었습니다!
odo
CLI는 다음을 포함하여 여러 운영 체제 및 아키텍처의 tarball로 다운로드할 수 있습니다.
운영 체제 | 바이너리 | tarball |
---|---|---|
Linux | ||
Linux on IBM Power | ||
Linux on IBM Z 및 LinuxONE |
절차
콘텐츠 게이트웨이로 이동하여 운영 체제 및 아키텍처에 적절한 파일을 다운로드합니다.
바이너리를 다운로드하는 경우
odo
로 이름을 바꿉니다.curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-linux-amd64 -o odo
$ curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-linux-amd64 -o odo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tarball을 다운로드하는 경우 바이너리를 추출합니다.
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-linux-amd64.tar.gz -o odo.tar.gz tar xvzf odo.tar.gz
$ curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-linux-amd64.tar.gz -o odo.tar.gz $ tar xvzf odo.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
바이너리의 권한을 변경합니다.
chmod +x <filename>
$ chmod +x <filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow odo
바이너리를PATH에 있는 디렉터리에 배치합니다
.PATH
를 확인하려면 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템에서
odo
를 사용할 수 있는지 확인합니다.odo version
$ odo version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2. Windows에 odo 설치 링크 복사링크가 클립보드에 복사되었습니다!
Windows용 odo
CLI는 바이너리 및 아카이브로 다운로드할 수 있습니다.
운영 체제 | 바이너리 | tarball |
---|---|---|
Windows |
절차
콘텐츠 게이트웨이로 이동하여 적절한 파일을 다운로드합니다.
-
바이너리를 다운로드하는 경우
odo.exe
로 이름을 바꿉니다. -
아카이브를 다운로드하는 경우 ZIP 프로그램으로 바이너리의 압축을 풀고
odo.exe
로 이름을 바꿉니다.
-
바이너리를 다운로드하는 경우
odo.exe
바이너리를PATH에 있는 디렉터리로 이동합니다
.PATH
를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템에서
odo
를 사용할 수 있는지 확인합니다.odo version
C:\> odo version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.3. macOS에 odo 설치 링크 복사링크가 클립보드에 복사되었습니다!
macOS용 odo
CLI는 바이너리 및 tarball로 다운로드할 수 있습니다.
운영 체제 | 바이너리 | tarball |
---|---|---|
macOS |
절차
콘텐츠 게이트웨이로 이동하여 적절한 파일을 다운로드합니다.
바이너리를 다운로드하는 경우
odo
로 이름을 바꿉니다.curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-darwin-amd64 -o odo
$ curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-darwin-amd64 -o odo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tarball을 다운로드하는 경우 바이너리를 추출합니다.
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-darwin-amd64.tar.gz -o odo.tar.gz tar xvzf odo.tar.gz
$ curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/latest/odo-darwin-amd64.tar.gz -o odo.tar.gz $ tar xvzf odo.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
바이너리의 권한을 변경합니다.
chmod +x odo
# chmod +x odo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow odo
바이너리를PATH에 있는 디렉터리에 배치합니다
.PATH
를 확인하려면 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템에서
odo
를 사용할 수 있는지 확인합니다.odo version
$ odo version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.4. VS Code에 odo 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift VS Code 확장에서는 OpenShift Container Platform 클러스터와 상호 작용하는 데 odo
및 oc
바이너리를 둘 다 사용합니다. 이러한 기능으로 작업하려면 VS Code에 OpenShift VS Code 확장을 설치하십시오.
사전 요구 사항
- VS Code가 설치되어 있어야 합니다.
절차
- VS Code를 엽니다.
-
Ctrl
+P
로 VS Code Quick Open을 시작합니다. 다음 명령을 실행합니다.
ext install redhat.vscode-openshift-connector
$ ext install redhat.vscode-openshift-connector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.5. RPM을 사용하여 RHEL(Red Hat Enterprise Linux)에 odo 설치 링크 복사링크가 클립보드에 복사되었습니다!
RHEL(Red Hat Enterprise Linux)의 경우 odo
CLI를 RPM으로 설치할 수 있습니다.
절차
Red Hat Subscription Manager에 등록합니다.
subscription-manager register
# subscription-manager register
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 서브스크립션 데이터를 가져옵니다.
subscription-manager refresh
# subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 서브스크립션을 나열하십시오.
subscription-manager list --available --matches '*OpenShift Developer Tools and Services*'
# subscription-manager list --available --matches '*OpenShift Developer Tools and Services*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령의 출력에서 OpenShift Container Platform 서브스크립션의
Pool ID
를 찾아서 이 서브스크립션을 등록된 시스템에 연결합니다.subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow odo
에 필요한 리포지토리를 활성화합니다.subscription-manager repos --enable="ocp-tools-4.9-for-rhel-8-x86_64-rpms"
# subscription-manager repos --enable="ocp-tools-4.9-for-rhel-8-x86_64-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow odo
패키지를 설치합니다.yum install odo
# yum install odo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템에서
odo
를 사용할 수 있는지 확인합니다.odo version
$ odo version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. odo CLI 구성 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 $HOME/.odo
디렉터리에 있는 preference.yaml
파일에서 odo
의 글로벌 설정을 찾을 수 있습니다.
GLOBALODOCONFIG
변수를 내보내서 preference.yaml
파일의 다른 위치를 설정할 수 있습니다.
3.4.1. 현재 구성 보기 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 현재 odo
CLI 구성을 볼 수 있습니다.
odo preference view
$ odo preference view
출력 예
3.4.2. 값 설정 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 기본 키의 값을 설정할 수 있습니다.
odo preference set <key> <value>
$ odo preference set <key> <value>
기본 설정 키는 대소문자를 구분하지 않습니다.
명령 예
odo preference set updatenotification false
$ odo preference set updatenotification false
출력 예
Global preference was successfully updated
Global preference was successfully updated
3.4.3. 값 설정 해제 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 기본 키의 값을 설정 해제할 수 있습니다.
odo preference unset <key>
$ odo preference unset <key>
-f
플래그를 사용하여 확인을 건너뛸 수 있습니다.
명령 예
odo preference unset updatenotification
$ odo preference unset updatenotification
? Do you want to unset updatenotification in the preference (y/N) y
출력 예
Global preference was successfully updated
Global preference was successfully updated
3.4.4. 기본 설정 키 테이블 링크 복사링크가 클립보드에 복사되었습니다!
다음 표는 odo
CLI에 기본 키를 설정하는 데 사용할 수 있는 옵션을 보여줍니다.
기본 설정 키 | Description | 기본값 |
---|---|---|
|
| True |
|
| 현재 디렉터리 이름 |
| Kubernetes 서버 연결 확인에 대한 타임아웃입니다. | 1초 |
| git 구성 요소 빌드가 완료될 때까지 대기하는 시간 초과 | 300초 |
| 구성 요소가 시작될 때까지 대기하는 시간 초과입니다. | 240초 |
|
소스 코드를 저장하기 위해 | True |
|
odo가 사용자의 | False |
3.4.5. 파일 또는 패턴 무시 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션 root 디렉터리의 .odoignore
파일을 수정하여 무시할 파일 또는 패턴 목록을 구성할 수 있습니다. 이 파일은 odo push
및 odo watch
둘 다에 적용됩니다.
.odoignore
파일이 없으면 특정 파일 및 폴더를 무시하는 데 .gitignore
파일이 대신 사용됩니다.
.git
파일, .js
확장자가 있는 모든 파일 및 tests
폴더를 무시하려면 .odoignore
또는 .gitignore
파일에 다음을 추가합니다.
.git *.js tests/
.git
*.js
tests/
.odoignore
파일에는 모든 glob 표현식을 사용할 수 있습니다.
3.5. odo CLI 참조 링크 복사링크가 클립보드에 복사되었습니다!
3.5.1. odo build-images 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 Dockerfile을 기반으로 컨테이너 이미지를 빌드하고 이러한 이미지를 레지스트리에 푸시할 수 있습니다.
odo build-images
명령을 실행할 때 odo
는 이미지
유형을 사용하여 devfile.yaml
의 모든 구성 요소를 검색합니다. 예를 들면 다음과 같습니다.
각 이미지 구성 요소에 대해 odo는 podman
또는 docker
(이 순서대로 발견된 첫 번째)를 실행하여 지정된 Dockerfile, 빌드 컨텍스트 및 인수를 사용하여 이미지를 빌드합니다.
--push
플래그가 명령에 전달되면 이미지가 빌드 후 해당 레지스트리로 푸시됩니다.
3.5.2. odo catalog 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 다양한 카탈로그 를 사용하여 구성 요소 및 서비스를 배포합니다.
3.5.2.1. components 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 이식 가능한 devfile 형식을 사용하여 구성 요소를 설명합니다. 다양한 devfile 레지스트리에 연결하여 다양한 언어 및 프레임워크에 대한 devfile을 다운로드할 수 있습니다. 자세한 내용은 odo
Registry를 참조하십시오.
3.5.2.1.1. 구성 요소 나열 링크 복사링크가 클립보드에 복사되었습니다!
다른 레지스트리에서 사용 가능한 모든 devfile 을 나열하려면 명령을 실행합니다.
odo catalog list components
$ odo catalog list components
출력 예
3.5.2.1.2. 구성 요소에 대한 정보 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
특정 구성 요소에 대한 자세한 내용을 보려면 명령을 실행합니다.
odo catalog describe component
$ odo catalog describe component
예를 들어 다음 명령을 실행합니다.
odo catalog describe component nodejs
$ odo catalog describe component nodejs
출력 예
starter 프로젝트에서 프로젝트를 생성하는 방법에 대한 자세한 내용은 odo create
를 참조하십시오.
3.5.2.2. 서비스 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 Operator 의 도움을 받아 서비스를 배포할 수 있습니다.
Operator Lifecycle Manager 를 사용하여 배포된 Operator만 odo에서 지원됩니다.
3.5.2.2.1. 서비스 나열 링크 복사링크가 클립보드에 복사되었습니다!
사용 가능한 Operator 및 관련 서비스를 나열하려면 명령을 실행합니다.
odo catalog list services
$ odo catalog list services
출력 예
Services available through Operators NAME CRDs postgresql-operator.v0.1.1 Backup, Database redis-operator.v0.8.0 RedisCluster, Redis
Services available through Operators
NAME CRDs
postgresql-operator.v0.1.1 Backup, Database
redis-operator.v0.8.0 RedisCluster, Redis
이 예에서는 클러스터에 두 개의 Operator가 설치되어 있습니다. postgresql-operator.v0.1.1
Operator는 PostgreSQL과 관련된 서비스를 배포합니다. 백업
및 데이터베이스
. redis-operator.v0.8.0
Operator는 Redis와 관련된 서비스를 배포합니다. RedisCluster
및 Redis
.
사용 가능한 모든 Operator 목록을 가져오기 위해 odo
는 Succeeded 단계에 있는 현재 네임스페이스의 CSV(ClusterServiceVersion) 리소스를 가져옵니다. 클러스터 전체 액세스를 지원하는 Operator의 경우 새 네임스페이스가 생성되면 해당 리소스가 자동으로 추가됩니다. 그러나 성공 단계에 있을 때까지 다소 시간이 걸릴 수 있으며 odo
는 리소스가 준비될 때까지 빈 목록을 반환할 수 있습니다.
3.5.2.2.2. 서비스 검색 링크 복사링크가 클립보드에 복사되었습니다!
키워드로 특정 서비스를 검색하려면 명령을 실행합니다.
odo catalog search service
$ odo catalog search service
예를 들어 PostgreSQL 서비스를 검색하려면 명령을 실행합니다.
odo catalog search service postgres
$ odo catalog search service postgres
출력 예
Services available through Operators NAME CRDs postgresql-operator.v0.1.1 Backup, Database
Services available through Operators
NAME CRDs
postgresql-operator.v0.1.1 Backup, Database
해당 이름에 searched 키워드가 포함된 Operator 목록이 표시됩니다.
3.5.2.2.3. 서비스에 대한 정보 얻기 링크 복사링크가 클립보드에 복사되었습니다!
특정 서비스에 대한 자세한 내용을 보려면 명령을 실행합니다.
odo catalog describe service
$ odo catalog describe service
예를 들면 다음과 같습니다.
odo catalog describe service postgresql-operator.v0.1.1/Database
$ odo catalog describe service postgresql-operator.v0.1.1/Database
출력 예
서비스는 CRD(CustomResourceDefinition) 리소스로 클러스터로 표시됩니다. 이전 명령은 이 사용자 정의 리소스의 인스턴스를 정의하는 데 사용할 수 있는 종류
,버전
, 필드 목록과 같은 CRD에 대한 세부 정보를 표시합니다.
필드 목록은 CRD에 포함된 OpenAPI 스키마 에서 추출됩니다. 이 정보는 CRD에서 선택 사항이며, 없는 경우 서비스를 나타내는 CSV(ClusterServiceVersion) 리소스에서 추출됩니다.
CRD 유형 정보를 제공하지 않고 Operator 지원 서비스에 대한 설명을 요청할 수도 있습니다. CRD 없이 클러스터에서 Redis Operator를 설명하려면 다음 명령을 실행합니다.
odo catalog describe service redis-operator.v0.8.0
$ odo catalog describe service redis-operator.v0.8.0
출력 예
3.5.3. odo create 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 devfile 을 사용하여 구성 요소의 구성을 저장하고 스토리지 및 서비스와 같은 구성 요소의 리소스를 설명합니다. odo create 명령은 이 파일을 생성합니다.
3.5.3.1. 구성 요소 생성 링크 복사링크가 클립보드에 복사되었습니다!
기존 프로젝트에 대한 devfile 을 생성하려면 구성 요소의 이름 및 유형으로 odo create
명령을 실행합니다(예: nodejs
또는 go
).
odo create nodejs mynodejs
odo create nodejs mynodejs
예제에서 nodejs
는 구성 요소의 유형이며, mynodejs
는 odo
가 생성하는 구성 요소의 이름입니다.
지원되는 모든 구성 요소 유형 목록을 보려면 odo catalog list components
명령을 실행합니다.
소스 코드가 현재 디렉터리 외부에 있는 경우 --context
플래그를 사용하여 경로를 지정할 수 있습니다. 예를 들어 nodejs 구성 요소의 소스가 현재 작업 디렉터리를 기준으로 node-backend
라는 폴더에 있는 경우 명령을 실행합니다.
odo create nodejs mynodejs --context ./node-backend
odo create nodejs mynodejs --context ./node-backend
--context
플래그는 상대 경로 및 절대 경로를 지원합니다.
구성 요소가 배포될 프로젝트 또는 앱을 지정하려면 --project
및 --app
플래그를 사용합니다. 예를 들어 backend
프로젝트 내의 myapp
앱의 일부인 구성 요소를 생성하려면 명령을 실행합니다.
odo create nodejs --app myapp --project backend
odo create nodejs --app myapp --project backend
이러한 플래그를 지정하지 않으면 기본적으로 활성 앱 및 프로젝트로 설정됩니다.
3.5.3.2. 시작 프로젝트 링크 복사링크가 클립보드에 복사되었습니다!
기존 소스 코드가 없지만 devfile 및 구성 요소를 실험하기 위해 빠르게 실행하려는 경우 시작 프로젝트를 사용합니다. 시작 프로젝트를 사용하려면 --starter
플래그를 odo create
명령에 추가합니다.
구성 요소 유형에 사용 가능한 시작 프로젝트 목록을 가져오려면 odo catalog describe component
명령을 실행합니다. 예를 들어 nodejs 구성 요소 유형에 사용 가능한 모든 시작 프로젝트를 가져오려면 명령을 실행합니다.
odo catalog describe component nodejs
odo catalog describe component nodejs
그런 다음 odo create
명령에서 --starter
플래그를 사용하여 원하는 프로젝트를 지정합니다.
odo create nodejs --starter nodejs-starter
odo create nodejs --starter nodejs-starter
이렇게 하면 선택한 구성 요소 유형(이 인스턴스에서 nodejs
)에 해당하는 예제 템플릿이 다운로드됩니다. 템플릿은 현재 디렉터리 또는 --context
플래그로 지정된 위치로 다운로드됩니다. 시작 프로젝트에 자체 devfile이 있는 경우 이 devfile은 유지됩니다.
3.5.3.3. 기존 devfile 사용 링크 복사링크가 클립보드에 복사되었습니다!
기존 devfile에서 새 구성 요소를 생성하려면 --devfile
플래그를 사용하여 devfile에 대한 경로를 지정하여 이를 수행할 수 있습니다. 예를 들어 GitHub의 devfile을 기반으로 mynodejs
라는 구성 요소를 생성하려면 다음 명령을 사용합니다.
odo create mynodejs --devfile https://raw.githubusercontent.com/odo-devfiles/registry/master/devfiles/nodejs/devfile.yaml
odo create mynodejs --devfile https://raw.githubusercontent.com/odo-devfiles/registry/master/devfiles/nodejs/devfile.yaml
3.5.3.4. 대화형 생성 링크 복사링크가 클립보드에 복사되었습니다!
odo create
명령을 대화식으로 실행하여 구성 요소를 생성하는 데 필요한 단계를 안내할 수도 있습니다.
구성 요소 유형, 이름 및 구성 요소에 대한 프로젝트를 선택하라는 메시지가 표시됩니다. starter 프로젝트를 다운로드할지 여부를 선택할 수도 있습니다. 완료되면 작업 디렉터리에 새 devfile.yaml
파일이 생성됩니다.
이러한 리소스를 클러스터에 배포하려면 odo push
명령을 실행합니다.
3.5.4. odo delete 링크 복사링크가 클립보드에 복사되었습니다!
odo delete
명령은 odo
에서 관리하는 리소스를 삭제하는 데 유용합니다.
3.5.4.1. 구성 요소 삭제 링크 복사링크가 클립보드에 복사되었습니다!
devfile 구성 요소를 삭제하려면 odo delete
명령을 실행합니다.
odo delete
$ odo delete
구성 요소가 클러스터로 푸시되면 종속 스토리지, URL, 시크릿 및 기타 리소스와 함께 구성 요소가 클러스터에서 삭제됩니다. 구성 요소를 푸시하지 않은 경우 명령은 클러스터에서 리소스를 찾을 수 없다는 오류와 함께 종료됩니다.
확인 질문을 방지하려면 -f
또는 --force
플래그를 사용합니다.
3.5.4.2. devfile Kubernetes 구성 요소 배포 링크 복사링크가 클립보드에 복사되었습니다!
odo deploy
를 사용하여 배포된 devfile Kubernetes 구성 요소 배포를 취소하려면 --deploy
플래그를 사용하여 odo delete
명령을 실행합니다.
odo delete --deploy
$ odo delete --deploy
확인 질문을 방지하려면 -f
또는 --force
플래그를 사용합니다.
3.5.4.3. 모두 삭제 링크 복사링크가 클립보드에 복사되었습니다!
다음 항목을 포함한 모든 아티팩트를 삭제하려면 --all
플래그를 사용하여 odo delete
명령을 실행합니다.
- devfile 구성 요소
-
odo deploy
명령을 사용하여 배포된 devfile Kubernetes 구성 요소 - devfile
- 로컬 구성
odo delete --all
$ odo delete --all
3.5.4.4. 사용 가능한 플래그 링크 복사링크가 클립보드에 복사되었습니다!
-f
,--force
- 확인 질문을 방지하려면 이 플래그를 사용합니다.
-w
,--wait
- 이 플래그를 사용하여 구성 요소를 삭제하고 종속성을 기다립니다. 이 플래그는 배포 취소 시 작동하지 않습니다.
Common Flags 에 대한 설명서는 명령에 사용 가능한 플래그에 대한 자세한 정보를 제공합니다.
3.5.5. odo deploy 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 CI/CD 시스템을 사용하여 배포되는 방식과 유사한 방식으로 구성 요소를 배포하는 데 사용할 수 있습니다. 먼저 odo
는 컨테이너 이미지를 빌드한 다음 구성 요소를 배포하는 데 필요한 Kubernetes 리소스를 배포합니다.
odo deploy
명령을 실행할 때odo
는 devfile에서 deploy
의 기본 명령을 검색하고 이 명령을 실행합니다. kind deploy
는 버전 2.2.0부터 devfile 형식에서 지원됩니다.
deploy
명령은 일반적으로 몇 가지 apply 명령으로 구성된 복합 명령입니다.
-
이미지
구성 요소를 참조하는 명령은 배포할 컨테이너 이미지를 빌드한 다음 해당 레지스트리로 내보냅니다. - Kubernetes 구성 요소를 참조하는 명령은 클러스터에 Kubernetes 리소스를 생성합니다.
다음 예제 devfile.yaml
파일을 사용하면 디렉터리에 있는 Dockerfile
을 사용하여 컨테이너 이미지가 빌드됩니다. 이미지는 레지스트리로 푸시된 다음 이 새로 빌드된 이미지를 사용하여 클러스터에 Kubernetes 배포 리소스가 생성됩니다.
3.5.6. odo link 링크 복사링크가 클립보드에 복사되었습니다!
odo link
명령은 odo
구성 요소를 Operator 지원 서비스 또는 다른 odo
구성 요소에 연결하는 데 도움이 됩니다. Service Binding Operator 를 사용하여 이 작업을 수행합니다. 현재 odo
는 Service Binding 라이브러리를 사용하며 Operator 자체가 원하는 기능을 수행하지 않습니다.
3.5.6.1. 다양한 연결 옵션 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 구성 요소를 Operator 지원 서비스 또는 다른 odo
구성 요소와 연결하는 다양한 옵션을 제공합니다. 이러한 모든 옵션(또는 플래그)은 구성 요소를 서비스 또는 다른 구성 요소에 연결하는지 여부에 관계없이 사용할 수 있습니다.
3.5.6.1.1. 기본 동작 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 odo link
명령은 구성 요소 디렉터리에 kubernetes/
라는 디렉터리를 생성하고 서비스 및 링크에 대한 정보(YAML 매니페스트)를 저장합니다. odo push
를 사용하는 경우odo
는 이러한 매니페스트를 Kubernetes 클러스터의 리소스 상태와 비교하고 사용자가 지정한 내용과 일치하도록 리소스를 생성, 수정 또는 삭제해야 하는지 결정합니다.
3.5.6.1.2. --inlined 플래그 링크 복사링크가 클립보드에 복사되었습니다!
--inlined
플래그를 odo link
명령에 지정하는 경우 odo
는 kubernetes/
디렉터리에 파일을 생성하는 대신 devfile.yaml
의 devfile.yaml에 링크 정보를 저장합니다. --inlined
플래그의 동작은 odo link
및 odo service create
명령 모두에서 유사합니다. 이 플래그는 모든 항목을 단일 devfile.yaml
에 저장하려는 경우 유용합니다. 각 odo link
와 함께 --inlined
플래그를 사용하고 구성 요소에 대해 실행하는 odo service create
명령을 사용해야 합니다.
3.5.6.1.3. --map 플래그 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 사용 가능한 항목 외에도 구성 요소에 더 많은 바인딩 정보를 추가할 수 있습니다. 예를 들어 구성 요소를 서비스와 연결하고 서비스 사양의 일부 정보를 바인딩하려는 경우 --map
플래그를 사용할 수 있습니다. odo
는 연결 중인 서비스 또는 구성 요소의 사양에 대한 유효성 검사를 수행하지 않습니다. Kubernetes YAML 매니페스트를 편리하게 사용하는 경우에만 이 플래그를 사용하는 것이 좋습니다.
3.5.6.1.4. --bind-as-files 플래그 링크 복사링크가 클립보드에 복사되었습니다!
지금까지 논의된 모든 연결 옵션에 대해 odo
는 바인딩 정보를 환경 변수로 구성 요소에 삽입합니다. 이 정보를 파일로 마운트하려면 --bind-as-files
플래그를 사용할 수 있습니다. 이로 인해 odo
가 바인딩 정보를 구성 요소의 Pod 내의 /bindings
위치에 파일로 삽입합니다. 환경 변수 시나리오와 비교하여 --bind-as-files
를 사용할 때 파일의 이름은 키 뒤에 지정되며 이러한 키의 값은 이러한 파일의 콘텐츠로 저장됩니다.
3.5.6.2. 예제 링크 복사링크가 클립보드에 복사되었습니다!
3.5.6.2.1. 기본 odo link 링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서 백엔드 구성 요소는 기본 odo link
명령을 사용하여 PostgreSQL 서비스와 연결됩니다. 백엔드 구성 요소의 경우 구성 요소 및 서비스가 클러스터로 푸시되었는지 확인합니다.
odo list
$ odo list
샘플 출력
APP NAME PROJECT TYPE STATE MANAGED BY ODO app backend myproject spring Pushed Yes
APP NAME PROJECT TYPE STATE MANAGED BY ODO
app backend myproject spring Pushed Yes
odo service list
$ odo service list
샘플 출력
NAME MANAGED BY ODO STATE AGE PostgresCluster/hippo Yes (backend) Pushed 59m41s
NAME MANAGED BY ODO STATE AGE
PostgresCluster/hippo Yes (backend) Pushed 59m41s
이제 odo 링크를
실행하여 백엔드 구성 요소를 PostgreSQL 서비스와 연결합니다.
odo link PostgresCluster/hippo
$ odo link PostgresCluster/hippo
출력 예
✓ Successfully created link between component "backend" and service "PostgresCluster/hippo" To apply the link, please use `odo push`
✓ Successfully created link between component "backend" and service "PostgresCluster/hippo"
To apply the link, please use `odo push`
그런 다음 odo push
를 실행하여 실제로 Kubernetes 클러스터에 링크를 생성합니다.
odo push
가 성공하면 다음과 같은 몇 가지 결과가 나타납니다.
백엔드 구성 요소에서 배포한 애플리케이션의 URL을 열면 데이터베이스에 할 일
항목
목록이 표시됩니다. 예를 들어odo url list
명령의 출력에서 polkit이나열되는
경로가 포함됩니다.odo url list
$ odo url list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 샘플 출력
Found the following URLs for component backend NAME STATE URL PORT SECURE KIND 8080-tcp Pushed http://8080-tcp.192.168.39.112.nip.io 8080 false ingress
Found the following URLs for component backend NAME STATE URL PORT SECURE KIND 8080-tcp Pushed http://8080-tcp.192.168.39.112.nip.io 8080 false ingress
Copy to Clipboard Copied! Toggle word wrap Toggle overflow URL의 올바른 경로는 http://8080-tcp.192.168.39.112.nip.io/api/v1/todos입니다. 정확한 URL은 설정에 따라 다릅니다. 또한 일부 항목을 추가하지 않는 한 데이터베이스에
todos
가 없으므로 URL에 빈 JSON 오브젝트만 표시될 수 있습니다.백엔드 구성 요소에 삽입된 Postgres 서비스와 관련된 바인딩 정보를 확인할 수 있습니다. 이 바인딩 정보는 기본적으로 환경 변수로 삽입됩니다. backend 구성 요소의 디렉터리에서
odo describe
명령을 사용하여 확인할 수 있습니다.odo describe
$ odo describe
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 변수 중 일부는 백엔드 구성 요소의
src/main/resources/application.properties
파일에서 사용되어 Java Spring Boot 애플리케이션이 PostgreSQL 데이터베이스 서비스에 연결할 수 있습니다.마지막으로
odo
는 다음 파일이 포함된 백엔드 구성 요소의 디렉터리에kubernetes/
라는 디렉터리를 생성했습니다.ls kubernetes
$ ls kubernetes odo-service-backend-postgrescluster-hippo.yaml odo-service-hippo.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 파일에는 두 리소스에 대한 정보(YAML 매니페스트)가 포함되어 있습니다.
-
odo-service-hippo.yaml
-odo service create --from-file ../postgrescluster.yaml
명령을 사용하여 생성된 Postgres 서비스입니다. -
odo-service-backend-postgrescluster-hippo.yaml
-odo link
명령을 사용하여 생성된 링크입니다.
-
3.5.6.2.2. --inlined 플래그로 odo 링크 사용 링크 복사링크가 클립보드에 복사되었습니다!
--inlined
플래그를 odo link
명령과 함께 사용하면 바인딩 정보를 삽입하는 플래그 없이 odo link
명령과 동일한 효과가 있습니다. 그러나 미묘한 차이점은 위의 경우 kubernetes/
디렉터리에는 두 개의 매니페스트 파일이 있습니다. 하나는 Postgres 서비스용이고 다른 하나는 백엔드 구성 요소와 이 서비스 간의 링크에 대한 것입니다. 그러나 --inlined
플래그를 전달할 때 odo
는 YAML 매니페스트를 저장하기 위해 kubernetes/
디렉터리에 파일을 생성하지 않고 devfile.yaml
파일에 인라인을 저장합니다.
이를 확인하려면 먼저 PostgreSQL 서비스에서 구성 요소를 연결 해제합니다.
odo unlink PostgresCluster/hippo
$ odo unlink PostgresCluster/hippo
출력 예:
✓ Successfully unlinked component "backend" from service "PostgresCluster/hippo" To apply the changes, please use `odo push`
✓ Successfully unlinked component "backend" from service "PostgresCluster/hippo"
To apply the changes, please use `odo push`
클러스터에서 연결을 해제하려면 odo push
를 실행합니다. 이제 kubernetes/
디렉터리를 검사하면 하나의 파일만 표시됩니다.
ls kubernetes
$ ls kubernetes
odo-service-hippo.yaml
다음으로 --inlined
플래그를 사용하여 링크를 생성합니다.
odo link PostgresCluster/hippo --inlined
$ odo link PostgresCluster/hippo --inlined
출력 예:
✓ Successfully created link between component "backend" and service "PostgresCluster/hippo" To apply the link, please use `odo push`
✓ Successfully created link between component "backend" and service "PostgresCluster/hippo"
To apply the link, please use `odo push`
--inlined
플래그를 생략하는 절차와 같이 클러스터에서 생성되려면 odo push
를 실행해야 합니다. odo
는 devfile.yaml
에 구성을 저장합니다. 이 파일에서 다음과 같은 항목을 볼 수 있습니다.
이제 odo unlink PostgresCluster/hippo
를 실행하는 경우odo
는 먼저 devfile.yaml
에서 링크 정보를 제거한 다음 후속 odo push
는 클러스터에서 링크를 삭제합니다.
3.5.6.2.3. 사용자 정의 바인딩 링크 복사링크가 클립보드에 복사되었습니다!
odo link
는 구성 요소에 사용자 정의 바인딩 정보를 삽입할 수 있는 --map
플래그를 허용합니다. 이러한 바인딩 정보는 구성 요소에 연결하는 리소스의 매니페스트에서 가져옵니다. 예를 들어 백엔드 구성 요소 및 PostgreSQL 서비스의 컨텍스트에서 PostgreSQL 서비스의 매니페스트 postgrescluster.yaml
파일의 정보를 백엔드 구성 요소에 삽입할 수 있습니다.
PostgresCluster
서비스의 이름이 hippo
(또는 PostgresCluster 서비스
의 이름이 다르게 지정되는 경우)인 경우 해당 YAML 정의의 postgresVersion
값을 백엔드 구성 요소에 삽입하려면 명령을 실행합니다.
odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}'
$ odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}'
Postgres 서비스의 이름이 hippo
와 다른 경우, pgVersion
값으로 .hippo
대신 위의 명령에 해당 이름을 지정해야 합니다.
링크 작업 후 odo push
를 정상적으로 실행합니다. 푸시 작업이 완료되면 백엔드 구성 요소 디렉터리에서 다음 명령을 실행하여 사용자 정의 매핑이 올바르게 삽입되었는지 확인할 수 있습니다.
odo exec -- env | grep pgVersion
$ odo exec -- env | grep pgVersion
출력 예:
pgVersion=13
pgVersion=13
사용자 정의 바인딩 정보를 두 개 이상 삽입하려는 경우 odo link
는 여러 개의 키-값 쌍의 매핑을 허용합니다. 유일한 제약 조건은 이러한 값을 --map <key>=<value>로 지정해야 한다는 것입니다
. 예를 들어, PostgreSQL 이미지 정보를 버전과 함께 삽입하려면 다음을 실행할 수 있습니다.
odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}' --map pgImage='{{ .hippo.spec.image }}'
$ odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}' --map pgImage='{{ .hippo.spec.image }}'
odo push
를 실행합니다. 두 매핑이 모두 올바르게 삽입되었는지 확인하려면 다음 명령을 실행합니다.
odo exec -- env | grep -e "pgVersion\|pgImage"
$ odo exec -- env | grep -e "pgVersion\|pgImage"
출력 예:
pgVersion=13 pgImage=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-ha:centos8-13.4-0
pgVersion=13
pgImage=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-ha:centos8-13.4-0
3.5.6.2.3.1. 인라인으로, 또는 아니오? 링크 복사링크가 클립보드에 복사되었습니다!
odo 링크가
대한 매니페스트 파일을 생성하는 기본 동작을 허용할 수 있습니다. 또는 모든 것을 단일 kubernetes/
디렉터리에 링크에devfile.yaml
파일에 저장하려는 경우 --inlined
플래그를 사용할 수 있습니다.
3.5.6.3. 파일로 바인딩 링크 복사링크가 클립보드에 복사되었습니다!
odo link
에서 제공하는 또 다른 유용한 플래그는 --bind-as-files
입니다. 이 플래그를 전달하면 바인딩 정보가 구성 요소의 포드에 삽입되지 않지만 파일 시스템으로 마운트됩니다.
백엔드 구성 요소와 PostgreSQL 서비스 사이에 기존 링크가 없는지 확인합니다. 백엔드 구성 요소의 디렉터리에서 odo describe
를 실행하고 다음과 유사한 출력이 표시되는지 확인하여 이 작업을 수행할 수 있습니다.
Linked Services: · PostgresCluster/hippo
Linked Services:
· PostgresCluster/hippo
다음을 사용하여 구성 요소에서 서비스를 끊습니다.
odo unlink PostgresCluster/hippo odo push
$ odo unlink PostgresCluster/hippo
$ odo push
3.5.6.4. --bind-as-files 예제 링크 복사링크가 클립보드에 복사되었습니다!
3.5.6.4.1. 기본 odo 링크 사용 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 odo
는 링크 정보를 저장하기 위해 kubernetes/
디렉터리에 매니페스트 파일을 생성합니다. 다음을 사용하여 백엔드 구성 요소 및 PostgreSQL 서비스를 연결합니다.
odo link PostgresCluster/hippo --bind-as-files odo push
$ odo link PostgresCluster/hippo --bind-as-files
$ odo push
예제 odo describe
출력:
이전 odo describe
출력의 key=value
형식의 환경 변수가 모두 이제 파일로 마운트됩니다. cat
명령을 사용하여 다음 파일의 일부 내용을 봅니다.
예제 명령:
odo exec -- cat /bindings/backend-postgrescluster-hippo/password
$ odo exec -- cat /bindings/backend-postgrescluster-hippo/password
출력 예:
q({JC:jn^mm/Bw}eu+j.GX{k
q({JC:jn^mm/Bw}eu+j.GX{k
예제 명령:
odo exec -- cat /bindings/backend-postgrescluster-hippo/user
$ odo exec -- cat /bindings/backend-postgrescluster-hippo/user
출력 예:
hippo
hippo
예제 명령:
odo exec -- cat /bindings/backend-postgrescluster-hippo/clusterIP
$ odo exec -- cat /bindings/backend-postgrescluster-hippo/clusterIP
출력 예:
10.101.78.56
10.101.78.56
3.5.6.4.2. --inlined사용 링크 복사링크가 클립보드에 복사되었습니다!
--bind-as-files
및 --inlined
를 함께 사용한 결과는 odo link --inlined
를 사용하는 것과 유사합니다. 링크의 매니페스트는 kubernetes/
디렉터리에 별도의 파일에 저장하는 대신 devfile.yaml
에 저장됩니다. 그 외에는 odo describe
출력이 이전과 동일합니다.
3.5.6.4.3. 사용자 정의 바인딩 링크 복사링크가 클립보드에 복사되었습니다!
PostgreSQL 서비스와 백엔드 구성 요소를 연결하는 동안 사용자 정의 바인딩을 전달하면 이러한 사용자 지정 바인딩이 환경 변수가 아닌 파일로 삽입됩니다. 예를 들면 다음과 같습니다.
odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}' --map pgImage='{{ .hippo.spec.image }}' --bind-as-files odo push
$ odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}' --map pgImage='{{ .hippo.spec.image }}' --bind-as-files
$ odo push
이러한 사용자 정의 바인딩은 환경 변수로 삽입되는 대신 파일로 마운트됩니다. 이 작업이 완료되었는지 확인하려면 다음 명령을 실행합니다.
예제 명령:
odo exec -- cat /bindings/backend-postgrescluster-hippo/pgVersion
$ odo exec -- cat /bindings/backend-postgrescluster-hippo/pgVersion
출력 예:
13
13
예제 명령:
odo exec -- cat /bindings/backend-postgrescluster-hippo/pgImage
$ odo exec -- cat /bindings/backend-postgrescluster-hippo/pgImage
출력 예:
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-ha:centos8-13.4-0
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-ha:centos8-13.4-0
3.5.7. odo 레지스트리 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 이식 가능한 devfile 형식을 사용하여 구성 요소를 설명합니다. odo
는 다양한 devfile 레지스트리에 연결하여 다양한 언어 및 프레임워크에 대한 devfile을 다운로드할 수 있습니다.
공개적으로 사용 가능한 devfile 레지스트리에 연결하거나 자체 보안 레지스트리를 설치할 수 있습니다.
odo registry
명령을 사용하여 odo
에서 devfile 정보를 검색하는 데 사용하는 레지스트리를 관리할 수 있습니다.
3.5.7.1. 레지스트리 나열 링크 복사링크가 클립보드에 복사되었습니다!
현재 odo
에서 연결하는 레지스트리를 나열하려면 다음 명령을 실행합니다.
odo registry list
$ odo registry list
출력 예:
NAME URL SECURE DefaultDevfileRegistry https://registry.devfile.io No
NAME URL SECURE
DefaultDevfileRegistry https://registry.devfile.io No
DefaultDevfileRegistry
는 odo에서 사용하는 기본 레지스트리이며 devfile.io 프로젝트에서 제공합니다.
3.5.7.2. 레지스트리 추가 링크 복사링크가 클립보드에 복사되었습니다!
레지스트리를 추가하려면 명령을 실행합니다.
odo registry add
$ odo registry add
출력 예:
odo registry add StageRegistry https://registry.stage.devfile.io
$ odo registry add StageRegistry https://registry.stage.devfile.io
New registry successfully added
자체 보안 레지스트리를 배포하는 경우 개인 액세스 토큰을 지정하여 --token
플래그를 사용하여 보안 레지스트리에 인증할 수 있습니다.
odo registry add MyRegistry https://myregistry.example.com --token <access_token>
$ odo registry add MyRegistry https://myregistry.example.com --token <access_token>
New registry successfully added
3.5.7.3. 레지스트리 삭제 링크 복사링크가 클립보드에 복사되었습니다!
레지스트리를 삭제하려면 명령을 실행합니다.
odo registry delete
$ odo registry delete
출력 예:
odo registry delete StageRegistry
$ odo registry delete StageRegistry
? Are you sure you want to delete registry "StageRegistry" Yes
Successfully deleted registry
--force
(또는 -f
) 플래그를 사용하여 확인 없이 레지스트리를 강제로 삭제합니다.
3.5.7.4. 레지스트리 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
이미 등록된 레지스트리의 URL 또는 개인 액세스 토큰을 업데이트하려면 명령을 실행합니다.
odo registry update
$ odo registry update
출력 예:
odo registry update MyRegistry https://otherregistry.example.com --token <other_access_token>
$ odo registry update MyRegistry https://otherregistry.example.com --token <other_access_token>
? Are you sure you want to update registry "MyRegistry" Yes
Successfully updated registry
--force
(또는 -f
) 플래그를 사용하여 확인 없이 레지스트리 업데이트를 강제 적용합니다.
3.5.8. odo 서비스 링크 복사링크가 클립보드에 복사되었습니다!
odo
는 Operator 의 도움을 받아 서비스를 배포할 수 있습니다.
설치에 사용 가능한 Operator 및 서비스 목록은 odo catalog
명령을 사용하여 확인할 수 있습니다.
서비스는 구성 요소 의 컨텍스트에서 생성되므로 서비스를 배포하기 전에 odo create
명령을 실행합니다.
서비스는 다음 두 단계를 사용하여 배포됩니다.
- 서비스를 정의하고 해당 정의를 devfile에 저장합니다.
-
odo push
명령을 사용하여 정의된 서비스를 클러스터에 배포합니다.
3.5.8.1. 새 서비스 생성 링크 복사링크가 클립보드에 복사되었습니다!
새 서비스를 생성하려면 명령을 실행합니다.
odo service create
$ odo service create
예를 들어 my-redis-service
라는 Redis 서비스의 인스턴스를 생성하려면 다음 명령을 실행합니다.
출력 예
이 명령은 서비스 정의가 포함된 kubernetes/
디렉터리에 Kubernetes 매니페스트를 생성하고 이 파일은 devfile.yaml
파일에서 참조합니다.
cat kubernetes/odo-service-my-redis-service.yaml
$ cat kubernetes/odo-service-my-redis-service.yaml
출력 예
명령 예
cat devfile.yaml
$ cat devfile.yaml
출력 예
생성된 인스턴스의 이름은 선택 사항입니다. 이름을 지정하지 않으면 서비스의 소문자가 됩니다. 예를 들어 다음 명령은 redis
라는 Redis 서비스의 인스턴스를 생성합니다.
odo service create redis-operator.v0.8.0/Redis
$ odo service create redis-operator.v0.8.0/Redis
3.5.8.1.1. 매니페스트 간소화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 devfile.yaml
파일에서 참조하는 kubernetes/
디렉터리에 새 매니페스트가 생성됩니다. --inlined
플래그를 사용하여 devfile.yaml
파일 내의 매니페스트를 인라인할 수 있습니다.
odo service create redis-operator.v0.8.0/Redis my-redis-service --inlined
$ odo service create redis-operator.v0.8.0/Redis my-redis-service --inlined
Successfully added service to the configuration; do 'odo push' to create service on the cluster
명령 예
cat devfile.yaml
$ cat devfile.yaml
출력 예
3.5.8.1.2. 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
특정 사용자 지정이 없으면 기본 구성으로 서비스가 생성됩니다. 명령줄 인수 또는 파일을 사용하여 고유한 구성을 지정할 수 있습니다.
3.5.8.1.2.1. 명령줄 인수 사용 링크 복사링크가 클립보드에 복사되었습니다!
--parameters
(또는 -p
) 플래그를 사용하여 고유한 구성을 지정합니다.
다음 예제에서는 세 가지 매개 변수를 사용하여 Redis 서비스를 구성합니다.
odo service create redis-operator.v0.8.0/Redis my-redis-service \ -p kubernetesConfig.image=quay.io/opstree/redis:v6.2.5 \ -p kubernetesConfig.serviceType=ClusterIP \ -p redisExporter.image=quay.io/opstree/redis-exporter:1.0
$ odo service create redis-operator.v0.8.0/Redis my-redis-service \
-p kubernetesConfig.image=quay.io/opstree/redis:v6.2.5 \
-p kubernetesConfig.serviceType=ClusterIP \
-p redisExporter.image=quay.io/opstree/redis-exporter:1.0
Successfully added service to the configuration; do 'odo push' to create service on the cluster
명령 예
cat kubernetes/odo-service-my-redis-service.yaml
$ cat kubernetes/odo-service-my-redis-service.yaml
출력 예
odo catalog describe service
명령을 사용하여 특정 서비스에 사용 가능한 매개변수를 가져올 수 있습니다.
3.5.8.1.2.2. 파일 사용 링크 복사링크가 클립보드에 복사되었습니다!
YAML 매니페스트를 사용하여 자체 사양을 구성합니다. 다음 예에서 Redis 서비스는 세 개의 매개 변수로 구성됩니다.
매니페스트를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 매니페스트에서 서비스를 생성합니다.
odo service create --from-file my-redis.yaml
$ odo service create --from-file my-redis.yaml Successfully added service to the configuration; do 'odo push' to create service on the cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.8.2. 서비스 삭제 링크 복사링크가 클립보드에 복사되었습니다!
서비스를 삭제하려면 명령을 실행합니다.
odo service delete
$ odo service delete
출력 예
odo service list
$ odo service list
NAME MANAGED BY ODO STATE AGE
Redis/my-redis-service Yes (api) Deleted locally 5m39s
odo service delete Redis/my-redis-service
$ odo service delete Redis/my-redis-service
? Are you sure you want to delete Redis/my-redis-service Yes
Service "Redis/my-redis-service" has been successfully deleted; do 'odo push' to delete service from the cluster
--force
(또는 -f
) 플래그를 사용하여 확인 없이 서비스를 강제로 삭제합니다.
3.5.8.3. 서비스 나열 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소용으로 생성된 서비스를 나열하려면 다음 명령을 실행합니다.
odo service list
$ odo service list
출력 예
odo service list
$ odo service list
NAME MANAGED BY ODO STATE AGE
Redis/my-redis-service-1 Yes (api) Not pushed
Redis/my-redis-service-2 Yes (api) Pushed 52s
Redis/my-redis-service-3 Yes (api) Deleted locally 1m22s
각 서비스에 대해 STATE
는 odo push
명령을 사용하여 서비스가 클러스터로 푸시되었는지 또는 서비스가 여전히 클러스터에서 실행 중이지만 odo service delete
명령을 사용하여 로컬에서 devfile에서 제거되었는지를 나타냅니다.
3.5.8.4. 서비스에 대한 정보 얻기 링크 복사링크가 클립보드에 복사되었습니다!
구성된 매개 변수의 종류, 버전, 이름 및 목록과 같은 서비스의 세부 정보를 얻으려면 명령을 실행합니다.
odo service describe
$ odo service describe
출력 예
3.5.9. odo 스토리지 링크 복사링크가 클립보드에 복사되었습니다!
odo
를 사용하면 구성 요소에 연결된 스토리지 볼륨을 관리할 수 있습니다. 스토리지 볼륨은 emptyDir
Kubernetes 볼륨을 사용하는 임시 볼륨 또는 PVC( 영구 볼륨 클레임 )일 수 있습니다. PVC를 사용하면 특정 클라우드 환경의 세부 정보를 이해하지 않고도 영구 볼륨(예: GCE PersistentDisk 또는 iSCSI 볼륨)을 요청할 수 있습니다. 영구 스토리지 볼륨은 재시작 시 데이터를 유지하고 구성 요소를 다시 빌드하는 데 사용할 수 있습니다.
3.5.9.1. 스토리지 볼륨 추가 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에 스토리지 볼륨을 추가하려면 명령을 실행합니다.
odo storage create
$ odo storage create
출력 예:
위의 예에서 첫 번째 스토리지 볼륨이 /data
경로에 마운트되었으며 크기가 1Gi
로 설정되어 두 번째 볼륨이 /tmp
에 마운트되어 임시입니다.
3.5.9.2. 스토리지 볼륨 나열 링크 복사링크가 클립보드에 복사되었습니다!
현재 구성 요소에서 사용하는 스토리지 볼륨을 확인하려면 명령을 실행합니다.
odo storage list
$ odo storage list
출력 예:
odo storage list
$ odo storage list
The component 'nodejs-project-ufyy' has the following storage attached:
NAME SIZE PATH STATE
store 1Gi /data Not Pushed
tempdir 2Gi /tmp Not Pushed
3.5.9.3. 스토리지 볼륨 삭제 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 볼륨을 삭제하려면 명령을 실행합니다.
odo storage delete
$ odo storage delete
출력 예:
odo storage delete store -f
$ odo storage delete store -f
Deleted storage store from nodejs-project-ufyy
Please use `odo push` command to delete the storage from the cluster
위의 예에서 -f
플래그를 사용하면 사용자 권한을 요청하지 않고 스토리지를 강제로 삭제합니다.
3.5.9.4. 특정 컨테이너에 스토리지 추가 링크 복사링크가 클립보드에 복사되었습니다!
devfile에 여러 컨테이너가 있는 경우 odo storage create
명령에서 --container
플래그를 사용하여 스토리지를 연결할 컨테이너를 지정할 수 있습니다.
다음 예제는 여러 컨테이너가 있는 devfile에서 발췌한 것입니다.
이 예제에는nodejs1
및 nodejs2
라는 두 개의 컨테이너가 있습니다. 스토리지를 nodejs2
컨테이너에 연결하려면 다음 명령을 사용합니다.
odo storage create --container
$ odo storage create --container
출력 예:
odo storage create store --path /data --size 1Gi --container nodejs2
$ odo storage create store --path /data --size 1Gi --container nodejs2
✓ Added storage store to nodejs-testing-xnfg
Please use `odo push` command to make the storage accessible to the component
odo storage list
명령을 사용하여 스토리지 리소스를 나열할 수 있습니다.
odo storage list
$ odo storage list
출력 예:
The component 'nodejs-testing-xnfg' has the following storage attached: NAME SIZE PATH CONTAINER STATE store 1Gi /data nodejs2 Not Pushed
The component 'nodejs-testing-xnfg' has the following storage attached:
NAME SIZE PATH CONTAINER STATE
store 1Gi /data nodejs2 Not Pushed
3.5.10. 공통 플래그 링크 복사링크가 클립보드에 복사되었습니다!
대부분의 odo
명령에서 다음 플래그를 사용할 수 있습니다.
명령 | Description |
---|---|
| 구성 요소가 정의된 컨텍스트 디렉터리를 설정합니다. |
| 구성 요소의 프로젝트를 설정합니다. 기본값은 로컬 구성에 정의된 프로젝트입니다. 사용할 수 없는 경우 클러스터의 현재 프로젝트입니다. |
| 구성 요소의 애플리케이션을 설정합니다. 기본값은 로컬 구성에 정의된 애플리케이션입니다. 사용할 수 없는 경우 앱. |
|
기본 구성을 사용하지 않는 경우 |
| 이 플래그를 사용하여 로그를 확인합니다. |
| 이 플래그를 사용하여 사용자에게 확인 메시지를 표시하지 않도록 명령에 알립니다. |
| 상세 수준을 설정합니다. 자세한 내용은 odo에서 로깅 을 참조하십시오. |
| 명령에 대한 도움말을 출력합니다. |
일부 명령에는 일부 플래그를 사용할 수 없습니다. --help
플래그와 함께 명령을 실행하여 사용 가능한 모든 플래그 목록을 가져옵니다.
3.5.11. JSON 출력 링크 복사링크가 클립보드에 복사되었습니다!
콘텐츠를 출력하는 odo
명령은 일반적으로 -o json
플래그를 수락하여 이 콘텐츠를 JSON 형식으로 출력하는 경우 다른 프로그램이 이 출력을 더 쉽게 구문 분석하는 데 적합합니다.
출력 구조는 kind
,apiVersion
,metadata
,spec
, status
필드와 함께 Kubernetes 리소스와 유사합니다.
나열 명령은 목록의 항목을 나열하는 항목
(또는 유사한) 필드를 포함하는 List
리소스를 반환하며 각 항목은 Kubernetes 리소스와 유사합니다.
삭제 명령은 상태
리소스를 반환합니다. Status Kubernetes 리소스 를 참조하십시오.
다른 명령은 명령과 관련된 리소스를 반환합니다(예: 애플리케이션
, 스토리지
,URL
등).
현재 -o json
플래그를 수락하는 명령의 전체 목록은 다음과 같습니다.
명령 | 종류(버전) | 목록 항목의 종류(버전) | 완전한 콘텐츠입니까? |
---|---|---|---|
odo application describe | 애플리케이션(odo.dev/v1alpha1) | 해당 없음 | 제공되지 않음 |
odo 애플리케이션 목록 | 목록 (odo.dev/v1alpha1) | 애플리케이션(odo.dev/v1alpha1) | ? |
odo catalog list components | 목록 (odo.dev/v1alpha1) | 누락됨 | 제공됨 |
odo catalog list services | 목록 (odo.dev/v1alpha1) | ClusterServiceVersion (operators.coreos.com/v1alpha1) | ? |
odo catalog describe 구성 요소 | 누락됨 | 해당 없음 | 제공됨 |
odo catalog describe service | CRDDescription(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo 구성 요소 생성 | 구성 요소(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo component describe | 구성 요소(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo 구성 요소 목록 | 목록 (odo.dev/v1alpha1) | 구성 요소(odo.dev/v1alpha1) | 제공됨 |
odo config view | DevfileConfiguration(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo debug info | OdoDebugInfo (odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo env view | EnvInfo (odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo preference view | PreferenceList (odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo project create | 프로젝트(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo project delete | 상태(v1) | 해당 없음 | 제공됨 |
odo project get | 프로젝트(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo 프로젝트 목록 | 목록 (odo.dev/v1alpha1) | 프로젝트(odo.dev/v1alpha1) | 제공됨 |
odo 레지스트리 목록 | 목록 (odo.dev/v1alpha1) | 누락됨 | 제공됨 |
odo service create | Service | 해당 없음 | 제공됨 |
odo service describe | Service | 해당 없음 | 제공됨 |
odo 서비스 목록 | 목록 (odo.dev/v1alpha1) | Service | 제공됨 |
odo storage create | 스토리지(odo.dev/v1alpha1) | 해당 없음 | 제공됨 |
odo storage delete | 상태(v1) | 해당 없음 | 제공됨 |
odo 스토리지 목록 | 목록 (odo.dev/v1alpha1) | 스토리지(odo.dev/v1alpha1) | 제공됨 |
odo url 목록 | 목록 (odo.dev/v1alpha1) | URL (odo.dev/v1alpha1) | 제공됨 |
4장. OpenShift Serverless에서 사용할 Knative CLI 링크 복사링크가 클립보드에 복사되었습니다!
Knative(kn
) CLI를 사용하면 OpenShift Container Platform의 Knative 구성 요소와 간단한 상호 작용을 수행할 수 있습니다.
4.1. 주요 기능 링크 복사링크가 클립보드에 복사되었습니다!
Knative(kn
) CLI는 서버리스 컴퓨팅 작업을 간단하고 간결하게 만들기 위해 설계되었습니다. Knative CLI의 주요 기능은 다음과 같습니다.
- 명령줄에서 서버리스 애플리케이션을 배포합니다.
- 서비스, 개정, 트래픽 분할 등 Knative Serving 기능을 관리합니다.
- 이벤트 소스 및 트리거와 같은 Knative 이벤트 구성 요소를 생성하고 관리합니다.
- 기존 Kubernetes 애플리케이션 및 Knative 서비스를 연결하는 싱크 바인딩을 생성합니다.
-
kubectl
CLI와 유사하게 유연한 플러그인 아키텍처를 사용하여 Knative CLI를 확장합니다. - Knative 서비스에 대한 자동 스케일링 매개변수를 구성합니다.
- 작업 결과 대기나 사용자 정의 롤아웃 및 롤백 전략 배포와 같은 사용법을 스크립팅합니다.
4.2. Knative CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
Knative CLI 설치를 참조하십시오.
5장. Pipelines CLI(tkn) 링크 복사링크가 클립보드에 복사되었습니다!
5.1. tkn 설치 링크 복사링크가 클립보드에 복사되었습니다!
tkn
CLI를 사용하여 터미널에서 Red Hat OpenShift Pipelines를 관리합니다. 다음 섹션에서는 다양한 플랫폼에 tkn
을 설치하는 방법을 설명합니다.
오른쪽 상단에 있는 ? 아이콘을 클릭하고 명령줄 툴을 선택하여 OpenShift Container Platform 웹 콘솔의 최신 바이너리 URL을 찾을 수도 있습니다.
5.1.1. Linux에서 Red Hat OpenShift Pipelines CLI(tkn) 설치 링크 복사링크가 클립보드에 복사되었습니다!
Linux 배포판의 경우 tar.gz
아카이브로 직접 CLI를 다운로드할 수 있습니다.
절차
관련 CLI를 다운로드합니다.
아카이브의 압축을 풉니다.
tar xvzf <file>
$ tar xvzf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
tkn
바이너리를PATH
에 있는 디렉터리에 배치합니다. PATH
를 확인하려면 다음을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. RPM을 사용하여 Linux에서 Red Hat OpenShift Pipelines CLI(tkn) 설치 링크 복사링크가 클립보드에 복사되었습니다!
RHEL(Red Hat Enterprise Linux) 버전 8의 경우 Red Hat OpenShift Pipelines CLI(tkn
)를 RPM으로 설치할 수 있습니다.
사전 요구 사항
- Red Hat 계정에 활성 OpenShift Container Platform 서브스크립션이 있어야 합니다.
- 로컬 시스템에 root 또는 sudo 권한이 있어야 합니다.
절차
Red Hat Subscription Manager에 등록합니다.
subscription-manager register
# subscription-manager register
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 서브스크립션 데이터를 가져옵니다.
subscription-manager refresh
# subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 서브스크립션을 나열하십시오.
subscription-manager list --available --matches '*pipelines*'
# subscription-manager list --available --matches '*pipelines*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령의 출력에서 OpenShift Container Platform 서브스크립션의 풀 ID를 찾아서 이 서브스크립션을 등록된 시스템에 연결합니다.
subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Pipelines에 필요한 리포지터리를 활성화합니다.
Linux (x86_64, amd64)
subscription-manager repos --enable="pipelines-1.5-for-rhel-8-x86_64-rpms"
# subscription-manager repos --enable="pipelines-1.5-for-rhel-8-x86_64-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Linux on IBM Z 및 LinuxONE(s390x)
subscription-manager repos --enable="pipelines-1.5-for-rhel-8-s390x-rpms"
# subscription-manager repos --enable="pipelines-1.5-for-rhel-8-s390x-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Linux on IBM Power Systems(ppc64le)
subscription-manager repos --enable="pipelines-1.5-for-rhel-8-ppc64le-rpms"
# subscription-manager repos --enable="pipelines-1.5-for-rhel-8-ppc64le-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
openshift-pipelines-client
패키지를 설치합니다.yum install openshift-pipelines-client
# yum install openshift-pipelines-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
CLI를 설치한 후 tkn
명령을 사용할 수 있습니다.
tkn version
$ tkn version
5.1.3. Windows에서 Red Hat OpenShift Pipelines CLI(tkn) 설치 링크 복사링크가 클립보드에 복사되었습니다!
Windows에서는 tkn
CLI가 zip
아카이브로 제공됩니다.
절차
- CLI를 다운로드합니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
-
tkn.exe
파일의 위치를PATH
환경 변수에 추가합니다. PATH
를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.4. macOS에서 Red Hat OpenShift Pipelines CLI(tkn) 설치 링크 복사링크가 클립보드에 복사되었습니다!
macOS에서는 tkn
CLI가 tar.gz
아카이브로 제공됩니다.
절차
- CLI를 다운로드합니다.
- 아카이브의 압축을 해제하고 압축을 풉니다.
-
tkn
바이너리를 PATH에 있는 디렉터리로 이동합니다. PATH
를 확인하려면 터미널 창을 열고 다음을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. OpenShift Pipelines tkn CLI 구성 링크 복사링크가 클립보드에 복사되었습니다!
탭 완료가 활성화되도록 Red Hat OpenShift Pipelines tkn
CLI를 구성합니다.
5.2.1. 탭 완료 활성화 링크 복사링크가 클립보드에 복사되었습니다!
tkn
CLI를 설치한 후에는 탭 완료를 활성화하여 자동으로 tkn
명령을 완료하거나 탭을 누를 때 옵션을 제안하도록 할 수 있습니다.
사전 요구 사항
-
tkn
CLI 툴이 설치되어 있어야 합니다. -
로컬 시스템에
bash-completion
이 설치되어 있어야 합니다.
절차
Bash 탭 완료를 활성화하는 절차는 다음과 같습니다.
Bash 완료 코드를 파일에 저장합니다.
tkn completion bash > tkn_bash_completion
$ tkn completion bash > tkn_bash_completion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을
/etc/bash_completion.d/
에 복사합니다.sudo cp tkn_bash_completion /etc/bash_completion.d/
$ sudo cp tkn_bash_completion /etc/bash_completion.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 파일을 로컬 디렉터리에 저장하여
.bashrc
파일에서 소싱할 수도 있습니다.
새 터미널을 열면 탭 완료가 활성화됩니다.
5.3. OpenShift Pipelines tkn 참조 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에는 기본 tkn
CLI 명령이 나열됩니다.
5.3.1. 기본 구문 링크 복사링크가 클립보드에 복사되었습니다!
tkn [command or options] [arguments…]
5.3.2. 글로벌 옵션 링크 복사링크가 클립보드에 복사되었습니다!
--help, -h
5.3.3. 유틸리티 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.3.1. tkn 링크 복사링크가 클립보드에 복사되었습니다!
tkn
CLI의 상위 명령입니다.
예제: 모든 옵션 표시
tkn
$ tkn
5.3.3.2. completion [shell] 링크 복사링크가 클립보드에 복사되었습니다!
대화형 완료를 제공하려면 평가해야 하는 쉘 완료 코드를 출력합니다. 지원되는 쉘은 bash
및 zsh
입니다.
예제: bash
쉘 완료 코드
tkn completion bash
$ tkn completion bash
5.3.3.3. version 링크 복사링크가 클립보드에 복사되었습니다!
tkn
CLI의 버전 정보를 출력합니다.
예제: tkn
버전 확인
tkn version
$ tkn version
5.3.4. 파이프라인 관리 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.4.1. pipeline 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인을 관리합니다.
예제: 도움말 표시
tkn pipeline --help
$ tkn pipeline --help
5.3.4.2. pipeline delete 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인을 삭제합니다.
예제: 네임스페이스 에서 mypipeline
파이프라인 삭제
tkn pipeline delete mypipeline -n myspace
$ tkn pipeline delete mypipeline -n myspace
5.3.4.3. pipeline describe 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인을 설명합니다.
예제: mypipeline
파이프라인 설명
tkn pipeline describe mypipeline
$ tkn pipeline describe mypipeline
5.3.4.4. pipeline list 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 목록을 표시합니다.
예제: 파이프라인 목록 표시
tkn pipeline list
$ tkn pipeline list
5.3.4.5. pipeline logs 링크 복사링크가 클립보드에 복사되었습니다!
특정 파이프라인의 로그를 표시합니다.
예제: mypipeline
파이프라인의 실시간 로그 스트리밍
tkn pipeline logs -f mypipeline
$ tkn pipeline logs -f mypipeline
5.3.4.6. pipeline start 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인을 시작합니다.
예제: mypipeline
파이프라인 시작
tkn pipeline start mypipeline
$ tkn pipeline start mypipeline
5.3.5. 파이프라인 실행 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.5.1. pipelinerun 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 실행을 관리합니다.
예제: 도움말 표시
tkn pipelinerun -h
$ tkn pipelinerun -h
5.3.5.2. pipelinerun cancel 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 실행을 취소합니다.
예제: 네임스페이스 에서 mypipelinerun
파이프라인 실행 취소
tkn pipelinerun cancel mypipelinerun -n myspace
$ tkn pipelinerun cancel mypipelinerun -n myspace
5.3.5.3. pipelinerun delete 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 실행을 삭제합니다.
예제: 네임스페이스에서 파이프라인 실행 삭제
tkn pipelinerun delete mypipelinerun1 mypipelinerun2 -n myspace
$ tkn pipelinerun delete mypipelinerun1 mypipelinerun2 -n myspace
예제: 최근에 실행된 파이프라인 실행 5개를 제외하고 네임스페이스에서 모든 파이프라인 실행 삭제
tkn pipelinerun delete -n myspace --keep 5
$ tkn pipelinerun delete -n myspace --keep 5
- 1
5
를 유지하려는 가장 최근 실행된 파이프라인 실행 수로 바꿉니다.
5.3.5.4. pipelinerun describe 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 실행에 대해 설명합니다.
예제: 네임스페이스 에서 mypipelinerun
파이프라인 실행 설명
tkn pipelinerun describe mypipelinerun -n myspace
$ tkn pipelinerun describe mypipelinerun -n myspace
5.3.5.5. pipelinerun list 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 실행을 나열합니다.
예제: 네임스페이스에서 파이프라인 실행 목록 표시
tkn pipelinerun list -n myspace
$ tkn pipelinerun list -n myspace
5.3.5.6. pipelinerun logs 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 실행 로그를 표시합니다.
예제: 네임스페이스의 모든 작업 및 단계와 함께 실행되는 mypipelinerun
파이프라인의 로그를 표시합니다.
tkn pipelinerun logs mypipelinerun -a -n myspace
$ tkn pipelinerun logs mypipelinerun -a -n myspace
5.3.6. 작업 관리 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.6.1. task 링크 복사링크가 클립보드에 복사되었습니다!
작업을 관리합니다.
예제: 도움말 표시
tkn task -h
$ tkn task -h
5.3.6.2. task delete 링크 복사링크가 클립보드에 복사되었습니다!
작업을 삭제합니다.
예제: 네임스페이스에서 mytask1
및 mytask2
작업 삭제
tkn task delete mytask1 mytask2 -n myspace
$ tkn task delete mytask1 mytask2 -n myspace
5.3.6.3. task describe 링크 복사링크가 클립보드에 복사되었습니다!
작업을 설명합니다.
예제: 네임스페이스의 mytask
작업을 설명합니다.
tkn task describe mytask -n myspace
$ tkn task describe mytask -n myspace
5.3.6.4. task list 링크 복사링크가 클립보드에 복사되었습니다!
작업 나열.
예제: 네임스페이스의 모든 작업 나열
tkn task list -n myspace
$ tkn task list -n myspace
5.3.6.5. task logs 링크 복사링크가 클립보드에 복사되었습니다!
작업 로그를 표시합니다.
예제: mytask 작업의 mytaskrun
작업 실행 로그 표시
tkn task logs mytask mytaskrun -n myspace
$ tkn task logs mytask mytaskrun -n myspace
5.3.6.6. task start 링크 복사링크가 클립보드에 복사되었습니다!
작업을 시작합니다.
예제: 네임스페이스 에서 mytask
작업 시작
tkn task start mytask -s <ServiceAccountName> -n myspace
$ tkn task start mytask -s <ServiceAccountName> -n myspace
5.3.7. 작업 실행 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.7.1. taskrun 링크 복사링크가 클립보드에 복사되었습니다!
작업 실행 관리.
예제: 도움말 표시
tkn taskrun -h
$ tkn taskrun -h
5.3.7.2. taskrun cancel 링크 복사링크가 클립보드에 복사되었습니다!
작업 실행을 취소합니다.
예제: 네임스페이스 에서 mytaskrun
작업을 취소합니다.
tkn taskrun cancel mytaskrun -n myspace
$ tkn taskrun cancel mytaskrun -n myspace
5.3.7.3. taskrun delete 링크 복사링크가 클립보드에 복사되었습니다!
TaskRun을 삭제합니다.
예제: 네임스페이스 에서 mytaskrun1
및 mytaskrun2
작업 실행을 삭제합니다.
tkn taskrun delete mytaskrun1 mytaskrun2 -n myspace
$ tkn taskrun delete mytaskrun1 mytaskrun2 -n myspace
예제: 네임스페이스에서 최근에 실행된 5개의 작업을 제외한 모든 작업 삭제
tkn taskrun delete -n myspace --keep 5
$ tkn taskrun delete -n myspace --keep 5
- 1
5
를 유지하려는 가장 최근 실행된 작업 실행 수로 바꿉니다.
5.3.7.4. taskrun describe 링크 복사링크가 클립보드에 복사되었습니다!
작업 실행을 설명합니다.
예제: 네임스페이스에서 실행되는 mytaskrun
작업 설명
tkn taskrun describe mytaskrun -n myspace
$ tkn taskrun describe mytaskrun -n myspace
5.3.7.5. taskrun list 링크 복사링크가 클립보드에 복사되었습니다!
작업 실행 나열.
예제: 네임 스페이스에서 모든 작업 실행 나열
tkn taskrun list -n myspace
$ tkn taskrun list -n myspace
5.3.7.6. taskrun logs 링크 복사링크가 클립보드에 복사되었습니다!
작업 실행 로그를 표시합니다.
예제: 네임스페이스에서 mytaskrun
작업의 실시간 로그 표시
tkn taskrun logs -f mytaskrun -n myspace
$ tkn taskrun logs -f mytaskrun -n myspace
5.3.8. 상태 관리 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.8.1. condition 링크 복사링크가 클립보드에 복사되었습니다!
상태를 관리합니다.
예제: 도움말 표시
tkn condition --help
$ tkn condition --help
5.3.8.2. condition delete 링크 복사링크가 클립보드에 복사되었습니다!
상태를 삭제합니다.
예제: 네임스페이스에서 mycondition1
상태를 삭제합니다.
tkn condition delete mycondition1 -n myspace
$ tkn condition delete mycondition1 -n myspace
5.3.8.3. condition describe 링크 복사링크가 클립보드에 복사되었습니다!
상태를 설명합니다.
예제: 네임스페이스의 mycondition1
상태 설명
tkn condition describe mycondition1 -n myspace
$ tkn condition describe mycondition1 -n myspace
5.3.8.4. condition list 링크 복사링크가 클립보드에 복사되었습니다!
상태를 나열합니다.
예제: 네임스페이스의 상태 나열
tkn condition list -n myspace
$ tkn condition list -n myspace
5.3.9. 파이프라인 리소스 관리 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.9.1. resource 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 리소스를 관리합니다.
예제: 도움말 표시
tkn resource -h
$ tkn resource -h
5.3.9.2. resource create 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 리소스를 생성합니다.
예제: 네임스페이스에서 파이프라인 리소스 생성
tkn resource create -n myspace
$ tkn resource create -n myspace
이 명령은 리소스 이름, 리소스 유형, 리소스 유형 기반 값 입력을 요청하는 대화형 명령입니다.
5.3.9.3. resource delete 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 리소스를 삭제합니다.
예제: 네임스페이스에서 myresource
파이프라인 리소스를 삭제합니다.
tkn resource delete myresource -n myspace
$ tkn resource delete myresource -n myspace
5.3.9.4. resource describe 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 리소스를 설명합니다.
예제: myresource
파이프라인 리소스 설명
tkn resource describe myresource -n myspace
$ tkn resource describe myresource -n myspace
5.3.9.5. resource list 링크 복사링크가 클립보드에 복사되었습니다!
파이프라인 리소스를 나열합니다.
예제: 네임스페이스의 모든 파이프라인 리소스 나열
tkn resource list -n myspace
$ tkn resource list -n myspace
5.3.10. ClusterTask 관리 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.10.1. clustertask 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTask를 관리합니다.
예제: 도움말 표시
tkn clustertask --help
$ tkn clustertask --help
5.3.10.2. clustertask delete 링크 복사링크가 클립보드에 복사되었습니다!
클러스터의 ClusterTask 리소스를 삭제합니다.
예제: mytask1
및 mytask2
ClusterTasks 삭제
tkn clustertask delete mytask1 mytask2
$ tkn clustertask delete mytask1 mytask2
5.3.10.3. clustertask describe 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTask를 설명합니다.
예제: mytask
ClusterTask 설명
tkn clustertask describe mytask1
$ tkn clustertask describe mytask1
5.3.10.4. clustertask list 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTask를 나열합니다.
예제: ClusterTask 나열
tkn clustertask list
$ tkn clustertask list
5.3.10.5. clustertask start 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTask를 시작합니다.
예제: mytask
ClusterTask 시작
tkn clustertask start mytask
$ tkn clustertask start mytask
5.3.11. 트리거 관리 명령 링크 복사링크가 클립보드에 복사되었습니다!
5.3.11.1. eventlistener 링크 복사링크가 클립보드에 복사되었습니다!
EventListener를 관리합니다.
예제: 도움말 표시
tkn eventlistener -h
$ tkn eventlistener -h
5.3.11.2. eventlistener delete 링크 복사링크가 클립보드에 복사되었습니다!
EventListener를 삭제합니다.
예제: 네임스페이스에서 mylistener1
및 mylistener2
EventListeners 삭제
tkn eventlistener delete mylistener1 mylistener2 -n myspace
$ tkn eventlistener delete mylistener1 mylistener2 -n myspace
5.3.11.3. eventlistener describe 링크 복사링크가 클립보드에 복사되었습니다!
EventListener를 설명합니다.
예제: 네임스페이스의 mylistener
EventListener 설명
tkn eventlistener describe mylistener -n myspace
$ tkn eventlistener describe mylistener -n myspace
5.3.11.4. eventlistener list 링크 복사링크가 클립보드에 복사되었습니다!
EventListener를 나열합니다.
예제: 네임스페이스의 모든 EventListener 나열
tkn eventlistener list -n myspace
$ tkn eventlistener list -n myspace
5.3.11.5. eventlistener logs 링크 복사링크가 클립보드에 복사되었습니다!
EventListener 로그 표시
예제: 네임스페이스에서 mylistener
EventListener의 로그를 표시합니다.
tkn eventlistener logs mylistener -n myspace
$ tkn eventlistener logs mylistener -n myspace
5.3.11.6. triggerbinding 링크 복사링크가 클립보드에 복사되었습니다!
TriggerBinding을 관리합니다.
예제: TriggerBinding 도움말 표시
tkn triggerbinding -h
$ tkn triggerbinding -h
5.3.11.7. triggerbinding delete 링크 복사링크가 클립보드에 복사되었습니다!
TriggerBinding을 삭제합니다.
예제: 네임스페이스에서 mybinding1
및 mybinding2
TriggerBindings 삭제
tkn triggerbinding delete mybinding1 mybinding2 -n myspace
$ tkn triggerbinding delete mybinding1 mybinding2 -n myspace
5.3.11.8. triggerbinding describe 링크 복사링크가 클립보드에 복사되었습니다!
TriggerBinding을 설명합니다.
예제: 네임스페이스의 mybinding
TriggerBinding 설명
tkn triggerbinding describe mybinding -n myspace
$ tkn triggerbinding describe mybinding -n myspace
5.3.11.9. triggerbinding list 링크 복사링크가 클립보드에 복사되었습니다!
TriggerBinding을 나열합니다.
예제: 네임스페이스의 모든 TriggerBinding 나열
tkn triggerbinding list -n myspace
$ tkn triggerbinding list -n myspace
5.3.11.10. triggertemplate 링크 복사링크가 클립보드에 복사되었습니다!
TriggerTemplate을 관리합니다.
예제: TriggerTemplate 도움말 표시
tkn triggertemplate -h
$ tkn triggertemplate -h
5.3.11.11. triggertemplate delete 링크 복사링크가 클립보드에 복사되었습니다!
TriggerTemplate을 삭제합니다.
예제: 네임스페이스에서 mytemplate1
및 mytemplate2
TriggerTemplates 삭제
tkn triggertemplate delete mytemplate1 mytemplate2 -n `myspace`
$ tkn triggertemplate delete mytemplate1 mytemplate2 -n `myspace`
5.3.11.12. triggertemplate describe 링크 복사링크가 클립보드에 복사되었습니다!
TriggerTemplate을 설명합니다.
예제: 네임스페이스의 mytemplate
TriggerTemplate 설명
tkn triggertemplate describe mytemplate -n `myspace`
$ tkn triggertemplate describe mytemplate -n `myspace`
5.3.11.13. triggertemplate list 링크 복사링크가 클립보드에 복사되었습니다!
TriggerTemplate을 나열합니다.
예제: 네임스페이스의 모든 TriggerTemplate 나열
tkn triggertemplate list -n myspace
$ tkn triggertemplate list -n myspace
5.3.11.14. clustertriggerbinding 링크 복사링크가 클립보드에 복사되었습니다!
Manage ClusterTriggerBindings.
예제: ClusterTriggerBinding 도움말 표시
tkn clustertriggerbinding -h
$ tkn clustertriggerbinding -h
5.3.11.15. clustertriggerbinding delete 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTriggerBinding을 삭제합니다.
예제: myclusterbinding1
및 myclusterbinding2
ClusterTriggerBindings 삭제
tkn clustertriggerbinding delete myclusterbinding1 myclusterbinding2
$ tkn clustertriggerbinding delete myclusterbinding1 myclusterbinding2
5.3.11.16. clustertriggerbinding describe 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTriggerBinding을 설명합니다.
예제: myclusterbinding
ClusterTriggerBinding 설명
tkn clustertriggerbinding describe myclusterbinding
$ tkn clustertriggerbinding describe myclusterbinding
5.3.11.17. clustertriggerbinding list 링크 복사링크가 클립보드에 복사되었습니다!
ClusterTriggerBinding을 나열합니다.
예제: 모든 ClusterTriggerBinding 나열
tkn clustertriggerbinding list
$ tkn clustertriggerbinding list
5.3.12. Hub 상호 작용 명령 링크 복사링크가 클립보드에 복사되었습니다!
작업 및 파이프라인과 같은 리소스에 대해 Tekton Hub와 상호 작용합니다.
5.3.12.1. hub 링크 복사링크가 클립보드에 복사되었습니다!
hub와 상호 작용.
예제: 도움말 표시
tkn hub -h
$ tkn hub -h
예제: 허브 API 서버와 상호 작용
tkn hub --api-server https://api.hub.tekton.dev
$ tkn hub --api-server https://api.hub.tekton.dev
각 예에서는 해당 하위 명령 및 플래그를 가져오려면 tkn hub <command> --help
를 실행합니다.
5.3.12.2. hub downgrade 링크 복사링크가 클립보드에 복사되었습니다!
설치된 리소스를 다운그레이드합니다.
예제: mynamespace
네임스페이스의 mytask
작업을 이전 버전으로 다운그레이드합니다.
tkn hub downgrade task mytask --to version -n mynamespace
$ tkn hub downgrade task mytask --to version -n mynamespace
5.3.12.3. hub get 링크 복사링크가 클립보드에 복사되었습니다!
이름, 종류, 카탈로그, 버전 별로 리소스 매니페스트를 가져옵니다.
예제: Tekton 카탈로그에서 특정 버전의 myresource
파이프라인 또는 작업에 대한 매니페스트를 가져옵니다.
tkn hub get [pipeline | task] myresource --from tekton --version version
$ tkn hub get [pipeline | task] myresource --from tekton --version version
5.3.12.4. hub info 링크 복사링크가 클립보드에 복사되었습니다!
이름, 종류, 카탈로그, 버전으로 리소스에 대한 정보를 표시합니다.
예제: tekton
카탈로그에서 특정 버전의 mytask
작업에 대한 정보 표시
tkn hub info task mytask --from tekton --version version
$ tkn hub info task mytask --from tekton --version version
5.3.12.5. hub install 링크 복사링크가 클립보드에 복사되었습니다!
종류, 이름 및 버전으로 카탈로그에서 리소스를 설치합니다.
예제: mynamespace
네임스페이스의
작업을 설치합니다.tekton
카탈로그에서 특정 버전의 mytask
tkn hub install task mytask --from tekton --version version -n mynamespace
$ tkn hub install task mytask --from tekton --version version -n mynamespace
5.3.12.6. hub reinstall 링크 복사링크가 클립보드에 복사되었습니다!
리소스 종류와 이름을 사용하여 리소스를 다시 설치합니다.
예제: mynamespace
네임스페이스의
작업을 다시 설치합니다.tekton
카탈로그에서 특정 버전의 mytask
tkn hub reinstall task mytask --from tekton --version version -n mynamespace
$ tkn hub reinstall task mytask --from tekton --version version -n mynamespace
5.3.12.7. hub search 링크 복사링크가 클립보드에 복사되었습니다!
이름, 종류 및 태그의 조합으로 리소스를 검색합니다.
예제: 태그 cli
로 리소스 검색
tkn hub search --tags cli
$ tkn hub search --tags cli
5.3.12.8. hub upgrade 링크 복사링크가 클립보드에 복사되었습니다!
설치된 리소스를 업그레이드합니다.
예제: mynamespace
네임스페이스에 설치된 mytask
작업을 새 버전으로 업그레이드
tkn hub upgrade task mytask --to version -n mynamespace
$ tkn hub upgrade task mytask --to version -n mynamespace
6장. opm CLI 링크 복사링크가 클립보드에 복사되었습니다!
6.1. opm 정보 링크 복사링크가 클립보드에 복사되었습니다!
opm
CLI 툴은 Operator 번들 형식과 함께 사용할 수 있도록 Operator 프레임워크에서 제공합니다. 이 툴을 사용하면 소프트웨어 리포지토리와 유사한 인덱스라는 번들 목록에서 Operator 카탈로그를 생성하고 유지 관리할 수 있습니다. 결과적으로 인덱스 이미지라는 컨테이너 이미지를 컨테이너 레지스트리에 저장한 다음 클러스터에 설치할 수 있습니다.
인덱스에는 컨테이너 이미지 실행 시 제공된 포함 API를 통해 쿼리할 수 있는 Operator 매니페스트 콘텐츠에 대한 포인터 데이터베이스가 포함되어 있습니다. OpenShift Container Platform에서 OLM(Operator Lifecycle Manager)은 CatalogSource
오브젝트에서 인덱스 이미지를 카탈로그로 참조할 수 있으며 주기적으로 이미지를 폴링하여 클러스터에 설치된 Operator를 자주 업데이트할 수 있습니다.
추가 리소스
- 번들 형식에 대한 자세한 내용은 Operator Framework 패키징 형식을 참조하십시오.
- Operator SDK를 사용하여 번들 이미지를 생성하려면 번들 이미지 작업을 참조하십시오.
6.2. opm 설치 링크 복사링크가 클립보드에 복사되었습니다!
Linux, macOS 또는 Windows 워크스테이션에 opm
CLI 툴을 설치할 수 있습니다.
사전 요구 사항
Linux의 경우 다음 패키지를 제공해야 합니다. RHEL 8은 다음과 같은 요구 사항을 충족합니다.
-
podman
버전 1.9.3 이상(버전 2.0 이상 권장) -
glibc
버전 2.28 이상
-
프로세스
- OpenShift 미러 사이트로 이동하여 운영 체제와 일치하는 최신 tarball 버전을 다운로드합니다.
아카이브의 압축을 풉니다.
Linux 또는 macOS의 경우:
tar xvf <file>
$ tar xvf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows의 경우 ZIP 프로그램으로 아카이브의 압축을 풉니다.
PATH
에 있는 임의의 위치에 파일을 배치합니다.Linux 또는 macOS의 경우:
PATH
를 확인합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 이동합니다. 예를 들면 다음과 같습니다.
sudo mv ./opm /usr/local/bin/
$ sudo mv ./opm /usr/local/bin/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows의 경우:
PATH
를 확인합니다.path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 이동합니다.
move opm.exe <directory>
C:\> move opm.exe <directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
opm
CLI를 설치한 후 사용할 수 있는지 확인합니다.opm version
$ opm version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Version: version.Version{OpmVersion:"v1.15.4-2-g6183dbb3", GitCommit:"6183dbb3567397e759f25752011834f86f47a3ea", BuildDate:"2021-02-13T04:16:08Z", GoOs:"linux", GoArch:"amd64"}
Version: version.Version{OpmVersion:"v1.15.4-2-g6183dbb3", GitCommit:"6183dbb3567397e759f25752011834f86f47a3ea", BuildDate:"2021-02-13T04:16:08Z", GoOs:"linux", GoArch:"amd64"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7장. Operator SDK 링크 복사링크가 클립보드에 복사되었습니다!
7.1. Operator SDK CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
Operator SDK는 Operator 개발자가 Operator를 빌드, 테스트, 배포하는 데 사용할 수 있는 CLI(명령줄 인터페이스) 툴을 제공합니다. 워크스테이션에 Operator SDK CLI를 설치하여 자체 Operator 작성을 시작할 준비를 할 수 있습니다.
Operator SDK에 대한 자세한 내용은 Operators 개발에서 참조하십시오.
OpenShift Container Platform 4.8에서는 Operator SDK v1.8.0을 지원합니다.
7.1.1. Operator SDK CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
Linux에 OpenShift SDK CLI 툴을 설치할 수 있습니다.
사전 요구 사항
- Go v1.16+
-
docker
v17.03 이상,podman
v1.9.3 이상 또는buildah
v1.7 이상
프로세스
- OpenShift 미러 사이트로 이동합니다.
-
4.8.4
디렉토리에서 최신 버전의 Linux용 tarball을 다운로드합니다. 아카이브의 압축을 풉니다.
tar xvf operator-sdk-v1.8.0-ocp-linux-x86_64.tar.gz
$ tar xvf operator-sdk-v1.8.0-ocp-linux-x86_64.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행 가능으로 설정합니다.
chmod +x operator-sdk
$ chmod +x operator-sdk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 추출된
operator-sdk
바이너리를PATH
에 있는 디렉터리로 이동합니다.작은 정보PATH
를 확인하려면 다음을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo mv ./operator-sdk /usr/local/bin/operator-sdk
$ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Operator SDK CLI를 설치한 후 사용할 수 있는지 확인합니다.
operator-sdk version
$ operator-sdk version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
operator-sdk version: "v1.8.0-ocp", ...
operator-sdk version: "v1.8.0-ocp", ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2. Operator SDK CLI 참조 링크 복사링크가 클립보드에 복사되었습니다!
Operator SDK CLI(명령줄 인터페이스)는 Operator를 더 쉽게 작성할 수 있도록 설계된 개발 키트입니다.
Operator SDK CLI 구문
operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
$ operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
Kubernetes 기반 클러스터(예: OpenShift Container Platform)에 대한 클러스터 관리자 액세스 권한이 있는 Operator 작성자는 Operator SDK CLI를 사용하여 Go, Ansible 또는 Helm을 기반으로 자체 Operator를 개발할 수 있습니다. Kubebuilder는 Go 기반 Operator의 스캐폴딩 솔루션으로 Operator SDK에 포함되어 있습니다. 즉, 기존 Kubebuilder 프로젝트를 그대로 Operator SDK와 함께 사용할 수 있으며 계속 작업할 수 있습니다.
Operator SDK에 대한 자세한 내용은 Operators 개발에서 참조하십시오.
7.2.1. 번들 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk bundle
명령은 Operator 번들 메타데이터를 관리합니다.
7.2.1.1. 검증 링크 복사링크가 클립보드에 복사되었습니다!
bundle validate
하위 명령은 Operator 번들을 검증합니다.
플래그 | Description |
---|---|
|
|
|
번들 이미지를 가져오고 압축 해제하는 툴입니다. 번들 이미지를 검증할 때만 사용됩니다. 사용 가능한 옵션은 |
| 사용 가능한 선택적 검증기를 모두 나열합니다. 이 플래그를 설정하면 검증기가 실행되지 않습니다. |
|
실행할 선택적 검증기를 선택하는 라벨 선택기입니다. |
7.2.2. cleanup 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk cleanup
명령은 run
명령을 사용하여 배포한 Operator용으로 생성된 리소스를 삭제하고 제거합니다.
플래그 | Description |
---|---|
|
|
|
CLI 요청에 사용할 |
| 이 플래그가 있는 경우 CLI 요청을 실행할 네임스페이스입니다. |
|
실패 전 명령이 완료될 때까지 대기하는 시간입니다. 기본값은 |
7.2.3. 완료 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk completion
명령은 CLI 명령을 더 신속하고 쉽게 실행할 수 있도록 쉘 완료를 생성합니다.
하위 명령 | Description |
---|---|
| bash 완료를 생성합니다. |
| zsh 완료를 생성합니다. |
플래그 | Description |
---|---|
| 사용법 도움말 출력입니다. |
예를 들면 다음과 같습니다.
operator-sdk completion bash
$ operator-sdk completion bash
출력 예
bash completion for operator-sdk -*- shell-script -*- ex: ts=4 sw=4 et filetype=sh
# bash completion for operator-sdk -*- shell-script -*-
...
# ex: ts=4 sw=4 et filetype=sh
7.2.4. create 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk create
명령은 Kubernetes API를 생성하거나 스캐폴드하는 데 사용됩니다.
7.2.4.1. api 링크 복사링크가 클립보드에 복사되었습니다!
create api
하위 명령은 Kubernetes API를 스캐폴드합니다. 하위 명령은 init
명령을 사용하여 초기화한 프로젝트에서 실행해야 합니다.
플래그 | Description |
---|---|
|
|
7.2.5. generate 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk generate
명령은 특정 생성기를 호출하여 코드 또는 매니페스트를 생성합니다.
7.2.5.1. 번들 링크 복사링크가 클립보드에 복사되었습니다!
generate bundle
하위 명령은 Operator 프로젝트에 대해 일련의 번들 매니페스트, 메타데이터, bundle.Dockerfile
파일을 생성합니다.
일반적으로 generate kustomize manifests
하위 명령을 먼저 실행하여 generate bundle
하위 명령에 사용되는 입력 Kustomize 베이스를 생성합니다. 그러나 초기화된 프로젝트에서 make bundle
명령을 사용하여 이러한 명령을 순서대로 실행하도록 자동화할 수 있습니다.
플래그 | Description |
---|---|
|
번들이 속한 채널의 쉼표로 구분된 목록입니다. 기본값은 |
|
|
| 번들의 기본 채널입니다. |
|
배포 및 RBAC와 같은 Operator 매니페스트용 루트 디렉터리입니다. 이 디렉터리는 |
|
|
|
기존 번들을 읽을 디렉터리입니다. 이 디렉터리는 번들 |
|
번들 매니페스트용 Kustomize 베이스 및 |
| 번들 매니페스트를 생성합니다. |
| 번들 메타데이터 및 Dockerfile을 생성합니다. |
| 번들을 작성할 디렉터리입니다. |
|
번들 메타데이터 및 Dockerfile이 있는 경우 덮어씁니다. 기본값은 |
| 번들의 패키지 이름입니다. |
| 자동 모드로 실행됩니다. |
| 번들 매니페스트를 표준 출력에 작성합니다. |
| 생성된 번들에 있는 Operator의 의미 체계 버전입니다. 새 번들을 생성하거나 Operator를 업그레이드하는 경우에만 설정됩니다. |
7.2.5.2. kustomize 링크 복사링크가 클립보드에 복사되었습니다!
generate kustomize
하위 명령에는 Operator에 대한 Kustomize 데이터를 생성하는 하위 명령이 포함되어 있습니다.
7.2.5.2.1. 매니페스트 링크 복사링크가 클립보드에 복사되었습니다!
generate kustomize manifests
하위 명령은 다른 Operator SDK 명령에서 번들 매니페스트를 빌드하는 데 사용하는 Kustomize 베이스 및 kustomization.yaml
파일을 config/manifests
디렉터리에 생성하거나 다시 생성합니다. 베이스가 존재하지 않거나 --interactive=false
플래그를 설정하지 않은 경우 이 명령은 기본적으로 매니페스트 베이스의 중요한 구성 요소인 UI 메타데이터를 대화형으로 요청합니다.
플래그 | Description |
---|---|
| API 유형 정의를 위한 루트 디렉터리입니다. |
|
|
| 기존 Kustomize 파일이 있는 디렉터리입니다. |
|
|
| Kustomize 파일을 작성할 디렉터리입니다. |
| 패키지 이름입니다. |
| 자동 모드로 실행됩니다. |
7.2.6. init 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk init
명령은 Operator 프로젝트를 초기화하고 지정된 플러그인 의 기본 프로젝트 디렉터리 레이아웃을 생성하거나 스캐폴드 합니다.
이 명령은 다음 파일을 작성합니다.
- 상용구 라이센스 파일
-
도메인 및 리포지토리가 있는
PROJECT
파일 -
프로젝트를 빌드할
Makefile
-
프로젝트 종속 항목이 있는
go.mod
파일 -
매니페스트를 사용자 정의하는
kustomization.yaml
파일 - 관리자 매니페스트용 이미지를 사용자 정의하는 패치 파일
- Prometheus 지표를 활성화하는 패치 파일
-
실행할
main.go
파일
플래그 | Description |
---|---|
|
|
|
프로젝트를 초기화할 플러그인의 이름 및 버전(선택 사항)입니다. 사용 가능한 플러그인은 |
|
프로젝트 버전입니다. 사용 가능한 값은 |
7.2.7. run 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk run
명령은 다양한 환경에서 Operator를 시작할 수 있는 옵션을 제공합니다.
7.2.7.1. 번들 링크 복사링크가 클립보드에 복사되었습니다!
run bundle
하위 명령은 OLM(Operator Lifecycle Manager)을 사용하여 번들 형식으로 Operator를 배포합니다.
플래그 | Description |
---|---|
|
번들을 삽입할 인덱스 이미지입니다. 기본 이미지는 |
|
Operator CSV(클러스터 서비스 버전)에서 지원되는 설치 모드(예: |
|
설치 제한 시간입니다. 기본값은 |
|
CLI 요청에 사용할 |
| 이 플래그가 있는 경우 CLI 요청을 실행할 네임스페이스입니다. |
|
|
7.2.7.2. bundle-upgrade 링크 복사링크가 클립보드에 복사되었습니다!
run bundle-upgrade
하위 명령은 이전에 OLM(Operator Lifecycle Manager)을 사용하여 번들 형식으로 설치한 Operator를 업그레이드합니다.
플래그 | Description |
---|---|
|
업그레이드 제한 시간입니다. 기본값은 |
|
CLI 요청에 사용할 |
| 이 플래그가 있는 경우 CLI 요청을 실행할 네임스페이스입니다. |
|
|
7.2.8. scorecard 링크 복사링크가 클립보드에 복사되었습니다!
operator-sdk scorecard
명령은 스코어 카드 툴을 실행하여 Operator 번들을 검증하고 개선을 위해 제안 사항을 제공합니다. 이 명령은 하나의 인수를 사용하며, 인수는 번들 이미지이거나 매니페스트 및 메타데이터가 포함된 디렉터리입니다. 인수에 이미지 태그가 있으면 이미지가 원격으로 존재해야 합니다.
플래그 | Description |
---|---|
|
스코어 카드 구성 파일 경로입니다. 기본 경로는 |
|
|
|
|
| 실행할 수 있는 테스트를 나열합니다. |
| 테스트 이미지를 실행할 네임스페이스입니다. |
|
결과 출력 형식입니다. 사용 가능한 값은 |
| 실행할 테스트를 결정하는 라벨 선택기입니다. |
|
테스트에 사용할 서비스 계정입니다. 기본값은 |
| 테스트가 실행된 후 리소스 정리를 비활성화합니다. |
|
테스트가 완료될 때까지 대기할 시간(초)입니다(예: |
Legal Notice
링크 복사링크가 클립보드에 복사되었습니다!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.