AWS上のKubernetesにおけるLVMの問題を修正する

私たちは、レガシーインフラを Kubernetes.数秒で展開できるということは、数の上では大きな違いがあります。 リーン の実験を行うことができます。Kubernetesは、10億のウィジェットイベントと、それに対応したデータ処理を必要とする規模で、Dockerコンテナのシンプルさを管理する方法を提供してくれています。

Kubernetesは素晴らしいものですが、まだ比較的新しく、貢献できる場所はたくさんあります。事の発端は、AWS上でマスターノードがダウンしたときに、それが立ち上がらなかったことです。復帰するはずだったのですが。AWS上のノードは問題なく立ち上がるように設定されています。これが、私の最初の コミット.システムログを調べてみると、このような重大なエラーが出ていました。

The disk drive for /mnt/ephemeral is not ready yet or not present.
keys:Continue to wait, or Press S to skip mounting or M for manual recovery

ソースを調べてみると、AWSではKubernetesのスクリプトでLVMボリュームを作成してデータを保存していることがわかりました。

lvcreate -l 100%FREE --thinpool pool-ephemeral vg-ephemeral

コードを実行するとうまくいったようです。それ以上に、起動時にマスターが動作しました。何が起こったのでしょうか?既存のマスターにログインして、論理ボリュームを探しました。そこにはありませんでした。ディレクトリはあったのですが、ボリュームがありませんでした。

最初の起動時のシステムログを見てみると、「lvcreate」で次のようなエラーが発生しています。

Insufficient free space: 3905 extents needed, but only 3897 available

どうやら、これは一般的なlvcreateの問題のようです:薄いプールで100%FREEを使用することはできません。これは失敗します。詳細については チケット.

まあ、このためにシンプールを使う必要はありませんでした。Kubernetesでディスクをオーバープロビジョニングしているわけではありません→私の最初のプルリクエストですContributer's License Agreementにサインして、あとは歴史です。

現在、私たちは数十個のポッド(と再起動可能なマスターノード)を持つ4つのプロダクションKubernetesクラスターを持っており、「Ubernetes」で来る安定性と高可用性の仕事を楽しみにしています。もしあなたがこのような問題を解決することに興味があるならば、私たちはあなたを歓迎します。 私たちのチームに参加してください。

についてShareThis

ShareThis は、2007年以来、ソーシャルシェア、インタレスト、インテントのデータを統合することで、グローバルなデジタル行動の力を引き出してきました。300万以上のグローバルドメインにおける消費者の行動をもとに、ShareThis は、実際のデジタルデスティネーションにおける実際の人々の行動をリアルタイムに観察しています。

ニュースレターを購読する

最新のニュース、ヒント、アップデートを入手する

登録

関連コンテンツ