kube-apiserverは、Kubernetesクラスターへの中央ハブおよびアクセスゲートウェイです。 このトピックでは、kube-apiserverコンポーネントを紹介します。 このトピックでは、kube-apiserverの使用法ノートとリリースノートについても説明します。
概要
kube-apiserverは、ポッド、サービス、およびReplicationControllersを含むAPIオブジェクトのデータを検証および構成します。 kube-apiserverはREST操作を行い、クラスターの共有状態へのフロントエンドを提供します。 他のすべてのコンポーネントは、このフロントエンドを介して相互作用します。
使用上の注意
kube-apiserverは自動的にインストールされます。 追加の設定なしで使用できます。
リリースノート
kube-apiserverはKubernetesバージョンとともに更新されます。 詳細については、「ACKでサポートされているKubernetesバージョンの概要」をご参照ください。
Kubernetes 1.20以降を実行し、2月2023日以降に作成されるクラスターでは、Classic Load Balancer (CLB) インスタンスの代わりにelastic network Interface (ENI) を使用して、名前空間のデフォルトでサービスを公開します。 ENIを使用して、リンクの転送によるパフォーマンスコストを削減できます。
重要クラスターのセキュリティグループがポート6443を介したインバウンドトラフィックを禁止し、ノードで実行されるクラスターノードとコンテナーのセキュリティグループがクラスターのセキュリティグループと異なる場合、クラスターのシステムコンポーネントがクラスターのkube- apiserverにアクセスできない可能性があります。
Kubernetes 1.20以降を実行し、11月2024日以降に作成されたクラスターでは、CLBインスタンスの固定IPアドレスではなく、API Serverのドメイン名を解決してENIが提供するIPアドレス (
apiserver.{Cluster ID}.{Region I D}.cs.aliyuncs.com
) がkubeletおよびkube-proxyによってAPIサーバーにアクセスするために使用されます。 これにより、クラスターの高可用性 (HA) が向上します。重要クラスターのセキュリティグループがポート6443を介したインバウンドトラフィックを禁止している場合、ノードはAPIサーバーへのアクセスに失敗する可能性があります。
APIサーバーのドメイン名 (
apiserver.{クラスターID}.{リージョンI D}.cs.aliyuncs.com
) は、プライベートDNSに基づいてACKによって提供され、ACKによって作成および管理されます。 ドメイン名は、Alibaba Cloud DNSコンソールの [クラウドサービス定義ゾーン] セクションで確認できます。APIサーバーのドメイン名解決が有効になるかどうかは、Alibaba Cloud VPCで設定されているデフォルトの内部DNSサービスアドレス100.100.2.136および100.100.2.138によって異なります。 ECSインスタンス上のDNSサーバーのカスタムIPアドレスを設定している場合は、APIサーバーのドメイン名がアップストリーム仮想プライベートクラウド (VPC) のプライベートDNSサービスによって解決されていることを確認します。 そうしないと、ノードはAPIサーバーへのアクセスに失敗する可能性があります。 作業は慎重に行ってください。