ACK Edge は、クラウドとエッジ間の連携コンピューティングを実現するために Container Service for Kubernetes (ACK) によって提供されるクラウドマネージドソリューションです。このトピックでは、Kubernetes 1.16 の ACK Edge の最新の変更点について説明します。
Kubernetes コア
エッジコンピューティングシナリオにおける Kubernetes 1.16 の ACK Edge に加えられた変更点を以下に示します。
ノードの cpuacct.stat ファイルに 4 つを超えるレコードが保存されている場合に、[kubelet] が起動に失敗する問題を修正しました。
Kube-proxy は IP Virtual Server (IPVS) モードをサポートしています。
ネットワークインターフェースコントローラー (NIC) の名前を指定することで、[kubelet] を使用してノードの内部 IP アドレスを設定できます。
ACK のリリースノートの詳細については、「(提供終了) Kubernetes 1.16 リリースノート」をご参照ください。
エッジノードの自律性
Kubernetes 1.16 の ACK Edge は、エッジノードの自律性の安定性を強化しています。主な変更点は以下のとおりです。
キャッシュデータが失われた場合、クライアントは空の文字列ではなく HTTP ステータスコード 404 を受信します。
[edge-hub] の証明書を保存するために使用されるディレクトリが /etc/kubernetes/edge-hub から /var/lib/edge-hub に変更されました。
[edge-hub] の証明書ファイルの名前が変更されました。
edge-hub.kubeconfig → edge-hub.conf
bootstrap-edge-hub-current.conf → bootstrap-hub.conf
[prometheus メトリック] 用のインターフェースが追加されました。
[iptables] のパフォーマンスが向上しました。IP アドレス 127.0.0.1:10261 および 169.254.2.1:10261 に [iptables Notrack] が追加されました。
詳細については、「エッジノードのネットワーク自律性」をご参照ください。
クラウドエッジトンネル
Kubernetes 1.16 の ACK Edge は、クラウドエッジトンネルのパフォーマンスを最適化します。主な変更点は以下のとおりです。
トンネル通信プロトコルが標準 TCP から [grpc] ベースのプロトコルに変更されました。TCP と比較して、[grpc] トンネルを介して送信されるデータのサイズは 40% 削減されます。
[edge-tunnel-agent] コンポーネントは、証明書を自動的に申請および更新できます。これにより、コンポーネントはノード証明書から分離されます。さらに、[edge-tunnel-agent] の証明書は /var/lib/edge-tunnel-agent/pki ディレクトリに保存されます。
[prometheus メトリック] が追加されました。
[edge-tunnel-agent] 用のポッドをデプロイするために使用されるラベルが
alibabacloud.com/is-edge-worker: "true"に変更されました。
詳細については、「クラウドエッジ O&M 通信コンポーネント Tunnel の概要」をご参照ください。
監視コンポーネント
Kubernetes 1.16 の ACK Edge は、[metrics-server] コンポーネントをアップグレードし、このコンポーネントのセキュリティを強化します。主な変更点は以下のとおりです。
[metrics-server] が V0.2.1 から V0.3.8 にアップグレードされました。
ACK Edge はトークンを使用して Cloud Monitor に接続できます。
エッジでのセルベースの管理
Kubernetes 1.16 の ACK Edge は、新しいコンポーネント [yurt-app-manager] を提供し、エッジでのセルベースの管理をサポートしています。エッジでのセルベースの管理の主な機能を以下に示します。
ノードプールによるノードの管理。
UnitedDeployment コントローラーを使用したアプリケーションの管理。
サービスがデプロイされているノードまたはノードプールにのみサービスを公開するようにサービスのトポロジーを設定。
エッジでのセルベースの管理の詳細については、「エッジノードプールの概要」をご参照ください。
コンテナランタイム
Kubernetes 1.16 の ACK Edge におけるコンテナランタイムの主な変更点は以下のとおりです。
Advanced RISC Machine (ARM) および ARM64 の runC バージョンが 1.0.0-rc10 にアップグレードされました。
Cgroupfs cgroup ドライバーが Systemd cgroup ドライバーに変更されました。
CNI プラグイン
Kubernetes 1.16 の ACK Edge は、Container Network Interface (CNI) プラグインの安定性を強化します。これにより、異なる名前空間で同じ名前のポッドに無効な IP アドレスが割り当てられる可能性がある問題が修正されます。
クラスタへのエッジノードの追加
Kubernetes 1.16 の ACK Edge は、クラスタへのエッジノードの追加手順を最適化し、いくつかのパラメータを追加します。主な変更点は以下のとおりです。
CIDR (Classless Inter-Domain Routing) 競合チェックが追加されました。
ノードに割り当てることができる IP アドレスの数が設定可能になりました。
labels、nodeIface、annotations、taints などのパラメータが追加されました。
Linux カーネル 5.4 を実行している Ubuntu システムと互換性があります。
詳細については、「エッジノードを追加する」をご参照ください。
API の変更
ノードプール API 操作を呼び出して、エッジノードプールを管理できます。詳細については、「ノードプール」をご参照ください。