メインコンテンツまでスキップ

CustomResourceDefinitions

拡張機能は、Kubernetesを拡張し深く統合するソフトウェアコンポーネントです。この実習では、Custom Resource DefinitionsMutating Webhook Configurations、およびValidating Webhook Configurationsなどの一般的な拡張リソースタイプを確認します。

CustomResourceDefinitions APIリソースは、カスタムリソースを定義することができます。CRDオブジェクトを定義すると、指定した名前とスキーマを持つ新しいカスタムリソースが作成されます。Kubernetes APIはあなたのカスタムリソースの提供とストレージを処理します。CRDオブジェクトの名前は有効なDNSサブドメイン名である必要があります。

Resources - Extensionsの下で、クラスター上のCustom Resource Definitionsのリストを確認できます。

Webhook設定は、オブジェクトリクエストを受け入れるか拒否するために、_Kubernetes Admission controllers_による認証済みAPIリクエストの傍受プロセス中に実行されます。Kubernetes admission controllersは、名前空間またはクラスター全体にセキュリティベースラインを設定します。次の図は、admission controllerプロセスに含まれる異なるステップを説明しています。

Insights

Mutating admission webhooksは、カスタムデフォルトを強制するためにAPIサーバーに送信されたオブジェクトを修正します。

Resources - Extensionsの下で、クラスター上のMutating Webhook Configurationsのリストを確認できます。

以下のスクリーンショットは、_aws-load-balancer-webhook_の詳細を示しています。このwebhook設定では、Match policy = Equivalentとなっており、これはwebhookバージョンAdmission review version = v1beta1に従ってオブジェクトを修正することで、リクエストがwebhookに送信されることを意味します。

設定でMatch policy = Equivalentの場合、新しいリクエストが処理されるときに設定で指定されたものとは異なるwebhookバージョンを持つ場合、リクエストはwebhookに送信されません。_Side Effects_がNoneに設定され、_Timeout Seconds_が10に設定されていることに注目してください。これは、このwebhookに副作用がなく、10秒後に拒否されることを意味します。

Insights

Validating admission webhooksは、APIサーバーへのリクエストを検証します。その設定には、リクエストを検証するための設定が含まれています。ValidatingAdmissionWebhooksの設定はMutatingAdmissionWebhookと類似していますが、ValidatingAdmissionWebhooksリクエストオブジェクトの最終状態はetcdに保存されます。