Kubernetes API アグリゲーション API アグリゲーション

Kubernetes API アグリゲーション - Kubernetes - Wiki.Shileizcc.com

API 集約メカニズムは、 Kubernetes バージョン 1.7 で導入された機能であり、ユーザー拡張 API を kube-apiserver に登録し、引き続き API サーバーの HTTP URL を介して新しい API にアクセスして操作できます。この仕組みを実現するために、Kubernetes では kube-apiserver サービスに API アグリゲーション層 (API Aggregation Layer) を導入し、拡張 API のアクセス要求をユーザーサービスに転送するために使用されます。

API 集約メカニズムを設計する主な目標は次のとおりです。

  • API のスケーラビリティの向上:開発者は、Kubernetes コア コードを変更することなく、独自の API サーバーを作成して API を公開できます。
  • Kubernetes コア チームによる複雑なレビューを待つ必要はありません。開発者は API を別個の API サーバーとして公開できるため、クラスター管理者は Kubernetes コア コードを変更せずに新しい API を使用でき、複雑なレビューを待つ必要はありません。コミュニティによるレビュー。
  • 実験的な新機能の API 開発をサポート:システムの既存の機能に影響を与えることなく、独立した API アグリゲーション サービスで新しい API を開発できます。
  • 新しい API が Kubernetes 仕様に準拠していることを確認する: API 集約メカニズムがないと、開発者は独自の設計を作成する必要があり、その設計は Kubernetes 仕様に準拠していない可能性があります。

一般に、API 集約メカニズムの目標は、集中化された API 検出メカニズムと安全なプロキシ機能を提供して、開発者の新しい API を動的かつシームレスに Kubernetes API サーバーに登録してテストおよび使用できるようにすることです。

マスターの API サーバーで API アグリゲーションを有効にする


ユーザー定義 API をマスターの API サーバーに登録できるようにするには、まず、kube-apiserver サービスの以下の起動パラメーターを構成して API 集約機能を有効にする必要があります。

  • --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.pem: リクエスト中にアグリゲーターのクライアント CA 証明書を検証します。

  • --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client-key.pem : リクエスト中にアグリゲーターのクライアント秘密キーを検証します。

  • --requestheader-allowed-names=front-proxy-client: ヘッダーの --requestheader-username-headers パラメーターで指定されたフィールドを通じて取得される、アクセスが許可されるクライアント共通名のリスト。client-ca-file にはクライアントの共通名の名前を設定する必要があり、空に設定すると、どのクライアントでもアクセスできることになります。

  • --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.pem: クライアント CA 証明書。

  • --requestheader-extra-headers-prefix=X-Remote-Extra-: リクエストヘッダーで確認する必要があるプレフィックス名。

  • --requestheader-group-headers=X-Remote-Group: リクエスト ヘッダーで確認するグループ名。

  • --requestheader-username-headers=X-Remote-User: リクエスト ヘッダーでチェックインするユーザー名。

kube-apiserver が配置されているホスト上で kube-proxy が実行されておらず、サービスの ClusterIP 経由でアクセスできない場合は、起動パラメータも設定する必要があります。

--enable-aggregator-routing=true

設定完了後、kube-apiserver サービスを再起動し、API アグリゲーション機能を有効にします。

おすすめ

転載: blog.csdn.net/qq_34556414/article/details/132134545