Kubernetes を使用する際に注意すべき落とし穴

Kubernetes を使用する際に注意すべき落とし穴

Kubernetes を実践する過程で、ギャップを埋める経験を積んできました。簡単に要約して皆さんと共有したいと思います。

Kubernetes の準備や使用を考えている方にとって、これが役立つことを願っています。

ローリングアップグレード: 更新が遅すぎる

デフォルトでは、ローリング アップグレードは 1 つずつ実行されます。更新が必要なポッドが数十または数百あり、準備状況の検出も必要な場合、プロセス全体の速度は遅くなります。より多くの Kubernetes 技術専門家とコミュニケーションを取りたい場合は、私の WeChat liyingjiese を追加し、「グループに参加」と記入してください。当グループには、世界中の大手企業のベストプラクティスと業界の最新トレンドが毎週掲載されています。

解決:

  1. ローリングアップデート:
  2. maxSurge: 20% #ローリング更新あたりのインスタンス数
  3. maxUnavailable: 10% #更新プロセス中に利用不可にできるインスタンスの数

準備状況の検出 - ロスレス更新

通常、サービスを再起動すると、しばらくの間、通常のサービスを提供できなくなります。

このプロセス中に受信リクエスト トラフィックを回避するために、準備状況検出を使用して、サービスがリクエストを正常に受信して処理する準備ができているかどうかを検出できます。

  1. ......
  2. 準備プローブ:
  3. httpGet:
  4. ホスト: api.xxx.com
  5. パス: /
  6. ポート: 80
  7. initialDelaySeconds: 3 # 最初の検出はコンテナが起動してから3秒後に開始されます
  8. periodSeconds: 60 # 60秒ごとにチェック
  9. timeoutSeconds: 3 # http 検出リクエストのタイムアウト
  10. successThreshold: 1 # 1回の成功が検出されると、サービスは「準備完了」とみなされます
  11. failureThreshold: 1 # 1つの障害が検出された場合、サービスは「準備ができていない」とみなされます
  12. ......

準備検出: 完全な麻痺

準備状況の検出は諸刃の剣です。適切に使用しないと、サービスの完全な停止など、大きな問題に簡単につながる可能性があります。

上記の準備状況チェック構成には抜け穴がたくさんあることがわかります。

たとえば、タイムアウトの場合、同時実行性が高いと、リクエストを処理できず、個々のサービスが検出リクエストを簡単にタイムアウト (504) し、すぐに準備ができていないと見なされる可能性があります。その後、トラフィックは他のサービスに転送され、すでに高負荷になっている他のサービスでも同じ状況が発生し、悪循環が生じます。すぐに、すべてのサービスが準備ができていないとみなされ、完全な麻痺状態に陥ります。

解決策:タイムアウト期間を長くし、失敗回数を増やします。

再展開します。これは、サービスがクラッシュする原因となったエラーまたはその他の異常が原因である可能性があります。つまり、ユーザーがまだサービスをリクエストしようとしている間に再起動する必要があります。正常に起動して準備完了状態になることができず、すべてのサービスが準備完了ではないことに驚かれることでしょう。同じ理由で、サービスの起動プロセスは一度に開始されるのではなく、バッチで開始されます。その結果、各サービス バッチは起動後にトラフィックを保持できず、悪循環が形成され、完全な麻痺が発生します。

解決策:準備チェックを削除してから再デプロイします。

瞬間ピークの自動拡大

POD の自動拡張は使いやすいですが、拡張インジケータ (CPU、メモリなど) が 50% を超えるなど高く設定されすぎると、トラフィックが突然 2 倍になったときに Pod を拡張する時間がなく、サービスがすぐにタイムアウトまたはハングアップしてしまいます。

解決策:インジケーターをできるだけ小さい値に設定し、以前のトラフィックに基づいて参照評価を行い、トラフィックが 2 倍、3 倍、さらには 5 倍に増加した場合でも耐えられることを確認します。

自動スケーリング: 早期拡張

通常、ノードの自動スケーリングは、Pod が自動的に拡張されるときに十分なリソースがあるかどうかによって決まります。しかし、突然の予定されたトラフィックのピークを経験するビジネスの場合、このタイプのスケーリングは明らかに遅すぎます。ピークから10分後にマシンを拡張すると、トラフィックがすでに最低レベルに戻っており、マシンがまったく役に立たないということはよくあります。さらに、トラフィック損失は、ビジネス属性の急激な低下によるものでしょうか、それとも時期尚早な容量拡張によるものでしょうか。

解決策:自社のビジネスに合わせて、過去のトラフィック量やプロモーション時間を参考にしてパターンを見つけ、事前にまたはスケジュールに従って自動拡張をトリガーします。

コンテナ内でゾンビプロセスが実行中

これは、Docker の古いバージョン (<1.13) における既知の問題です。いくつかのコンテナが起動すると、機能していないプロセス (ps aux | grep defunct) が表示され、その数が増加します。これらのプロセスはゾンビ プロセスと呼ばれ、メモリ リークを引き起こす可能性があります。コンテナを再起動しない限り、それらを強制終了することはできません。

解決策: tini

クラスターからノードを削除する

ノードを安全に削除するにはどうすればよいですか?あなたのビジネス、さらには Kube システムのものは、このノードにデプロイされます。

解決策: kubectl dock を使用して、まずノード上の Pod を他のノードに移動してから、それらをノードから移動します。

<<:  変革の次のステップ:クラウドコンピューティングホスティングが必須

>>:  クラウドコンピューティングは変化に素早く対応する必要がある

推薦する

悪くない!ニューヨークのVultrの月額2.50ドルのVPSの簡単なレビュー

Vultrの512Mメモリ搭載の2.5ドルのKVM VPSは数日前から再入荷しています。今回Vult...

Webmaster.com からの毎日のレポート: JD Finance が戦略をアップグレード、Ctrip と eLong が激しい戦いを繰り広げる

1. JD Financeの戦略アップグレード:50億の銀行融資を獲得元旦直後、電子商取引業界の二大...

Baidu の O2O の試み: 検索大手のモバイル インターネットに対する新しいロジック

百度のCEO、ロビン・リーは、この新たな戦いでも笑顔を保つことができるだろうか?(写真提供:テンセン...

エンタープライズレベルのSaaS製品のチャネル戦争に勝つには、たった3つのステップで十分です

エンタープライズレベルの SaaS 製品は、プラットフォームベースのものでも、人気のある垂直分野をタ...

ウェブマスターがプロモーション前に決定する必要がある3つの主要な要素の詳細な説明

ウェブサイトのトラフィックを増やしたい場合、当然ながらプロモーションは欠かせません。しかし、ウェブマ...

産業用エッジコンピューティングの最終的な勝者は誰になるでしょうか?

エクソンモービルのような企業は、今後数年間で工場運営におけるコンピューティング機器を 10 倍に増や...

Xovv:日本電信データセンターに新登場、日本独立サーバー特別価格450元、e3-1225/16gメモリ/1Tハードディスク/20M帯域幅/3IP

xovv は最近、日本の通信データセンターを追加し、そのために品川区東品川 2-1-7 データセンタ...

Tongcheng.comの生存物語:巨人と交通渋滞との戦い

巨人のプレッシャーの下でどうやって生き残るか? Wu Zhixiang と Tongcheng.co...

JD.com が商品リストページでスパイダーを廃止した理由を簡単に分析する

JD.comの商品一覧ページを見てみましょう!まずは2枚の写真を比較してみましょう。これはスパイダー...

変化するコンテナエコシステムに関する8つの事実

[51CTO.com クイック翻訳] コンテナは、企業がアプリケーションとインフラストラクチャを構築...

今年の共同購入の売上高は210億ドルを超えると予想されており、定期的な割引は目新しさに欠ける

独立系共同購入ナビゲーションサイト「Tuan800」の最新データによると、今年11月の国内主流共同購...

営業スキル向上ガイド: 顧客を魅了するために必要なのはたった3つのステップ

現代の消費者は毎日約4,000の広告にさらされていると言われています。膨大な情報環境の中で、携帯電話...

SAPとSuningが戦略的提携を結び、スマートな小売ソリューションを創出

[51CTO.comよりオリジナル記事] 9月6日、SAP China Summitにおいて、Sun...

ソフトコンテンツマーケティングにおける潜在的ユーザーの心理分析

最も人気のあるオンライン マーケティング手法の 1 つであるソフト コンテンツ マーケティングは、ハ...

VMware は新しいソフトウェア クライアントの提供により SD-WAN を運用技術 (OT) 領域に拡張します。

VMware (NYSE: VMW) は本日、ソフトウェア定義広域ネットワーク (SD-WAN) お...