ホームページ >バックエンド開発 >Golang >外部タイプをインポートせずに、kubebuilder で外部カスタム リソースの変更を監視する方法

外部タイプをインポートせずに、kubebuilder で外部カスタム リソースの変更を監視する方法

WBOY
WBOY転載
2024-02-06 10:00:11614ブラウズ

如何在 kubebuilder 中监视外部自定义资源更改而不导入外部类型

質問の内容

外部リソース「external」を監視するコーディネーターを設定する次のコード スニペットがあるとします。 リーリー

私の問題は、

somev1.external 型をプロジェクトにインポートできないことです。これは、この型を含む go モジュールをインポートすると、現在のプロジェクトの依存関係が壊れてしまうためです。

kubebuilder で、タイプを明示的にインポートせずに外部リソースを監視する方法はありますか? gvkか何かのようなものですか?


正解


はい、可能です。

次のように、

main.go でリソースの REST クライアントを作成できます: リーリー

次に、この REST クライアント (

rest.interface) のフィールドをコーディネーター (yournativeresource_controller.go) 構造に追加します。例: リーリー

最後に、この REST クライアント (

main.go) を使用してコーディネーターを初期化します。 リーリー

rbac タグをプロジェクト (できればコーディネーター) に追加することを忘れないでください。これにより、

external リソース: を操作できるようにする rbac ルールが生成されます。 リーリー

これらの手順を完了すると、Rest クライアントを使用して、

yournativeresource コーディネーター (r.restclient. を使用) を通じて external リソースを操作できるようになります。 ######編集:######

リソースを監視したい場合は、動的クライアントが役立つ場合があります。

main.go に動的クライアントを作成します: リーリー

上記の手順を適用し、コーディネーターなどに追加します。これで、次のように

external リソースを監視できるようになります: リーリー

以上が外部タイプをインポートせずに、kubebuilder で外部カスタム リソースの変更を監視する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。