興味深い質問は、多くの人が懸念している Kubernetes LTS の問題につながります。 興味深い質問ですね2019年には、「apiserver LoopbackClient Server cert expired after 1 year[1]」という問題が提起され、興味深い問題が指摘されました。 kube-apiserver が 1 年間再起動されていない場合、kube-apiserver は正常に動作しなくなります。 問題の作成者は、自分の場所の理由を次のように説明しました: kube-apiserver は自己署名された LoopbackClient 証明書を更新しませんでした。以下のコードから、証明書の有効期限が 1 年に設定されていることがわかります。 注: LoopbackClient は、kube-apiserver が自身にアクセスするために使用されます。例えば、kube-apiserver を起動する際には Service や EndPoint (AA で使用) などの情報を取得する必要があるため、この LoopbackClient が使用されます。 また、クラスターに関連する証明書の有効期限を確認する方法も提供します。 kube-apiserver を再起動すると、この問題を一時的に解決できます。 機能かバグか?この問題が発生する可能性は比較的低いです。 kube-apiserver は、トリガーされる前に 1 年間継続的に実行する必要があります。もちろん、サーバーの時間を 1 年後に設定することで、すぐに再発させることもできます。 コミュニティのリーダーたちも反応した。当時、k8s は 3 か月ごとにマイナー バージョンをリリースし、「N-2 サポート ポリシー」に従っていました。つまり、最新の 3 つのマイナー バージョン (N、N-1、N-2) のみがセキュリティとバグの修正を受けることになります。つまり、クラスター管理者がコミュニティの仕様に従って k8s クラスターを管理する場合、1 年以上実行される k8s コンポーネントは存在せず、この問題は発生しません。 写真 また、サポート対象期間を9か月から12~14か月に延長する新たな提案が議論されているとも言及されましたが、当時は単なる提案に過ぎませんでした。最終的に、この問題はバグとはみなされず、今日に至るまでコミュニティ バージョンには 1 年の有効期限がハードコードされたままになっています。 驚くべきことに、この問題が上で言及されてから4年が経った今日、この問題をオンラインで検索すると、この問題がAlibaba Cloudの公式ウェブサイトのドキュメントにも言及されていることがわかります[2] APIサーバーはACKクラスターコントロールプレーンの中核コンポーネントであり、内部LoopbackClient[3]サーバー用の証明書が組み込まれています。コミュニティバージョン[4]では証明書の有効期間は1年間で、自動的にローテーションすることはできません。 API サーバー ポッドが再起動された場合にのみ、自動的にローテーションおよび更新されます。コミュニティでは、この証明書の有効期間を延長する予定はありません。詳細については、#86552 を参照してください。 Container Service for Kubernetes は、さまざまなユーザーの操作およびメンテナンスの習慣を考慮して、最近、組み込み証明書のデフォルトの有効期限を調整し、変更後の有効期間は 10 年になりました。 インパクト API サーバーの組み込み LoopbackClient 証明書の有効期間は、ACK 管理クラスターおよび ACK 専用クラスターの場合 1 年です。
Alibaba Cloud のドキュメントには、2023 年 3 月 15 日以降のバージョンでは証明書の有効期間が 10 年に設定されていると記載されており、これは Alibaba Cloud が実際にソースコードのこの部分を変更したことを意味します。そして最後に彼はこんな一文を付け加えた。 重要: 短期間でアップグレードできない ACK プライベート クラスターの場合は、クラスターのすべてのマスター ノードにログインし、API サーバーを手動で再起動してください。 中国最大のパブリッククラウドベンダーである Alibaba Cloud は、この問題を解決するために最終的にコードを修正する必要がありました。これは間接的に別の問題も示しています。すでに2023年(当時)であるにもかかわらず、多くの企業は依然として、公式にサポートされているバージョンから大きく遅れたk8sバージョンを使用しています。 1 年以上稼働しているクラスターや、もうすぐ 1 年を超えそうなクラスターもあります。 Alibaba Cloud の安定性 (再起動せずに 1 年間 k8s を実行できるほど) を喜ぶべきか、それとも 4 年前の問題が 4 年経ってようやく皆の注目を集めるようになったと感じるべきか、私にはわかりません。素晴らしいし面白い〜 Kubernetes の最新バージョンこのような複雑なシステムでは、初期サポート期間は 1 年未満であり、ユーザーは毎年アップグレードする必要があります。各アップグレードの作業負荷は膨大であり、ユーザーの精神的苦痛となることは間違いありません。結果から判断すると、使用中にコミュニティの規範を完全に遵守していないユーザーが確かに多く存在します。 提案1498-kubernetes-yearly-support-period[5]が承認された後、k8sバージョンのサポート期間は9か月から14か月に調整され、12か月のサポート期間と2か月のアップグレードサイクルが含まれます。 v1.19 はこの処理を享受する最初のバージョンです。提案KEP-2572: Kubernetesリリースケイデンスの定義[6]が承認された後、2020年には(COVID-19パンデミックの影響もあり)、リリース(マイナー)サイクルが年4回から年3回に調整されました。 v1.22 はこのペースでリリースされる最初のバージョンです。 写真
現在の 9 か月ポリシーと同じです。
しかし、結果から判断すると、9であろうと14であろうと、この時間はまだユーザーにとって十分な長さではありません(そうでなければ、Alibaba Cloudは2023年に上記の質問を具体的に提起する必要はなかったでしょう)。多くの Linux ディストリビューションの LTS と比較すると、この時間はかなり短いです。 人々はオンラインで意見を述べています。「KubernetesにLTSが必要なのはなぜですか?」[7]
コミュニティは 2019 年 2 月に LTS ワーキング グループを設立し、上記の最初の提案が関連する成果物となりました。ワーキンググループは最終的に 2020 年 10 月に終了しました。LTS の必要性は 2023 年 4 月まで再評価されず、LTS ワーキンググループは 7 月に正式に再開されました。これまでのところ、実質的な進展はありません。詳細についてはSlack[8]またはGoogleセッション[9]を参照してください。 拡大する公式のLTSワーキンググループは大きな進展を遂げていませんが、DaoCloudには歴史的なk8sバージョンの維持に特化したプロジェクトがあり、klts[10]を参照。これは主にCVEと重大な問題に焦点を当てています。
要約するk8s の 14 か月のメンテナンス サイクルでは、明らかに多くのユーザーのニーズを満たすことはできません。コミュニティもこの問題を認識しており、専用の LTS ワーキング グループがフォローアップを行っています。近い将来、Kubernetes LTS の実装が見られるかもしれません。 最後にもう少しだけ言わせていただきます。どのバージョンを使用するか、アップグレードするかどうか、いつアップグレードするかを選択する際に絶対的な正解や不正解はありません。あなたに合うものが一番です。役割が逆転して、プレーヤーからプレーヤーに変わることに注意しましょう。しかし、何があっても、自分が責任を負っている事柄については絶対的なコントロールを持たなければなりません。特定の技術的概念をめぐる、いくつかの公開アカウント間の論争(相互攻撃)についても同様です。純粋にイデオロギー的な議論は、具体的な作業を導く上であまり意味を持ちません。そこに含まれる概念のいくつかは非常に優れており、人々に受け入れられやすいことは否定できませんが、重要なことは、それらを自分の実際のシナリオと組み合わせて、さらに考えることです。読んだり聞いたりすることはできますが、それに執着しないでください。たとえ社会主義であっても、その前には中国の特徴がある。 参考文献[1]問題#86552: https://github.com/kubernetes/kubernetes/issues/86552 [2] Alibaba Cloudドキュメント: https://www.alibabacloud.com/help/zh/ack/product-overview/validity-period-change-for-api-server-internal-certificates [3]コード1: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiserver/pkg/server/options/serving_with_loopback.go#L52-L61 [4]コード2: https://github.com/kubernetes/kubernetes/blob/69c3b23abdbda53d14e14afc2af2bdfef23ac7b0/staging/src/k8s.io/client-go/util/cert/cert.go#L40C7-L40C19 [5]1498-kubernetes-yearly-support-period: https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/1498-kubernetes-yearly-support-period [6]2572リリースケイデンス: https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/2572-release-cadence [7]KubernetesにLTSが必要な理由: https://matduggan.com/why-kubernetes-needs-an-lts/ [8]slack#lts: https://kubernetes.slack.com/messages/wg-lts [9]google#lts: https://groups.google.com/a/kubernetes.io/g/wg-lts [10]ktls: https://github.com/klts-io/kubernetes-lts [11]cve pr: https://github.com/kubernetes/kubernetes/pulls?q=is%3Apr+is%3Amerged+label%3Acherry-pick-approved+CVE [12]CVE修正: https://www.cvedetails.com/vulnerability-list/vendor_id-15867/product_id-34016/Kubernetes-Kubernetes.html [13]cve k8s: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=Kubernetes |
<<: DecodeBio X Baidu Smart Cloud: 遺伝子配列解析の効率化
>>: ハイブリッドクラウドとマルチクラウドにおけるクラウドセキュリティの課題への対処方法
どの SEO 上級者が SEO をいくつかのレベルに分類したか、漠然と覚えています。たとえば、SEO...
SEO の世界には訪れる価値のあるフォーラムが 2 つしかないと私はよく言っていました。1 つ目は ...
クラウド データ アーキテクチャの人気の高まりは、次のようなテーマを示唆しています。オンプレミス デ...
ssdnodes.com は 2011 年に設立され、開始されました。以前は、かなり高価な Soft...
admin5.com の12月4日の記事によると、Baidu Webmaster Platformは...
2月17日の海外メディアの報道によると、オンライン言語学習コミュニティのMemriseは本日、110...
Hostcat は、myserverplanet のボスから特別な VPS を受け取りました。1G ...
SEO 専門職の中で最も一般的な職種として、外部リンク スペシャリストは SEO 会社の求人情報でよ...
8月31日の報道によると、現在のインターネット検索エンジンにおける悪質な情報コンテンツの問題に対応し...
フォーチュン誌によって世界のトップ500にランクされているウォルマートは、世界で最初に「ワンストップ...
検索エンジンのクロール、保存、クエリの動作は一見単純に見えますが、各リンクの基礎となるアルゴリズムは...
こんにちは、皆さん。私はルガです。今日は、クラウド ネイティブ エコシステムの本質の 1 つである効...
Citrixは北京時間10月26日遅く、今後6か月以内に仮想デスクトップの導入と価格が従来のPCより...
8月29日午後4時、奇虎360は公開書簡を発表し、自社の検索機能を強調しながらも「独占禁止法」の旗を...
SEO ではトラフィックとコンバージョン率のどちらが重要ですか? この問題は、ウェブマスターの間で長...