Kyverno CLI를 로컬에서 개발하는 방법은 무엇입니까?

"Kyverno 명령줄 인터페이스(CLI)는 리소스를 클러스터에 추가하기 전에 리소스에 대한 정책 동작을 검증하고 테스트하도록 설계되었습니다. CLI를 CI/CD 파이프라인에서 사용하여 리소스 작성 프로세스를 지원하여 리소스가 표준을 준수하는지 확인할 수 있습니다. 배포되기 전에."

krew , yay 또는 직접 building it from source 을 사용하여 kyverno cli를 설치하고 사용할 수 있습니다. 하지만 여기에서는 개발 모드에서 kyverno CLI를 사용하는 방법을 살펴보겠습니다. 기본적으로 사용법은 여기에서 기본적으로 kyverno CLI를 호출하는 Go 패키지, 즉 cmd/cli/kubectl-kyverno/main.go를 실행해야 한다는 점을 제외하면 동일하게 유지됩니다.

전제 조건



유일한 전제 조건은 로컬 개발 작업 공간에 Go을 설치하고 올바르게 설정해야 한다는 것입니다. 또한 Go 버전은 1.16 이상이어야 하므로 최신 릴리스를 설치하는 것이 좋습니다. 다음은 로컬 환경에서 Go 개발을 설정하는 데 도움이 되는 훌륭한 리소스 모음입니다.
  • Go에서 here의 최신 바이너리 릴리스를 다운로드할 수 있습니다.
  • https://learn.gopherguides.com/courses/preparing-your-environment-for-go-development
  • Windows 시스템을 사용 중인 경우 this을 따르십시오.
  • Mac 또는 Linux 시스템을 사용 중인 경우 this을 따르십시오.

  • 예시


    test 명령을 validate 정책에 실행해야 한다고 가정해 보겠습니다.
    kyverno CLI를 사용하여 이를 수행하려면 다음을 실행합니다.

    kyverno test ../policies/best-practices/disallow_latest_tag
    


    그러나 개발 모드에서 kyverno CLI를 사용하려면 다음 단계를 따르십시오.
  • 동일한 디렉토리에 Disallow Latest Tag kyverno/kyverno 의 포크를 복제했는지 확인하십시오. 작업 공간은 다음과 같아야 합니다.

  • /kyverno
        api
        charts
        cmd
        definitions
        docs...
    
    /policies
        best-practices
        cert-manager
        other
        pod-security...
    


  • kyverno/policiescd 디렉토리로( kyverno 의 로컬 포크임)
  • 아래 언급된 명령을 실행합니다.

  • go run ./cmd/cli/kubectl-kyverno/main.go test ../policies/best-practices/disallow_latest_tag
    


  • 위 명령을 실행하면 다음과 같은 출력이 표시됩니다.

  • Executing disallow_latest_tag...
    applying 1 policy to 1 resource... 
    │───│─────────────────────│────────────────────│───────────│────────│
    │ # │ POLICY              │ RULE               │ RESOURCE  │ RESULT │
    │───│─────────────────────│────────────────────│───────────│────────│
    │ 1 │ disallow-latest-tag │ require-image-tag  │ myapp-pod │ Pass   │
    │ 2 │ disallow-latest-tag │ validate-image-tag │ myapp-pod │ Pass   │
    │───│─────────────────────│────────────────────│───────────│────────│
    

    좋은 웹페이지 즐겨찾기