외부 리소스 "외부"를 모니터링하는 코디네이터를 설정하는 다음 코드 조각이 있다고 가정합니다.
으아아아내 문제는 somev1.external
유형을 내 프로젝트로 가져올 수 없다는 것입니다. 이 유형이 포함된 go 모듈을 가져오면 현재 프로젝트의 종속성이 손상될 수 있기 때문입니다.
kubebuilder에서 해당 유형을 명시적으로 가져오지 않고 외부 리소스를 모니터링할 수 있는 방법이 있나요? gvk 같은 거요?
네, 가능합니다.
다음과 같이 main.go
에서 리소스에 대한 나머지 클라이언트를 만들 수 있습니다.
그런 다음 나머지 클라이언트(rest.interface
) 的字段添加到您的协调器 (yournativeresource_controller.go
) 구조를 넣으세요. 예를 들면 다음과 같습니다.
마지막으로 이 나머지 클라이언트(main.go
)를 사용하여 코디네이터를 초기화하세요.
Rbac 태그를 프로젝트(가급적 코디네이터)에 추가하는 것을 잊지 마세요. 그러면 작업을 허용하는 rbac 규칙이 생성됩니다. external
리소스:
이 단계를 완료한 후 yournativeresource
코디네이터를 통해 나머지 클라이언트를 사용할 수 있습니다(r.restclient
를 사용하여 yournativeresource
协调器(使用 r.restclient
来操作 external
리소스를 조작하세요.
편집자:
소스를 보고 싶다면 동적 클라이언트가 도움이 될 수 있습니다. main.go
에서 동적 클라이언트 만들기:
위 단계를 적용하고 코디네이터 등에 추가하세요. 그러면 아래와 같이 external
리소스를 볼 수 있습니다.
위 내용은 외부 유형을 가져오지 않고 kubebuilder에서 외부 사용자 정의 리소스 변경 사항을 모니터링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!