5.5.2.2. 프로젝트 생성
Operator SDK CLI를 사용하여 nginx-operator
라는 프로젝트를 생성합니다.
프로세스
프로젝트에 사용할 디렉터리를 생성합니다.
$ mkdir -p $HOME/projects/nginx-operator
디렉터리로 변경합니다.
$ cd $HOME/projects/nginx-operator
helm
플러그인과 함께operator-sdk init
명령을 실행하여 프로젝트를 초기화합니다.$ operator-sdk init \ --plugins=helm \ --domain=example.com \ --group=demo \ --version=v1 \ --kind=Nginx
참고기본적으로
helm
플러그인은 상용구 Helm 차트를 사용하여 프로젝트를 초기화합니다. 기존 Helm 차트를 사용하는 프로젝트를 초기화하려면--helm-chart
플래그와 같은 추가 플래그를 사용하면 됩니다.init
명령은 API 버전이example.com/v1
이고 종류가Nginx
인 리소스를 조사하기 위해 특별히nginx-operator
프로젝트를 생성합니다.-
Helm 기반 프로젝트의 경우
init
명령은 차트의 기본 매니페스트에 의해 배포되는 리소스를 기반으로config/rbac/role.yaml
파일에 RBAC 규칙을 생성합니다. 이 파일에 생성된 규칙이 Operator의 권한 요구 사항을 충족하는지 확인합니다.
5.5.2.2.1. 기존 Helm 차트
상용구 Helm 차트로 프로젝트를 생성하는 대신 다음 플래그를 사용하여 로컬 파일 시스템 또는 원격 차트 리포지토리에서 기존 차트를 사용할 수 있습니다.
-
--helm-chart
-
--helm-chart-repo
-
--helm-chart-version
--helm-chart
플래그가 지정되면 --group
, --version
, --kind
플래그가 선택 사항이 됩니다. 설정되지 않으면 다음 기본값이 사용됩니다.
플래그 | 값 |
---|---|
|
|
|
|
|
|
| 지정된 차트에서 추론됨 |
--helm-chart
플래그가 로컬 차트 아카이브(예: example-chart-1.2.0.tgz
또는 디렉터리)를 지정하는 경우 차트를 검증하고 압축을 풀거나 프로젝트에 복사합니다. 그러지 않으면 Operator SDK가 원격 리포지토리에서 차트를 가져옵니다.
--helm-chart-repo
플래그로 사용자 정의 리포지토리 URL이 지정되지 않는 경우 다음 차트 참조 형식이 지원됩니다.
형식 | 설명 |
---|---|
|
|
| 지정된 URL에서 Helm 차트 아카이브를 가져옵니다. |
사용자 정의 리포지토리 URL이 --helm-chart-repo
로 지정된 경우 다음 차트 참조 형식이 지원됩니다.
형식 | 설명 |
---|---|
|
|
--helm-chart-version
플래그를 설정하지 않으면 Operator SDK에서 사용 가능한 최신 버전의 Helm 차트를 가져옵니다. 그러지 않으면 지정된 버전을 가져옵니다. --helm-chart
플래그로 지정한 차트에서 특정 버전을 참조하는 경우(예: 로컬 경로 또는 URL) 선택적 --helm-chart-version
플래그는 사용되지 않습니다.
자세한 내용 및 예를 보려면 다음을 실행합니다.
$ operator-sdk init --plugins helm --help