「Kubespray の機能の概要」: オリジナルのバージョンとフォークの違い

23月20.00日、モスクワ時間XNUMX:XNUMXに、セルゲイ・ボンダレフ氏が無料ウェビナーを開催します。Kubespray の機能の概要」では、kubespray を迅速、効率的、耐障害性に優れたものにするための準備方法を説明します。

Sergey Bondarev がオリジナル バージョンと私たちのフォークの違いを説明します。

「Kubespray の機能の概要」: オリジナルのバージョンとフォークの違い

オリジナルバージョンと私たちのフォークの違い。

すでに cubespray に出会ったことがある人は、なぜ私が kubeadm と cubespray を対比するのか疑問に思っているでしょう。クラスターを作成する cubespray は kubeadm を呼び出し、一見すると、パッケージをインストールして自動起動するためのスクリプトのように見えるからです。

しかし、これは常に当てはまるわけではなく、最初は cubespray がすべてのコンポーネントを個別にインストールしていました。

  • 組み立てられた etcd クラスター。
  • インストールされたキューブレット、生成された証明書、静的コントロール プレーン ポッドおよびその他のサービス コンポーネントの構成とアクセス トークン。
  • ワーカー ノードのサービス アカウントを作成し、クラスターに接続しました。

しかし一昨年、彼らはこの機能を削除し、kubadm だけを残しました。 当時はそれがあまり良くありませんでした。 私は気分を害したので、クラシック インストール モードを維持した独自のフォークを作成しました。実際、現在はこのフォークを最新の状態に保ち、元の cubespray から自分へのコミットを厳選しています。 途中で、新たな変更を加えるためにクラシック モードを終了します。

その結果、私のフォークによって作成されたクラスターと元のクラスターの違いは、kube-proxy と証明書の有効期間です。

私のフォークでは、すべてが以前と同じままです。プロキシ キューブは静的ポッドとして起動され、証明書は 100 年間発行されます。

Kubeadm では、プロキシ キューブはデーモンセットとして起動され、証明書は 1 年間発行され、定期的に更新する必要があります。 kubeadm はついに、これを XNUMX つのコマンドで実行する方法を学びました。

違いはわずかなので、現在は両方のオプションを使用しています。

産業運用時の特徴 (欠点):

スクリプトはユニバーサルなので、それほど高速ではありません。 チェックを排除し、既製のイメージから起動することで、独自の処理を大幅に高速化できます。

脚本は複雑で、非論理的な箇所があり、重い遺産が残っています。 追加のインストールcubespray 経由のコントローラーとソフトウェア - トレーニングとテストに適しています。 プロムで。 操作に関しては、キューブスプレーに依存するのはあまり賢明な考えではありません。さらに、ソフトウェアのアップデートは「それを削除して新しいものを作成する」方法を使用して実装されます。これはサービスの中断を意味します。

追加できるのはワーカー ノードのみです。マスターの場合、証明書に若干のニュアンスがあり、スクリプトは発生する可能性のあるすべての問題を処理できるわけではありません。

たとえば、XNUMX 番目と XNUMX 番目のマスターを追加するときに kubeadm がクラッシュするという問題が発生しました。その後、cubespray がノード上で kubeadm をリセットし、マスターを再度追加しようとしました。

唯一の問題は、障害が発生するまでに XNUMX 番目の etcd インスタンスがすでに登録できていたことですが、これもリセット後に削除されたため、悪夢のような結果になりました。XNUMX つのノードからなる etcd クラスターで、そのうちの XNUMX つは削除され、XNUMX 番目のクライアントはクライアントを受け入れなくなります。 その結果、クラスターは誕生することなく消滅しました。

オープンソースそのまま。

無料のウェビナーではこれらすべてとさらに多くのことをご覧いただけます。」Kubespray の機能の概要» 23月20.00日、モスクワ時間XNUMX時。

Присоединяйтесь!

出所: habr.com

コメントを追加します