興味深い質問は、多くの人が懸念している 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: 遺伝子配列解析の効率化
>>: ハイブリッドクラウドとマルチクラウドにおけるクラウドセキュリティの課題への対処方法
ウェブサイト プランナーが最初に行う必要があるのは、ウェブサイトを正確に位置付け、ターゲット顧客グル...
今日、あるウェブサイトのテクノロジーチャンネルで、Baiduのアルゴリズムのルールが理解しにくいとい...
今年も「烏鎮」の季節がやってきました。 12月3日、第4回世界インターネット会議が正式に開幕しました...
クラウド コンピューティングはすでに IT 支出の大きな割合を占めており、大企業はクラウド ビジネス...
今日最も効果的なマーケティング手法は何かと聞かれたら、私はターゲット消費者の心理を研究し、設定したマ...
エッジコンピューティングが増加しています。 AI とネットワークの進歩を組み合わせて、より強力なロー...
1. Baidu 360 はまたも国境紛争に直面。次の戦いはモバイル検索との戦いになるだろう1月26...
Hostgator、この仮想ホスティングブランドは、業界の誰もがよく知っているはずですよね?創業17...
ロシアのホスティング プロバイダー oshq.ru は 2007 年から運営されており、PayPal...
現在、中国の不動産業界は混乱しており、急速に変化しています。かつては「利益の出る産業」だったが、土地...
過去 2 年間の人気と比較すると、クラウド コンピューティングの魔法は効果を失いつつあります。最近、...
現在、ますます多くのタオバオCストアのオーナーが、事業内容を変えたり、タオバオTmallに多額の投資...
9月19日に開催された雲奇カンファレンスにおいて、Alibaba Cloudは新世代のクラウドコンピ...
モバイルインターネット情報TalkingDataは本日、「2014年モバイルインターネットデータレポ...
Baiduのアルゴリズムは頻繁に変更されます。キーワードの変化に細心の注意を払って初めて、いくつかの...