Kubernetes は䞖界を埁服するでしょう。 い぀、どのようにしお?

期埅しお DevOpsConf ノィタリヌ・ハバロフ むンタビュヌされたした ãƒ‰ãƒŸãƒˆãƒªãƒŒãƒ»ã‚¹ãƒˆãƒªãƒ£ãƒ­ãƒ• (ディストル)、Flant 瀟のテクニカル ディレクタヌ兌共同創蚭者。 Vitaly は、Flant が䜕をしおいるのか、Kubernetes、゚コシステム開発、サポヌトに぀いおドミトリヌに尋ねたした。 なぜ Kubernetes が必芁なのか、そしおそもそも Kubernetes が必芁なのかに぀いお話し合いたした。 たた、マむクロサヌビス、Amazon AWS、DevOps ぞの「幞運に恵たれる」アプロヌチ、Kubernetes 自䜓の将来、Kubernetes がなぜ、い぀、どのように䞖界を垭巻するのか、DevOps の芋通し、゚ンゞニアがどのような準備をすべきかに぀いおも説明したす。簡玠化ずニュヌラルネットワヌクによる明るい近未来。

オリゞナルむンタビュヌ DevOps Deflop (DevOps に関するロシア語のポッドキャスト) でポッドキャストずしお聞いおください。以䞋はテキスト バヌゞョンです。

Kubernetes は䞖界を埁服するでしょう。 い぀、どのようにしお?

ここず以䞋で圌は質問しおいたす ノィタリヌ・ハバロフ Express42の゚ンゞニア。

「フラント」に぀いお

- こんにちは、ディマ。 あなたはテクニカルディレクタヌです」フラント」ずその創蚭者でもありたす。 䌚瀟が䜕をしおいるのか、そしおあなたがその䞭で䜕をしおいるのか教えおください。

Kubernetes は䞖界を埁服するでしょう。 い぀、どのようにしお?ドミトリヌ倖から芋るず、私たちはみんなのために Kubernetes をむンストヌルしお、それを䜿っお䜕かをしおいる人のように芋えたす。 しかし、そうではありたせん。 圓瀟は Linux を扱う䌚瀟ずしおスタヌトしたしたが、非垞に長い間、実皌働および高負荷のタヌンキヌ プロゞェクトのサヌビスを䞻な掻動ずしおきたした。 通垞、私たちはむンフラストラクチャ党䜓をれロから構築し、その埌、長期間にわたっおその責任を負いたす。 したがっお、「Flant」がお金を受け取る䞻な仕事は、 責任を持っおタヌンキヌ生産を実斜する.




私はテクニカル ディレクタヌであり、䌚瀟の創蚭者の XNUMX 人ずしお、本番環境のアクセシビリティを高め、運甚を簡玠化し、管理者の䜜業を容易にし、開発者の䜜業をより快適にする方法を芋぀けるために昌倜を費やしおいたす。 。

Kubernetesに぀いお

— 最近、フラントず圌からのレポヌトをよく目にしたす。 ç‰©å“ Kubernetesに぀いお。 どうやっお思い぀いたのですか

ドミトリヌこれに぀いおはすでに䜕床も話しおいたすが、繰り返しおも構いたせん。 原因ず結果が混同されおいるため、このトピックを繰り返すのは正しいず思いたす。

本圓にツヌルが必芁でした。 私たちは倚くの問題に盎面し、苊しみ、さたざたな束葉杖を䜿っおそれらを克服し、道具の必芁性を感じたした。 私たちはさたざたな遞択肢を怜蚎し、自分たちでバむクを䜜り、経隓を積みたした。 埐々に、Docker が登堎しおすぐに、぀たり 2013 幎頃に Docker を䜿い始めるずころたで到達したした。 このコンテナが登堎した時点で、私たちはすでにコンテナに関しお倚くの経隓を積んでおり、「Docker」の類䌌物、぀たり独自の束葉杖の䞀郚を Python で䜜成しおいたした。 Docker の登堎により、束葉杖を捚おお、コミュニティによっおサポヌトされおいる信頌性の高い゜リュヌションを䜿甚できるようになりたした。

Kubernetes の堎合も同様です。 それが勢いを増し始めた頃には、私たちにずっおこれはバヌゞョン 1.2 です。私たちはすでに Shell ず Chef の䞡方にたくさんの束葉杖を持っおいお、どういうわけか Docker で調敎しようずしたした。 私たちは Rancher やその他のさたざたな゜リュヌションを真剣に怜蚎しおいたしたが、Kubernetes が登堎したした。Kubernetes では、すべおが私たちが実行するものずたったく同じか、それ以䞊に実装されたす。 文句の付けようがありたせん。

はい、ここにはある皮の䞍完党性があり、そこにもある皮の䞍完党性がありたす - 倚くの䞍完党性があり、1.2 は䞀般的にひどいものですが... Kubernetes は建蚭䞭の建物のようなものです - プロゞェクトを芋れば理解できたす涌しくなるだろうずいうこず。 建物に基瀎ず XNUMX 階建おの堎合は、ただ入居しない方がよいこずは理解できたすが、゜フトりェアにはそのような問題はなく、すでに䜿甚できたす。

Kubernetes を䜿甚するかどうかを考える瞬間はありたせんでした。 私たちはそれが登堎するずっず前からそれを埅っおいお、自分たちで類䌌品を䜜成しようずしたした。

Kubernetesに぀いお

— Kubernetes自䜓の開発には盎接関わっおいるのでしょうか

ドミトリヌ平凡です。 むしろ、私たちぱコシステムの発展に参加したす。 私たちは䞀定数のプル リク゚ストを Prometheus、さたざたなオペレヌタヌ、Helm、぀たり゚コシステムに送信したす。 残念ながら、私たちが行っおいるすべおのこずを远跡するこずはできず、間違っおいる可胜性がありたすが、私たちからコアぞのプヌルは単䞀ではありたせん。

— 同時に、倚くのツヌルを Kubernetes を䞭心に開発しおいたすか?

ドミトリヌ: 戊略は次のずおりです。既存のものすべおにリク゚ストをプルしおいきたす。 そこでプル リク゚ストが受け入れられない堎合は、単に自分たちでフォヌクし、ビルドで受け入れられるたで存続したす。 そしお、䞊流に到達したら、䞊流バヌゞョンに戻りたす。

たずえば、Prometheus オペレヌタヌがあり、これを䜿甚しおアセンブリの䞊流ずの間でおそらくすでに 5 回切り替えを行っおいたす。 䜕らかの機胜が必芁で、プル リク゚ストを送信したした。明日ロヌルアりトする必芁がありたすが、アップストリヌムでリリヌスされるたで埅ちたくないのです。 したがっお、私たちは自分たちで組み立お、䜕らかの理由で必芁な機胜を備えたアセンブリをすべおのクラスタヌにロヌルアりトしたす。 次に、たずえば、「皆さん、もっず䞀般的なケヌスでやろう」ずいう蚀葉ずずもに䞊流の私たちに匕き枡し、私たちたたは他の誰かがそれを完成させ、時間が経぀ず再びマヌゞされたす。

私たちは存圚するものすべおを開発しようずしたす。 倚くの芁玠はただ存圚しおいないか、ただ発明されおいない、あるいは発明されたが実装する時間がなかった - 私たちはそれを実行しおいたす。 それは、業界ずしおのプロセスや自転車補造が奜きだからではなく、単にこのツヌルが必芁だからです。 なぜ私たちはこれやあんなこずをしたのですか?ずいう質問がよくありたす。 答えは簡単です - はい、さらに進んで実際的な問題を解決する必芁があり、それをこのトゥヌラで解決したからです。

道はい぀もこんな感じです。泚意深く探しお、パンからトロリヌバスを䜜る方法が芋぀からない堎合は、自分たちでパンずトロリヌバスを䜜りたす。

フランタツヌル

— Flant には珟圚アドオン オペレヌタヌ、シェル オペレヌタヌ、dapp/werf ツヌルがあるこずは知っおいたす。 私の理解では、これは異なる化身でも同じ楜噚です。 たた、Flaunt にはさらに倚くのさたざたなツヌルがあるこずも理解しおいたす。 これは本圓です

ドミトリヌ: GitHub には他にもたくさんありたす。 今芚えおいる限りでは、ステヌタスマップずいう、誰もが気に入った Grafana のパネルがありたす。 これは、Medium での Kubernetes モニタリングに関するほがすべおの蚘事で蚀及されおいたす。 ステヌタスマップずは䜕かを簡単に説明するこずは䞍可胜です。これに぀いおは別の蚘事が必芁ですが、Kubernetes では時間の経過ずずもにステヌタスを衚瀺する必芁があるこずが倚いため、ステヌタスマップを時間の経過ずずもに監芖するのに非垞に圹立ちたす。 LogHouse もありたす。これは、ClickHouse ず Kubernetes でログを収集するための黒魔術に基づいたものです。

ナヌティリティがたくさん 今幎は倚数の瀟内゜リュヌションがリリヌスされる予定なので、さらに倚くの゜リュヌションがリリヌスされるでしょう。 アドオン オペレヌタヌをベヌスにした非垞に倧芏暡なものの䞭には、Kubernetes 甚のアドオンが倚数ありたす。蚌明曞を管理するツヌルである sert マネヌゞャヌを適切にむンストヌルする方法、倚数のアクセサリを備えた Prometheus を正しくむンストヌルする方法など、これらは玄 XNUMX 皮類ありたす。デヌタを゚クスポヌトしお䜕かを収集するバむナリに察しお、Prometheus には最も玠晎らしいグラフィックスずアラヌトが備わっおいたす。 これらはすべお、クラスタヌにむンストヌルされる Kubernetes ぞのアドオンの束にすぎず、シンプルなものからクヌルで掗緎された自動なものに倉わり、倚くの問題がすでに解決されおいたす。 はい、たくさんやっおたす。

生態系の発展

「これはこの機噚ずその䜿甚方法の開発に非垞に倧きな貢献であるように思えたす。」 他に誰が゚コシステムの発展に同じ貢献をするだろうか、倧たかに芋積もるこずはできたすか?

ドミトリヌ: ロシアでは、私たちの垂堎で掻動しおいる䌁業の䞭で、それに匹敵する䌁業はありたせん。 もちろん、これは倧声での発蚀です。Mail や Yandex のような倧手䌁業もあり、圌らも Kubernetes を䜿っお䜕かを行っおいたすが、圌らですら、私たちよりもはるかに倚くのこずを行っおいる党䞖界の䌁業の貢献には及びたせん。 私の蚘憶が間違っおいなければ、80 人のスタッフを抱える Flant ず、Kubernetes ごずに 300 人の゚ンゞニアを抱える Red Hat を比范するのは困難です。 比范するのは難しいです。 RnD 郚門には私を含めお 6 人がおり、すべおの工具をカットしおいたす。 6 人察 300 人の Red Hat ゚ンゞニア – 比范するのはどういうわけか難しいです。

- しかし、この 6 人でも、実際的な問題に盎面しお、コミュニティに解決策を提䟛するずきに、本圓に有益で疎倖的なこずを行うこずができるのは、興味深いケヌスです。 倧手テクノロゞヌ䌁業では、独自の Kubernetes 開発およびサポヌト チヌムがあり、原則ずしお同じツヌルを開発できるず理解しおいたす。 これは、開発しおコミュニティに提䟛できるものの䞀䟋であり、Kubernetes を䜿甚するコミュニティ党䜓に掚進力を䞎えたす。

ドミトリヌこれはおそらくむンテグレヌタの機胜、特殊性です。 私たちには倚くのプロゞェクトがあり、さたざたな状況が芋られたす。 私たちにずっお、付加䟡倀を生み出す䞻な方法は、これらの事䟋を分析し、共通点を芋぀けお、できるだけ安くするこずです。 私たちはこれに積極的に取り組んでいたす。 ロシアや䞖界に぀いお話すのは難しいですが、瀟内には Kubernetes に取り組む DevOps ゚ンゞニアが玄 40 人いたす。 ロシアには、Kubernetes を理解するスペシャリストをこれほど倚く抱えおいる䌁業は、たずえあったずしおも倚くないず思いたす。

私は DevOps ゚ンゞニアずいう圹職に぀いおすべおを理解しおいたす。誰もがすべおを理解しおおり、DevOps ゚ンゞニアを DevOps ゚ンゞニアず呌ぶこずに慣れおいたす。これに぀いおは議論したせん。 これら 40 人の玠晎らしい DevOps ゚ンゞニア党員が毎日問題に盎面し、解決しおいたす。私たちはこの経隓を分析し、䞀般化しようずしおいるだけです。 それが私たちの䞭に残っおいる堎合、コミュニティのどこかに既補のトゥヌラが珟れるため、ツヌルはXNUMX〜XNUMX幎で圹に立たなくなるこずを私たちは理解しおいたす。 この経隓を内郚的に蓄積しおも意味はありたせん。゚ネルギヌず時間を dev/null に消耗するだけです。 そしお私たちはそれを党く残念に思っおいたせん。 私たちはすべおを喜んで公開し、人々がそれを䜿甚し、経隓を远加できるように、公開、開発、宣䌝、宣䌝する必芁があるこずを理解しおいたす。そうすれば、すべおが成長し、生き続けたす。 そしおXNUMX幎経っおも楜噚はゎミ箱行きになりたせん。 誰かがあなたのツヌルを䜿甚しおいるこずは明らかであり、XNUMX 幎埌には誰もがそれを䜿甚しおいるため、力を泚ぎ続けるこずは残念ではありたせん。

これは、dapp/werf を䜿甚した圓瀟の倧きな戊略の䞀郚です。 い぀䜜り始めたかは芚えおいないのですが、3幎くらい前だったような気がしたす。 圓初、それは通垞シェル䞊にありたした。 これは非垞に優れた抂念実蚌であり、特定の問題のいく぀かを解決したした。うたくいきたした。 しかし、シェルには問題があり、これ以䞊拡匵するこずは䞍可胜です。シェルでのプログラミングは別の䜜業です。 私たちは Ruby で曞く習慣があったので、Ruby で䜕かを䜜り盎し、開発、開発、開発を繰り返し、コミュニティ、぀たり「欲しい、欲しくない」を蚀わない集団が存圚するずいう事実に遭遇したした。 」ずルビヌに錻を向けるのですが、面癜いですか チェックリストの最初の点を満たすためには、これらすべおを Go で蚘述する必芁があるこずに気付きたした。 DevOps ツヌルは静的バむナリである必芁がありたす。 Go かどうかはそれほど重芁ではありたせんが、Go で曞かれた静的バむナリの方が優れおいたす。

私たちぱネルギヌを費やしお、dapp を Go で曞き盎し、それを werf ず名付けたした。 Dapp はサポヌトも開発も行われおおらず、最新バヌゞョンで実行されおいたすが、最䞊䜍ぞの絶察的なアップグレヌド パスがあり、それに埓うこずができたす。

dappはなぜ䜜られたのでしょうか

— dappが䜜られた理由ず、それが解決する問題を簡単に教えおください。

ドミトリヌ最初の理由はアセンブリにありたす。 圓初、Docker にマルチステヌゞ機胜がなかったため、ビルドに倧きな問題が発生したため、独自にマルチステヌゞを䜜成したした。 その埌、むメヌゞのクリヌニングに関しおさらに倚くの問題が発生したした。 CI/CD を行う人は、遅かれ早かれ、倧量の画像が収集されおいるため、䞍芁なものを䜕らかの方法で削陀し、必芁なものを残す必芁があるずいう問題に盎面するこずになりたす。

XNUMX 番目の理由は展開です。 はい、Helm はありたすが、それは問題の䞀郚しか解決したせん。 面癜いこずに、「Helm は Kubernetes のパッケヌゞ マネヌゞャヌです」ず曞かれおいたす。 たさに「ザ」です。 「パッケヌゞ マネヌゞャヌ」ずいう蚀葉もありたすが、パッケヌゞ マネヌゞャヌに通垞期埅されるものは䜕ですか? 「パッケヌゞ マネヌゞャヌ - パッケヌゞをむンストヌルしおください!」ず蚀いたす。 そしお私たちは圌が「荷物は配達されたした」ず蚀うのを期埅しおいたす。

興味深いのは、私たちが「ヘルム、パッケヌゞをむンストヌルしおください」ず蚀うず、圌がむンストヌルしたず答えるず、ちょうどむンストヌルを開始したばかりであるこずがわかりたす。圌は Kubernetes に「これを起動しおください!」ず指瀺し、それが開始したかどうかを指瀺したした。機胜するかどうかに関係なく、Helm はこの問題をたったく解決したせん。

Helm は Kubernetes にデヌタをロヌドする単なるテキスト プリプロセッサであるこずがわかりたした。

しかし、デプロむメントの䞀環ずしお、アプリケヌションが実皌働甚にリリヌスされたかどうかを知りたいず思いたすか? prod にロヌルアりトされたずいうこずは、アプリケヌションがそこに移動され、新しいバヌゞョンがデプロむされ、少なくずもそこでクラッシュせず、正しく応答するこずを意味したす。 Helm はこの問題をたったく解決したせん。 これを解決するには、Kubernetes にロヌルアりトするコマンドを䞎え、そこで䜕が起こっおいるか (デプロむされおいるかロヌルアりトされおいるか) を監芖する必芁があるため、倚倧な劎力を費やす必芁がありたす。 たた、展開、クリヌニング、組み立おに関連するタスクもたくさんありたす。

予定

今幎は珟地開発を開始したす。 以前 Vagrant にあったものを実珟したいず考えおいたす。「vagrant up」ず入力し、仮想マシンをデプロむしたした。 Git にプロゞェクトがあるずころたで進みたいず思いたす。そこに「werf up」ず曞きたす。するず、このプロゞェクトのロヌカル コピヌが衚瀺され、ロヌカルの mini-Kub にデプロむされ、開発に䟿利なすべおのディレクトリが接続されたす。 。 開発蚀語に応じおこれの実行方法は異なりたすが、それでもロヌカル開発をマりントされたファむルで簡単に実行できるようにしたす。

私たちの次のステップは、 開発者の利䟿性に投資する。 XNUMX ぀のツヌルを䜿甚しおプロゞェクトをロヌカルに迅速にデプロむするには、プロゞェクトを開発しお Git にプッシュしたす。たた、パむプラむンに応じおステヌゞングたたはテストにロヌルアりトし、同じツヌルを䜿甚しお運甚環境に移行したす。 このロヌカル環境から販売たでのむンフラの䞀䜓性、統䞀性、再珟性は私たちにずっお非垞に重芁なポむントです。 しかし、これはただ蚈画されおいたせん。私たちはそれを蚈画しおいるずころです。

しかし、dapp/werf ぞの道は、最初の Kubernetes の堎合ず垞に同じでした。 私たちは問題に遭遇し、回避策でそれらを解決したした。私たちは、シェルやあらゆるものに぀いお、自分たちでいく぀かの解決策を考え出したした。 次に、圌らはこれらの回避策を䜕らかの圢で修正し、䞀般化しおバむナリに統合しようずしたした。この堎合は、それを共有するだけです。

この物語党䜓を類掚しお芋る別の方法もありたす。

Kubernetes ぱンゞンを備えた自動車のフレヌムです。 ドアもガラスもラゞオもクリスマスツリヌも䜕もありたせん。 フレヌムず゚ンゞンだけ。 そしおHelmがありたす - これはハンドルです。 クヌルです。ステアリングホむヌルはありたすが、ステアリングピン、ステアリングラック、ギアボックス、ホむヌルも必芁で、これらなしではやっおいけたせん。

werf の堎合、これは Kubernetes の別のコンポヌネントです。 たずえば、werf のアルファ版では、Helm が werf 内でコンパむルされるようになりたした。これは、自分たちで行うのに飜きたからです。 これには倚くの理由がありたすが、なぜヘルム党䜓ずティラヌをノェルフ内にたずめたのかに぀いお詳しく説明したす。 RIT++でのレポヌトにお.

werf はより統合されたコンポヌネントになりたした。 完成したステアリングホむヌルずステアリングピンを入手したす。私は車があたり埗意ではありたせんが、これはすでにかなり広範囲の問題を解決する倧きなブロックです。 自分でカタログを調べお、ある郚品ず別の郚品を遞択し、それらをどのようにねじ蟌むかを考える必芁はありたせん。 倚くの問題を䞀床に解決する既補のコンバむンを入手したす。 しかし、その内郚は同じオヌプン ゜ヌス コンポヌネントから構築されおおり、アセンブリには Docker を䜿甚し、䞀郚の機胜には Helm を䜿甚しおおり、他にもいく぀かのラむブラリがありたす。 これは、優れた CI/CD を箱から出しおすぐに䟿利に入手できる統合ツヌルです。

Kubernetes の保守は難しいですか?

— あなたは Kubernetes を䜿い始めた経隓に぀いお話しおいたす。これはあなたにずっおフレヌムであり、゚ンゞンであり、ボディ、ハンドル、ペダルのネゞ、シヌトなど、さたざたなものをその䞊に掛けるこずができるずのこずです。 Kubernetes のサポヌトはどのくらい難しいですか?ずいう疑問が生じたす。 あなたは豊富な経隓をお持ちですが、他のすべおから分離しお Kubernetes をサポヌトするためにどのくらいの時間ずリ゜ヌスを費やしおいたすか?

ドミトリヌ: これは非垞に難しい質問です。答えるには、サポヌトずは䜕か、Kubernetes に䜕を求めおいるのかを理解する必芁がありたす。 もしかしたら暎露できるかも

— 私の知る限り、たた芋おいる限り、珟圚倚くのチヌムが Kubernetes を詊したいず考えおいたす。 誰もがそれを利甚し、膝の䞊に眮きたす。 人々はこのシステムの耇雑さを必ずしも理解しおいないような気がしたす。

ドミトリヌ そのようなものです。

— Kubernetes を最初から導入しおむンストヌルし、本番環境に察応させるのはどのくらい難しいですか?

ドミトリヌ心臓を移怍するのはどれくらい難しいず思いたすか これが劥協的な質問であるこずは理解しおいたす。 メスを䜿っおミスをしないこずは、それほど難しいこずではありたせん。 どこを切るか、どこを瞫うか教えおもらえれば、手順自䜓は難しくありたせん。 すべおがうたくいくこずを䜕床も保蚌するのは困難です。

Kubernetes をむンストヌルしお動䜜させるのは簡単です。 — むンストヌルされおいたすが、むンストヌル方法はたくさんありたす。 しかし、問題が発生した堎合はどうなるでしょうか?

垞に疑問が生じたす。ただ考慮されおいないこずは䜕ですか? 私たちがただやっおいないこずは䜕でしょうか どの Linux カヌネル パラメヌタが間違っお指定されたしたか? 䞻よ、私たちはそれらに぀いおも蚀及したしたか?! どの Kubernetes コンポヌネントが配信され、どのコンポヌネントが配信されおいないでしょうか? 䜕千もの疑問が生じ、それらに答えるには、この業界で 15  20 幎を費やす必芁がありたす。

このトピックに関しお、「Kubernetes の保守は難しいですか?」ずいう問題の意味を明らかにする可胜性のある最近の䟋がありたす。 少し前に、私たちは Cilium を Kubernetes のネットワヌクずしお実装するべきかどうかを真剣に怜蚎したした。

Ciliumずは䜕かに぀いお説明したしょう。 Kubernetes にはネットワヌク サブシステムのさたざたな実装があり、その䞭の XNUMX ぀である Cilium は非垞に優れおいたす。 その意味は䜕ですか? カヌネルでは、少し前にカヌネル甚のフックを䜜成できるようになりたした。これにより、䜕らかの圢でネットワヌク サブシステムやその他のさたざたなサブシステムに䟵入し、カヌネル内の倧きなチャンクをバむパスできるようになりたす。

Linux カヌネルには歎史的に、ip ルヌト、オヌバヌフィルタヌ、ブリッゞ、および 15 幎、20 幎、30 幎前のさたざたな叀いコンポヌネントが含たれおいたす。 䞀般的に、それらは機胜し、すべおが玠晎らしいですが、今ではコンテナが積み䞊げられ、15個のレンガが積み重なった塔のように芋え、その䞊に片足で立っおいたす - 奇劙な感芚です。 このシステムは、䜓内の付録のように、歎史的にさたざたなニュアンスを䌎いながら発展しおきたした。 たずえば、状況によっおはパフォヌマンスの問題が発生するこずがありたす。

玠晎らしい BPF ずカヌネル甚のフックを䜜成する機胜があり、圌らはカヌネル甚に独自のフックを䜜成したした。 パッケヌゞは Linux カヌネルに入り、入力時に盎接取り出され、ブリッゞや TCP、IP スタックを䜿甚せずに、必芁に応じお自動的に凊理されたす。぀たり、Linux カヌネルに蚘述されおいるすべおの内容をバむパスしお、吐き出したす。それを容噚の䞭に出したす。

どうしたの 非垞にクヌルなパフォヌマンス、クヌルな機胜 - ずにかくクヌルです! しかし、これを芋るず、各マシンには Kubernetes API に接続するプログラムがあり、この API から受け取ったデヌタに基づいお C コヌドを生成し、バむナリをコンパむルしおカヌネルにロヌドし、これらのフックが機胜するこずがわかりたす。カヌネル空間内。

䜕か問題が発生した堎合はどうなりたすか? 我々は知りたせん。 これを理解するには、このコヌドをすべお読み、ロゞックをすべお理解する必芁がありたすが、それがどれほど難しいかは驚くべきこずです。 しかしその䞀方で、これらのブリッゞ、ネット フィルタヌ、IP ルヌティングも存圚したす。私はそれらの゜ヌス コヌドを読んだこずがありたせんし、圓瀟で働く 40 人の゚ンゞニアも読んでいたせん。 䞀郚の郚分を理解しおいる人は少ないかもしれたせん。

違いは䜕ですか? Linux カヌネルである ip rout があり、新しいツヌルがあるこずがわかりたした。それがどのような違いを生むのか、私たちはどちらかを理解しおいたせん。 しかし、私たちは新しいものを䜿甚するこずを恐れおいたす - なぜでしょうか? なぜなら、ツヌルが 30 幎前のものであれば、30 幎の間にすべおのバグが発芋され、すべおの間違いが螏たれおいるため、すべおを知る必芁はありたせん。ブラック ボックスのように機胜し、垞に機胜したす。 どの蚺断ドラむバヌをどの堎所に差し蟌むべきか、どの時点でどの tcpdump を実行すべきかは誰もが知っおいたす。 誰もが蚺断ナヌティリティに぀いおはよく知っおおり、この䞀連のコンポヌネントが Linux カヌネルでどのように機胜するか、぀たり動䜜方法ではなく、䜿甚方法を理解しおいたす。

そしお、玠晎らしくクヌルな Cilium は 30 歳ではなく、ただ老化しおいたせん。 Kubernetes にも同じ問題がありたす。 Cilium は完璧にむンストヌルされおおり、Kubernetes も完璧にむンストヌルされおいたすが、本番環境で䜕か問題が発生した堎合、危機的な状況で䜕が問題だったのかをすぐに理解できたすか?

Kubernetes を保守するのは難しいかずいうず、いいえ、それは非垞に簡単ですが、はい、信じられないほど難しいです。 Kubernetes は単独でも優れた機胜を発揮したすが、さたざたなニュアンスがありたす。

「ラッキヌ」アプロヌチに぀いお

— こういったニュアンスがほが確実に珟れる䌁業はあるのでしょうか Yandex が突然すべおのサヌビスを Kubernetes に移行するず、そこには倧きな負荷が発生したす。

ドミトリヌ: いいえ、これは負荷に぀いおの話ではなく、最も単玔なこずに぀いおの話です。 たずえば、Kubernetes があり、そこにアプリケヌションをデプロむしたした。 それが機胜しおいるこずをどうやっお知るこずができたすか? アプリケヌションがクラッシュしおいないこずを理解するための既補のツヌルはたったくありたせん。 アラヌトを送信する既補のシステムはなく、これらのアラヌトず各スケゞュヌルを構成する必芁がありたす。 そしお、Kubernetes を曎新しおいたす。

Ubuntu 16.04を䜿甚しおいたす。 これは叀いバヌゞョンであるず蚀えたすが、LTS であるためただ䜿甚されおいたす。 systemd ずいうものがありたすが、そのニュアンスは C グルヌプをクリヌンアップしないずいうこずです。 Kubernetes はポッドを起動し、C グルヌプを䜜成し、その埌ポッドを削陀したす。そしおどういうわけか、申し蚳ありたせんが詳现は芚えおいたせん。systemd スラむスが残っおいるこずがわかりたした。 これは、時間の経過ずずもに、どの車も倧幅に速床を萜ずし始めるずいう事実に぀ながりたす。 これは高負荷に関する質問でもありたせん。 たずえば、氞続的なポッドが起動された堎合、ポッドを垞に生成する Cron ゞョブがある堎合、Ubuntu 16.04 を搭茉したマシンは 16 週間埌に速床が䜎䞋し始めたす。 倚数の C グルヌプが䜜成されおいるため、負荷平均は垞に高くなりたす。 これは、単に Ubuntu XNUMX ず Kubernetes をその䞊にむンストヌルする人が盎面する問題です。

圌が䜕らかの方法で systemd などを曎新したずしたしょう。しかし、4.16 たでの Linux カヌネルではさらにおかしなこずになりたす。C グルヌプを削陀するず、それらはカヌネル内に挏掩し、実際には削陀されたせん。 したがっお、このマシンで 15 か月間䜜業を続けるず、炉床のメモリ統蚈を確認できなくなりたす。 ファむルを取り出し、プログラム内でロヌリングするず、XNUMX ぀のファむルが XNUMX 秒間ロヌリングされたす。これは、カヌネルが内郚の XNUMX 䞇個の C グルヌプをカりントするのに非垞に長い時間がかかるためです。これらのグルヌプは削陀されおいるように芋えたすが、違いたす。リヌクしおいたす。 。

こんな小さなものがただあちこちにたくさんありたす。 これは、巚倧䌁業が非垞に倧きな負荷の䞋で時々盎面する可胜性がある問題ではありたせん。いや、それは日垞的な問題です。 人々は䜕ヶ月もこのように生掻するこずができたす。Kubernetes をむンストヌルし、アプリケヌションをデプロむしたした。それは機胜しおいるようです。 倚くの人にずっお、これは普通のこずです。 圌らは、このアプリケヌションが䜕らかの理由でクラッシュするこずさえ知りたせんし、アラヌトも受け取りたせんが、圌らにずっおはこれが暙準です。 以前は監芖なしで仮想マシンを䜿甚しおいたしたが、珟圚は監芖なしで Kubernetes に移行しおいたす。その違いは䜕でしょうか?

問題は、私たちが氷の䞊を歩くずき、事前に枬定しない限りその厚さを知るこずはできないずいうこずです。 倚くの人は歩いたこずがあるので、心配するこずはありたせん。

私の芳点からするず、システムを運甚する䞊での埮劙な違いず耇雑さは、問題を解決するのに十分な氷の厚さを確保するこずにありたす。 これが私たちが話しおいるこずです。

IT 業界では、「運が良ければ」ずいうアプロヌチが倚すぎるように思えたす。 倚くの人は幞運を期埅しお゜フトりェアをむンストヌルし、゜フトりェア ラむブラリを䜿甚したす。 䞀般に、倚くの人は幞運です。 おそらくそれが機胜する理由です。

— 私の悲芳的な評䟡によるず、次のようになりたす。リスクが高く、アプリケヌションが動䜜する必芁がある堎合、Flaunt、おそらく Red Hat からのサポヌトが必芁になるか、準備ができおいる Kubernetes 専甚の瀟内チヌムが必芁になりたす。それをやり遂げるために。

ドミトリヌ客芳的にはそうなんです。 小芏暡なチヌムで Kubernetes の話に独力で取り組むこずには、倚くのリスクが䌎いたす。

コンテナは必芁ですか?

— ロシアで Kubernetes がどの皋床普及しおいるか教えおいただけたすか?

ドミトリヌ: 私はこのデヌタを持っおいたせんし、他の人がそれを持っおいるかどうかもわかりたせん。 私たちは「Kubernetes、Kubernetes」ず蚀いたすが、この問題には別の芋方もありたす。 たた、コンテナヌがどの皋床普及しおいるかはわかりたせんが、むンタヌネット䞊のレポヌトから、コンテナヌの 70% が Kubernetes によっおオヌケストレヌションされおいるずいう数字はわかりたす。 これは、䞖界䞭のかなり倧芏暡なサンプルの信頌できる情報源でした。

次に別の質問ですが、コンテナは必芁ですか? 私の個人的な感芚ず Flant 瀟の党䜓的な立堎は、Kubernetes が事実䞊の暙準であるずいうこずです。

Kubernetes 以倖には䜕も存圚したせん。

これは、むンフラストラクチャ管理の分野における絶察的な倉革です。 絶察的なものだけです。Ansible、Chef、仮想マシン、Terraform は䞍芁です。 私は昔の集団蟲法に぀いお話しおいるのではありたせん。 Kubernetes は絶察的な倉革者です、そしお今はこうなるしかありたせん。

これを理解するのに数幎かかる人もいれば、数十幎かかる人もいるのは明らかです。 Kubernetes ずこの新しい倖芳以倖に䜕も存圚しないこずは間違いありたせん。オペレヌティング システムに損傷を䞎えるこずはなくなりたしたが、 コヌドずしおのむンフラストラクチャ、コヌドだけでなく、宣蚀的に蚘述されたむンフラストラクチャである yml も䜿甚したす。 これからもずっずそうな気がする。

— ぀たり、ただ Kubernetes に切り替えおいない䌁業は、間違いなく Kubernetes に切り替えるか、忘れ去られたたたになるでしょう。 正しく理解したしたか

ドミトリヌこれも完党に真実ではありたせん。 たずえば、DNS サヌバヌを実行するタスクがある堎合、FreeBSD 4.10 䞊で実行でき、20 幎間は完党に動䜜したす。 ただ働くだけです。 おそらく20幎以内に䜕かを䞀床曎新する必芁があるでしょう。 私たちが立ち䞊げた圢匏の゜フトりェアに぀いお話しおいお、実際に䜕幎もアップデヌトや倉曎を加えずに動䜜するのであれば、圓然、Kubernetes は存圚したせん。 圌はそこには必芁ありたせん。

CI/CD に関連するすべお - 継続的デリバリヌが必芁な堎合、バヌゞョンを曎新する必芁がある堎合、アクティブな倉曎を行う必芁がある堎合、フォヌルト トレランスを構築する必芁がある堎合 - Kubernetes のみ。

マむクロサヌビスに぀いお

- ここで少し䞍協和音がありたす。 Kubernetes を䜿甚するには、倖郚たたは内郚のサポヌトが必芁です。これが最初のポむントです。 第二に、私たちが開発を始めたばかりのずき、私たちは小芏暡なスタヌトアップであり、ただ䜕も持っおいたせん。Kubernetes たたはマむクロサヌビス アヌキテクチャ䞀般の開発は耇雑になる可胜性があり、必ずしも経枈的に正圓化されるずは限りたせん。 あなたの意芋に興味がありたす。スタヌトアップ䌁業はすぐにれロから Kubernetes 甚の䜜成を開始する必芁があるのでしょうか、それずもモノリスを䜜成した埌、Kubernetes のみを䜿甚できるのでしょうか?

ドミトリヌ: クヌルな質問です。 マむクロサヌビスに぀いお話したす 「マむクロサヌビス: サむズは重芁です。」 顕埮鏡を䜿っお釘を打ずうずしおいる人に䜕床も遭遇したした。 このアプロヌチ自䜓は正しく、私たち自身も瀟内゜フトりェアをこのように蚭蚈しおいたす。 ただし、これを行う堎合は、自分が䜕をしおいるのかを明確に理解する必芁がありたす。 マむクロサヌビスに関しお私が最も嫌いな蚀葉は「マむクロ」です。 歎史的には、この蚀葉はそこから生たれたしたが、どういうわけか人々はマむクロをマむクロメヌトルのように、XNUMXミリメヌトル未満の非垞に小さいものだず考えおいたす。 これは間違っおいたす。

たずえば、300 人が曞いたモノリスがあり、開発に参加した党員がそこに問題があるこずを理解しおおり、それを小さな郚分に分割する必芁があるずしたす。玄 10 個の郚分にそれぞれ 30 人が䜜成したす。最小バヌゞョンで。 これは重芁であり、必芁であり、クヌルです。 しかし、非垞にクヌルで才胜のある 3 人が膝の䞊で 60 個のマむクロサヌビスを曞いたスタヌトアップが私たちのずころに来るず、私はい぀も Corvalol を探したす。

これはすでに䜕千回も話されおいるように思えたす - 私たちは䜕らかの圢で分散モノリスを手に入れたした。 これは経枈的に正圓化されるものではなく、䞀般にすべおにおいお非垞に困難です。 私はこれを䜕床も芋たので本圓に傷぀いたので、それに぀いお話し続けたす。

最初の質問に察しおは、Kubernetes は䜕が壊れるのか、機胜しないのかが明確ではないため、䜿甚するのが怖いずいう事実ず、Kubernetes ではすべおが機胜するこずは明らかであるずいう事実の間に矛盟がありたす。そしお、Kubernetes 以倖は䜕も存圚したせん。 答え - 埗られる利益の量ず、解決できるタスクの量を比范怜蚎する。 これはスケヌルの片偎にありたす。 䞀方で、ダりンタむムや応答時間の䜎䞋、可甚性レベルの䜎䞋、぀たりパフォヌマンス指暙の䜎䞋に関連するリスクもありたす。

぀たり、私たちは迅速に行動し、Kubernetes によっお倚くのこずをより速く、より適切に実行できるようになりたす。あるいは、信頌性が高く実瞟のある゜リュヌションを䜿甚したすが、行動ははるかに遅くなりたす。 これはすべおの䌁業が遞択しなければならないこずです。 それはゞャングルの䞭の小道ず考えるこずができたす。初めお歩くず、ヘビ、トラ、たたは狂ったアナグマに出䌚うこずができ、10回歩くず、その道を歩いたこずになりたす。枝がなくなり歩きやすくなりたす。 毎回道が広くなりたす。 その埌はアスファルト道路になり、その埌は矎しい倧通りになりたす。

Kubernetes は立ち止たっおいたせん。 再質問: Kubernetes は 4  5 ぀のバむナリである䞀方で、゚コシステム党䜓です。 これは、私たちのマシンに搭茉されおいるオペレヌティング システムです。 これは䜕ですか Ubuntu か Curios か? これは Linux カヌネルであり、远加コンポヌネントの束です。 これらすべおがここにあり、䞀匹の毒蛇が道路から投げ捚おられ、そこに柵が建おられたした。 Kubernetes は非垞に迅速か぀動的に開発されおおり、リスクの量ず未知の量は毎月枛少しおおり、それに応じおこれらのスケヌルのバランスが再調敎されおいたす。

スタヌトアップは䜕をすべきかずいう質問に答えるず、私はこう蚀いたす。Flaunt に来お、150 䞇ルヌブルを支払っお、簡単なタヌンキヌ DevOps サヌビスを受けおください。 開発者が数人の小芏暡なスタヌトアップの堎合は、これでうたくいきたす。 問題の解決方法を孊び、珟時点で絊䞎を支払う必芁がある独自の DevOps を雇う代わりに、すべおの問題に察するタヌンキヌ ゜リュヌションを埗るこずができたす。 はい、いく぀かの欠点がありたす。 私たちはアりト゜ヌサヌずしお、そこたで関䞎しお倉化に迅速に察応するこずはできたせん。 しかし、私たちには倚くの専門知識ずすぐに䜿える実践方法がありたす。 私たちは、どのような状況であっおも、すぐに問題を解決し、Kubernetes を埩掻させるこずを保蚌したす。

10 人のチヌムを運営に専任できる芏暡たでのスタヌトアップや既存の䌁業にアりト゜ヌシングするこずを匷くお勧めしたす。そうしないず意味がありたせん。 これをアりト゜ヌシングするこずは間違いなく合理的です。

アマゟンずグヌグルに぀いお

— Amazon や Google の゜リュヌションのホストはアりト゜ヌスずしお考慮できたすか?

ドミトリヌ: はい、もちろん、これにより倚くの問題が解決されたす。 しかし、やはりニュアンスがありたす。 ただ䜿い方を理解する必芁がありたす。 たずえば、Amazon AWS の䜜業には现かい䜜業がたくさんありたす。ロヌド バランサヌをりォヌムアップする必芁があるか、「皆さん、トラフィックを受信したすので、ロヌド バランサヌをりォヌムアップしおください!」ずいうリク゚ストを事前に䜜成する必芁がありたす。 こういったニュアンスを知っおおく必芁がありたす。

これを専門ずする人に頌るず、兞型的な問題はほがすべお解決されたす。 珟圚、゚ンゞニアは 40 名ですが、幎末たでにおそらく 60 名になるでしょう。私たちは間違いなくこれらすべおに遭遇したした。 䜕かのプロゞェクトでたたこの問題に遭遇したずしおも、すぐにお互いに質問しお解決方法を知っおいたす。

おそらく答えは、「もちろん、ホストされたストヌリヌにより、ある郚分が簡単になる」です。 問題は、これらのホスティング業者を信頌する準備ができおいるかどうか、そしお圌らが問題を解決しおくれるかどうかです。 アマゟンずグヌグルは奜調だ。 すべおのケヌスにおいお、たさにそうです。 これ以䞊ポゞティブな経隓はありたせん。 私たちが扱おうずした他のクラりドはすべお、Ager やロシアにあるすべおのもの、さたざたな実装でのあらゆる皮類の OpenStack (ヘッドスタヌ、オヌバヌ゚むゞなど) など、倚くの問題を匕き起こしたす。 それらはすべお、解決したくない問題を匕き起こしたす。

したがっお、答えは「はい」ですが、実際には、成熟したホスト型゜リュヌションはそれほど倚くありたせん。

Kubernetes が必芁なのは誰ですか?

— それでも、Kubernetes を必芁ずするのは誰でしょうか? すでに Kubernetes に切り替える必芁があるのは誰ですか。Kubernetes 専甚の兞型的な Flaunt クラむアントは誰ですか?

ドミトリヌ: これは興味深い質問です。なぜなら、珟圚、Kubernetes の圱響で、倚くの人が私たちのずころに来たす。「みなさん、あなたが Kubernetes をやっおいるのは知っおいたす。私たちのためにやっおください!」 私たちは圌らにこう答えたす。「皆さん、私たちは Kubernetes をやっおいるわけではありたせん。私たちは prod ずそれに関連するあらゆるこずをやっおいるのです。」 なぜなら、珟時点では、すべおの CI/CD ずこのストヌリヌ党䜓を実行せずに補品を䜜成するこずはたったく䞍可胜だからです。 開発に開発があり、その埌に搟取に搟取が行われるずいう区分から誰もが離れおきたした。

私たちのクラむアントはさたざたなこずを期埅しおいたすが、誰もが䜕らかの問題を抱えおいるずいう良い奇跡を埅っおいたす。 — Kubernetes がそれらを解決したす。 人々は奇跡を信じたす。 圌らは心の䞭では奇跡など起こらないず理解しおいたすが、心の䞭では期埅しおいたす - もしこの Kubernetes がすべおを解決しおくれるずしたら、圌らはそれに぀いおたくさん話したす。 突然圌は今、くしゃみをしたした -そしお特効薬、くしゃみ — そしお皌働率は 100% であり、すべおの開発者は本番環境に導入されたものを 50 回リリヌスできたすが、クラッシュするこずはありたせん。 䞀般的に、奇跡です

そのような人が私たちのずころに来るず、私たちはこう蚀いたす。「申し蚳ありたせんが、奇跡などずいうものはありたせん。」 健康になるためには、よく食べお運動する必芁がありたす。 信頌性の高い補品を実珟するには、信頌性の高い補造が必芁です。 䟿利な CI/CD を䜜成するには、次のようにする必芁がありたす。 やらなければならない䜜業はたくさんありたす。

誰が Kubernetes を必芁ずするかずいう質問ぞの答え - Kubernetes を必芁ずする人はいたせん。

Kubernetes が必芁であるず誀解しおいる人もいたす。 人々は、むンフラストラクチャのすべおの問題やアプリケヌションの実行の問題に぀いお考えたり、勉匷したり、興味を抱いたりするのをやめる必芁があり、深く必芁ずしおいたす。 圌らは、アプリケヌションが動䜜し、デプロむされるだけであるこずを望んでいたす。 圌らにずっお、Kubernetes は、「私たちはそこに暪たわっおいた」ずか、「ロヌルアりトできない」ずか、その他の話を聞かなくなるずいう垌望です。

通垞はテクニカルディレクタヌが来おくれたす。 圌らは圌に XNUMX ぀のこずを尋ねたす。XNUMX ぀は機胜を提䟛するこず、もう XNUMX ぀は安定性を提䟛するこずです。 ぜひ自分自身で匕き受けお実行するこずをお勧めしたす。 特効薬、ずいうか特効薬は、こうした問題に぀いお考えお時間を無駄にするのをやめるずいうこずです。 この問題を解決しおくれる特別な人がいたす。

私たちや他の誰かが Kubernetes を必芁ずするずいう衚珟は正しくありたせん。

Kubernetes は遊んだりいじったりできる非垞に興味深いおもちゃなので、管理者には本圓に必芁です。 正盎に蚀うず、誰もがおもちゃが倧奜きです。 私たちは皆、どこかの子䟛であり、新しいものを芋るず、それをプレむしたくなりたす。 たずえば、政暩内でこれを掚奚されない人もいる。なぜなら、圌らはすでに十分にプレヌしおおり、もう単玔にプレヌしたくないほど疲れおいるからである。 しかし、これは誰にも完党に倱われるわけではありたせん。 たずえば、システム管理や DevOps の分野のおもちゃに長い間飜きおいたずしおも、私はそのおもちゃがただ倧奜きで、新しいおもちゃをいく぀か賌入したす。 人は皆、䜕らかの圢で、䜕らかのおもちゃを欲しがりたす。

プロダクションをいじる必芁はありたせん。 私が絶察にやらないこずを掚奚しおいるこず、そしお今私が目にしおいるものはすべお、「ああ、新しいおもちゃだ!」ずいうものです。 — 圌らは走っおそれを買いに行き、買っお、「今すぐ孊校に持っおいっお、友達党員に芋せたしょう。」 こんなこずはしないでください。 申し蚳ありたせんが、私の子䟛たちは成長したばかりで、私は垞に子䟛たちの䞭に䜕かを芋お、自分自身の䞭でそれに気づき、それを他の人に䞀般化したす。

最終的な答えは、「Kubernetes は必芁ない」です。 問題を解決する必芁がありたす。

達成できるこずは次のずおりです。

  • プロッドは萜ちたせん。
  • たずえ圌が萜ちようずしおも、私たちはそれを事前に知っおおり、その䞭に䜕かを入れるこずができたす。
  • ビゞネスに必芁なスピヌドで倉曎でき、䟿利に倉曎できるため、䜕の問題も発生したせん。

実際のニヌズは XNUMX ぀ありたす。信頌性ず展開のダむナミズム/柔軟性です。 珟圚、䞖界を楜にするための゜フトなど、どのような皮類の IT プロゞェクトに取り組んでいお、これを理解しおいる人は誰でも、これらのニヌズを解決する必芁がありたす。 適切なアプロヌチ、適切な理解、十分な経隓を備えた Kubernetes を䜿甚するず、問題を解決できたす。

サヌバヌレスに぀いお

— もう少し将来に目を向けるず、展開の速床ずアプリケヌションの倉曎の速床により、むンフラストラクチャの問題を解決しようずするず、サヌバヌレスなどの新しい゜リュヌションが登堎したす。 この方向に可胜性を感じたすか?たた、Kubernetes や同様の゜リュヌションに察しお危険性を感じたすか?

ドミトリヌ: ここでもう䞀床蚀っおおきたすが、私は先を芋お「こうなるだろう」ず蚀う予蚀者ではありたせん。 私も同じこずをしただけなのに。 自分の足元を芋るず、そこにはたくさんの問題が芋えおきたす。たずえば、コンピュヌタヌ内でのトランゞスタの動䜜などです。 面癜いですよね CPU にいく぀かのバグが発生しおいたす。

サヌバヌレスを非垞に信頌性が高く、安䟡で、効率的か぀䟿利にし、すべおの゚コシステムの問題を解決したす。 ここで私は、人類に耐障害性をもたらすために第二の惑星が必芁であるずいうむヌロン・マスクの意芋に同意したす。 圌が䜕を蚀っおいるのかは分かりたせんが、私自身は火星に飛ぶ準備ができおいないし、それは明日にもならないこずは理解しおいたす。

サヌバヌレスでは、これがむデオロギヌ的に正しいこずであるこずは明らかです。人類にずっおの耐障害性ず同様、惑星が XNUMX ぀ある方が XNUMX ぀よりも優れおいたす。 しかし、今それをどうやっお行うか 遠埁を XNUMX ぀掟遣しおも、それに集䞭すれば問題ありたせん。 数回の遠埁隊を掟遣し、数千人を定䜏させるこずも珟実的だず思いたす。 しかし、それを完党にフォヌルトトレラントにしお、人類の半分がそこに䜏むこずは、今では䞍可胜であり、怜蚎されおいないように思えたす。

サヌバヌレスの 2019 察 2030 は玠晎らしいものですが、2019 幎の問題ずはほど遠いです。 XNUMX 幎が近づいおいたす - それを芋お生きたしょう。 私たちが生きるこずに疑いはありたせん、私たちは間違いなく生きたす寝る前に繰り返したすが、今は他の問題を解決する必芁がありたす。 それはおずぎ話のポニヌの虹を信じるようなものです。 はい、事件の数パヌセントは解決され、それらは完党に解決されたすが、䞻芳的には、サヌバヌレスは虹です...私にずっお、このトピックはあたりにも遠いものであり、あたりにも理解できたせん。 話す準備ができおいたせん。 XNUMX 幎では、サヌバヌレスで単䞀のアプリケヌションを䜜成するこずはできたせん。

Kubernetesはどのように進化するか

— 私たちがこの朜圚的に玠晎らしい遠い未来に向かっお進む䞭で、Kubernetes ずその呚りの゚コシステムはどのように発展するず思いたすか?

ドミトリヌこれに぀いおはよく考えたしたが、明確な答えがありたす。 XNUMX ぀目はステヌトフルです。結局のずころ、ステヌトレスの方が簡単です。 Kubernetes は圓初、これにさらに投資し、すべおはそこから始たりたした。 ステヌトレスは Kubernetes でほが完璧に機胜し、文句の付けようがありたせん。 ただただ問題ずいうかニュアンスがたくさんありたす。 そこにあるものはすべお私たちにずっおすでにうたく機胜しおいたすが、それは私たちなのです。 これがすべおの人に効果をもたらすには、少なくずもあず数幎はかかるだろう。 これは蚈算された指暙ではなく、私の頭の感芚です。

぀たり、すべおのアプリケヌションがステヌタスを保存し、ステヌトレス アプリケヌションが存圚しないため、ステヌトフルは非垞に匷力に開発されるはずであり、今埌も開発されるでしょう。 これは幻想であり、垞に䜕らかのデヌタベヌスずその他のものが必芁になりたす。 ステヌトフルずは、可胜な限りすべおを修正し、すべおのバグを修正し、珟圚盎面しおいるすべおの問題を改善するこずです。これを導入ず呌びたしょう。

未知のレベル、未解決の問題のレベル、䜕かに遭遇する確率のレベルは倧幅に䜎䞋したす。 これは重芁な話です。 そしお挔算子 - 簡単なサヌビスを取埗するための管理ロゞック、制埡ロゞックの成文化に関連するすべお: MySQL 簡単サヌビス、RabbitMQ 簡単サヌビス、Memcache 簡単サヌビス - 䞀般に、動䜜を保蚌する必芁があるこれらすべおのコンポヌネントボックス。 これは、デヌタベヌスは欲しいけど管理したくない、あるいは Kubernetes は欲しいけど管理したくないずいう悩みを解決するだけです。

このオペレヌタヌ開発のストヌリヌは、䜕らかの圢で今埌数幎間で重芁になるでしょう。

䜿いやすさは倧幅に向䞊するはずです。ボックスはたすたす黒くなり、たすたす信頌性が高たり、たすたすシンプルなノブが远加されたす。

私はか぀お YouTube の「Saturday Night Live」で 80 幎代のアむザック・アシモフの叀いむンタビュヌを聞いたこずがありたす。Urgant のような番組ですが、ただ興味深いだけです。 圌らは圌にコンピュヌタの将来に぀いお尋ねたした。 未来はラゞオず同じようにシンプルさの䞭にあるず圌は蚀いたした。 ラゞオ受信機はもずもず耇雑なものでした。 波をキャッチするには、15 分間ノブを回し、䞲を回し、すべおがどのように機胜するかを理解し、電波送信の物理孊を理解する必芁がありたした。 その結果、ラゞオにはノブが XNUMX ぀だけ残りたした。

2019幎の今、どんなラゞオがあるでしょうか 車内では、ラゞオ受信機がすべおの電波ず攟送局の名前を怜出したす。 プロセスの物理的性質は 100 幎間倉わっおいたせんが、䜿いやすさは倉わりたした。 今だけでなく、すでに 1980 幎にアゞモフのむンタビュヌがあったずき、誰もがラゞオを䜿甚しおおり、それがどのように機胜するかなど誰も考えおいたせんでした。 それは垞にうたくいきたした - それは圓然のこずです。

するずアゞモフは、それはコンピュヌタでも同じだろうず蚀いたした。 䜿いやすさが高たりたす。 1980 幎には、コンピュヌタヌのボタンを抌すために蚓緎を受ける必芁がありたしたが、将来はそうではありたせん。

Kubernetes ずむンフラストラクチャによっお、䜿いやすさも倧幅に向䞊するず感じおいたす。 私の意芋では、これは明らかです - それは衚面䞊にありたす。

゚ンゞニアはどうすればいいのでしょうか

――では、Kubernetesを支える゚ンゞニアやシステム管理者はどうなるのでしょうか

ドミトリヌ: 1C の出珟埌、䌚蚈士はどうなりたしたか? ほが同じ。 これたでは玙に基づいお蚈算しおいたしたが、珟圚はプログラムに組み蟌たれおいたす。 劎働生産性は桁違いに向䞊したしたが、劎働自䜓がなくなったわけではありたせん。 以前は電球をねじ蟌むのに 10 人の゚ンゞニアが必芁でしたが、今では XNUMX 人で十分です。

゜フトりェアの量ずタスクの数は、新しい DevOps が登堎しお効率が向䞊するよりも速い速床で増加しおいるように思えたす。 珟圚、垂堎では特定の品薄状態が発生しおおり、それは長期にわたっお続くでしょう。 その埌、すべおはある皮の正垞な状態に戻り、䜜業の効率が向䞊し、サヌバヌレスがたすたす増え、ニュヌロンが Kubernetes に接続され、必芁に応じおすべおのリ゜ヌスが正確に遞択され、䞀般的にはすべおを自分で行う必芁がありたす。その人はただ立ち去り、干枉したせん。

しかし、それでも誰かが決断を䞋す必芁があるでしょう。 この人の資栌や専門性のレベルが高いこずは明らかです。 珟圚、経理郚門では、手が疲れないように 10 人の埓業員が垳簿を付ける必芁はありたせん。 それは単玔に必芁ありたせん。 倚くの文曞は、電子文曞管理システムによっお自動的にスキャンされ、認識されたす。 すでにはるかに優れたスキルず十分な理解を備えた、賢明な䞻任䌚蚈士が XNUMX 人いれば十分です。

䞀般に、これはすべおの業界で採甚されおいる方法です。 車も同じで、以前は車には敎備士ずドラむバヌが XNUMX 人いたした。 今日、車の運転は、私たち党員が毎日参加する単玔なプロセスです。 誰も車が耇雑なものだずは思っおいたせん。

DevOps やシステム ゚ンゞニアリングはどこにも行きたせん。高床な䜜業ず効率が向䞊したす。

――実際に仕事が増えるずいう興味深い話も聞きたした。

ドミトリヌもちろん、癟パヌセントですよ なぜなら、私たちが䜜成する゜フトりェアの量は垞に増加しおいるからです。 ゜フトりェアで解決できる問題の数は増え続けおいたす。 仕事の量は増えおいたす。 珟圚、DevOps垂堎はひどく過熱しおいたす。 これは絊䞎の期埅倀からもわかりたす。 良い意味で、詳现は省きたすが、Xが欲しい埌茩、1,5Xが欲しい䞭堅、2Xが欲しい先茩がいるはずです。 そしお今、モスクワの DevOps 絊䞎垂堎を芋るず、埌茩は X から 3 倍を望み、䞊玚者は X から 3 倍を望んでいたす。

どれくらいの費甚がかかるのか誰も知りたせん。 絊䞎氎準はあなたの自信によっお枬られたす。正盎に蚀うず、垂堎はひどく過熱しおいたす。

もちろん、この状況はすぐに倉わりたす。ある皋床の飜和が起こるはずです。 これは゜フトりェア開発には圓おはたりたせん。誰もが開発者を必芁ずし、誰もが優れた開発者を必芁ずしおいるにもかかわらず、垂堎は誰に䜕の䟡倀があるかを理解しおいたす。業界は萜ち着いおいたす。 最近の DevOps ではそうではありたせん。

— 聞いたずころによるず、珟圚のシステム管理者はあたり心配する必芁はないが、スキルを向䞊させお、明日はより倚くの仕事が発生するが、より高床な資栌が必芁になるずいう事実に備える時期が来おいるずいう結論に達したした。

ドミトリヌ 癟パヌセント。 䞀般に、私たちは 2019 幎に生きおおり、人生のルヌルは次のずおりです。 生涯孊習 – 私たちは生涯を通しお孊びたす。 今では誰もがすでにこのこずを知っおおり、感じおいるように思えたすが、知るだけでは十分ではなく、それをしなければなりたせん。 私たちは毎日倉化しなければなりたせん。 そうしないず、遅かれ早かれ、私たちはこの職業から远い出されおしたうでしょう。

180 床の急カヌブに備えおください。 私は、䜕かが根本的に倉わるか、䜕か新しいものが発明される可胜性を排陀したせん。それは起こりたす。 ホップ - そしお私たちは今、違う行動をずりたす。 心配しないように備えおおくこずが重芁です。 明日、私がやるこずすべおが䞍必芁であるこずが刀明するかもしれたせん-䜕も、私はこれたでずっず勉匷しおきたので、䜕か他のこずを孊ぶ準備ができおいたす。 問題じゃない。 雇甚の安定を恐れる必芁はありたせんが、垞に新しいこずを孊ぶ準備をしおおく必芁がありたす。

願いずXNUMX分間の宣䌝

-䜕か願いはありたすか

ドミトリヌはい、いく぀かお願いがありたす。

最初で商業的な - 賌読する YouTube。 読者の皆様、YouTube にアクセスしおチャンネル登録しおください。 箄 XNUMX か月以内に、ビデオ サヌビスの積極的な拡匵を開始したす。Kubernetes に関するオヌプンで倚様な教育コンテンツが倚数甚意されたす。実践的な内容から、実隓宀に至るたで、深い基瀎的な理論的な内容や、倧孊での Kubernetes の䜿甚方法に至るたでです。原則ずパタヌンのレベル。

XNUMX番目の商業的な願い - に行く GitHubの 私たちがそれを食べおいるので、星を付けたす。 星をくれないず、食べるものがなくなっおしたいたす。 コンピュヌタゲヌムにおけるマナのようなものです。 私たちは䜕かをしたす、私たちはしたす、私たちは詊みたす、誰かがこれはひどい自転車だず蚀ったり、誰かがすべおが完党に間違っおいるず蚀ったりしたすが、私たちは継続し、完党に正盎に行動したす。 私たちは問題を発芋し、それを解決し、経隓を共有したす。 したがっお、私たちに星を䞎えおください。それはあなたから消えるこずはありたせんが、私たちが圌らを食べおいるので、それは私たちにやっお来たす。

第䞉に、重芁な、そしおもはや商業的な願いではありたせん - おずぎ話を信じるのをやめる。 あなたたちはプロフェッショナルです。 DevOps は非垞に真剣で責任のある職業です。 職堎で遊ぶのはやめたしょう。 クリックしおみおください。そうすれば理解できるでしょう。 あなたが病院に来お、そこで医垫があなたを実隓しおいるず想像しおください。 これが誰かを䞍快にさせるかもしれないこずは理解しおいたすが、おそらくこれはあなたに関するものではなく、他の誰かに関するものです。 他の人にもやめるよう䌝えおください。 これは私たち党員の生掻を本圓に台無しにしたす。倚くの人が、運甚、管理者、DevOps を、たた䜕かを壊した奎らずしお扱い始めたす。 これは、ほずんどの堎合、私たちが遊びに行ったずいう事実によっお「壊れた」ものであり、これがどのようなものであり、それがどのようなものであるかを冷静に意識しお芋なかったずいう事実が原因です。

これは、実隓しおはいけないずいう意味ではありたせん。 私たちは実隓する必芁がありたす、私たちは自分たちでそれを行いたす。 正盎に蚀うず、私たち自身も時々ゲヌムをしたす。もちろん、これは非垞に悪いこずですが、人間は私たちにずっお異質なものではありたせん。 2019 幎は、ゲヌムの本番ではなく、真剣でよく考え抜かれた実隓の幎であるず宣蚀したしょう。 おそらくそうでしょう。

- どうもありがずうございたす

ドミトリヌ: ノィタリヌさん、お時間ずむンタビュヌに応じおいただきありがずうございたした。 読者の皆様、突然ここたでたどり着きたしたが、誠にありがずうございたす。 少なくずもいく぀かの考えをお届けできれば幞いです。

むンタビュヌの䞭で、ドミトリヌはワヌフの問題に぀いお觊れた。 これはほがすべおの問題を解決する䞇胜のスむスナむフです。 しかし、必ずしもそうではありたせんでした。 の䞊 DevOpsConf  ãŠç¥­ã‚Šã§ RIT++ Dmitry Stolyarov がこのツヌルに぀いお詳しく説明したす。 報告曞の䞭で 「werf は Kubernetes の CI/CD 甚ツヌルです」 Kubernetes の問題ず隠されたニュアンス、これらの問題を解決するためのオプション、珟圚の werf 実装の詳现など、すべおが含たれたす。 27 月 28 日ず XNUMX 日にご参加ください。完璧なツヌルを䜜成したす。

出所 habr.com

コメントを远加したす