【カスタムリソース(シーアールディー)】
カスタムリソース(CRD) とは?
💡 Kubernetesに「自分ルール」を追加できる、拡張の切り札
📌 このページのポイント
カスタムリソースって何?KubernetesにDeploymentやServiceとは別のものを作れるの?
そうだよ!DeploymentやServiceはKubernetesに最初から用意されているリソースだけど、CRDを使うと自分だけの新しいリソース種別を追加できるんだ。たとえば「Database」とか「BackupPolicy」とか、好きな名前で作れるよ。
どうやって追加するの?
CRD(CustomResourceDefinition)というYAMLファイルを書いてkubectl applyすると、Kubernetes APIにその型が登録されるよ。登録後はkubectl get databaseとか、普通のリソースと全く同じコマンドで操作できるんだ。
独自リソースを作っただけで何かが動くの?
実際にどんな場面で使われてるの?
PrometheusのServiceMonitorやCertificateManagerの証明書管理、Istioのトラフィック設定なんかが有名だよ。複雑な運用手順をカスタムリソース+Operatorで自動化して、「設定を書くだけで運用が回る」状態を作るんだ。
Helmとの関係はどうなってるの?
まとめ:ざっくりこれだけ覚えればOK!
「カスタムリソース(CRD)」って出てきたら「Kubernetesに独自の設定種別を追加する拡張機能」と思えればだいたいOK!
📖 おまけ:英語の意味
「Custom Resource Definition」 = カスタムリソース定義
💬 「Custom(独自の)」+「Resource(リソース)」+「Definition(定義)」の組み合わせ。標準リソースの外に独自の型を「定義」するという意味で名付けられたんだよ。