一度にkubernetesが導入したビジネス・アクセス量が大きい場合にアクセス・タイムアウトが発生することを覚えます.


問題の表現
アクセスの同時性が比較的大きい場合、要求は頻繁にタイムアウトする.
問題の原因
プログラム内部実装ではログサーバに頻繁にアクセスするが、当時ログサーバはkubernetesに配備されていなかったため、CoreDNS hostsプラグインを用いてカスタムドメイン名解析を行うことで実現する.問題が発生すると、CoreDNSのCPUは10-30%の間で変動する.CPUが満タンになっていないため、ここに問題があるのではないかと疑うが、今回のボトルネックにはなっていない.他の問題を調べた後、最後にここの問題を調べた.最終的な確認は、ここで発生した性能のボトルネックの問題であり、午後の時間を無駄にした.
全体の過程の中で、CoreDNSの監視カメラはすべて正常であることを示して、ただ検索回数は少し多くて、監視カメラは1.8 kppsぐらいある.そのほとんどがキャッシュにヒットしているので、プレッシャーは大きくないかもしれません.しかし、その後、どうしても原因が見つからず、ログサーバ解析方式をhostsプラグインからDeployment構成hostAliasesに変更した後、問題は瞬時に解決する.
最終確認の問題は以下の通りです(ここでは詳しく調べて確認を継続する必要があります)CoreDNS大量のクエリの場合、遅いクエリが存在する可能性がある場合、KubernetesPodに6つの探索ドメインをデフォルトで追加し、一度の外部DNSクエリが少なくとも6回のクエリを必要とし、正確な結果を得ることができ、DNSアクセス量が大きい.
解決策Deploymentを用いる構成hostAliasesを、従来のCoreDNSを置き換えるDNSマッピングを行う.