5.3.2.2. 프로젝트 생성
Operator SDK CLI를 사용하여 memcached-operator
라는 프로젝트를 생성합니다.
프로세스
프로젝트에 사용할 디렉터리를 생성합니다.
$ mkdir -p $HOME/projects/memcached-operator
디렉터리로 변경합니다.
$ cd $HOME/projects/memcached-operator
Go 모듈에 대한 지원을 활성화합니다.
$ export GO111MODULE=on
operator-sdk init
명령을 실행하여 프로젝트를 초기화합니다.$ operator-sdk init \ --domain=example.com \ --repo=github.com/example-inc/memcached-operator
참고operator-sdk init
명령은 기본적으로 Go 플러그인을 사용합니다.operator-sdk init
명령은 Go 모듈과 함께 사용할go.mod
파일을 생성합니다.$GOPATH/src/
외부에서 프로젝트를 생성할 때는 생성된 파일에 유효한 모듈 경로가 필요하기 때문에--repo
플래그가 있어야 합니다.OpenShift Container Platform에서 Go 기반 Operator를 활성화하려면
config/manager/manager.yaml
파일을 편집하고 다음 행runAsUser: 65532
를 다음으로 교체합니다.
runAsNonRoot: true
참고이 단계는 Go 기반 Operator에만 필요한 임시 해결 방법입니다. 자세한 내용은 BZ#1914406을 참조하십시오.
5.3.2.2.1. PROJECT 파일
operator-sdk init
명령으로 생성된 파일 중에는 Kubebuilder PROJECT
파일이 있습니다. 이어서 프로젝트 루트에서 실행되는 operator-sdk
명령과 help
출력에서는 이 파일을 읽고 프로젝트 유형이 Go임을 확인합니다. 예를 들면 다음과 같습니다.
domain: example.com layout: go.kubebuilder.io/v3 projectName: memcached-operator repo: github.com/example-inc/memcached-operator version: 3-alpha plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {}