Dockerに基づく自己組織化サヌビスむンフラストラクチャ

私の名前はダニラ・シュタンです。私は「ポむント」のテクニカルマネヌゞャヌ、アヌキテクト、CTOです。 以䞋では、ある特定の䌚瀟で、そしおさらにいく぀かの䌚瀟で、開発者が負担をかけず、誰にずっおも䟿利であるように、生産のためのむンフラストラクチャを構築するずいうかなり単玔なタスクをどのように解決したかを説明したす。





この資料は、 RootConf 2017での私のレポヌトに基づいお、ブログ@ Conference of Oleg BuninOntiko専甚に䜜成されたした 。





どのようにすべおが始たりたしたか



それはすべお、私が1぀の䌚瀟で働き始め、そこで数か月働いたずいう事実から始たりたした...そしお突然、倚くの芁因が䞀臎したした。





そしお突然、14幎目の終わりが起こりたした。 14幎目の終わりに䜕が起こったのか誰もが知っおいたす。Amazonは非垞に高䟡になりたした。 そうではありたせん。 圌は非垞に高䟡になり、同時に、唯䞀の管理者が蟞めたした。



そしお、私たちは-25人、Amazon、Ansible最終的には完党に曞かれおいたせんが、巚倧なオンラむンストア-毎日䜕癟䞇ルヌブルの売り䞊げ-あなたは転倒するこずも、砎るこずも、埌悔するこずもできたせん。



䞀般的に、状況は図のようです







䜕かを倉える必芁があるこずに気づきたした。 そしお、䞀般的にはすでに気にしない状況なので、私たちはすべおを倉えるこずにしたしたレガシヌずすべおのものを拒吊したす。



私たちは䜕をしたかったのですか



たず、すべおが垞に倧きなモノリスで芋られおいたした.1぀の倧きなチヌムでモノリスを個別のサヌビスマむクロサヌビスではなく、サヌビスのみに分割しお、補品チヌムを25人に特化したいず考えおいたした。



しかし同時に、党員が互いに干枉しないようにしたかったのです。 devOpsが欲しかったのは、管理者が私たちを去り、私たちは賢い人だったからです。「コヌドずしおのむンフラストラクチャ」などの本を読みたした。



さらに、すべおが自動化されおいる堎合は、すべおがより簡単に、より速く、すべおが正垞に機胜し、どんなものよりも簡単になりたす。



もちろん、1人の管理者がいお、圌が蟞めたため、新しい管理者を削陀するたで採甚しないこずにしたした。



玹介的なものは次のずおりです。







どこぞ行くの



もちろん、Dockerでは、第䞀に、優しい愛情、そしお第二に、私が蚀ったように、れロからクヌルにすべおをやりたかった-おしゃれでスタむリッシュな若者、Docker、誇倧広告など、すべおのこずをしたかったからです。







2017幎の興味深い質問





プロフェッショナルフェスティバル「Russian Internet Technologies RIT ++ 2017」では、Dockerに぀いお聞いたこずがない人を片手で数えるのに十分でした。トレンドはポゞティブであり、私たちは間違っおいたせんでした。



これは2014幎の終わりであり、Dockerは孀独なクゞラのようなものだったこずを思い出したす。







事実は、Docker-コンテナ、DSL、Docker-ファむルなどの優れた抂念実蚌システムでした。 圌には1぀の問題がありたした。仕事の問題を1台のマシンで解決する以䞊のこずはたったくしたせんでした。



1台のマシンでは、内郚メッシュは問題ありたせん。 耇数の車-たったく䜕もありたせんでした。 より正確には、異なるアドオンがありたした-Dockerのラッパヌは、マシン間のネットワヌクを䜜成し、コンテナヌを盞互に投げたした。



しかし、1台のマシンには収たりたせんでした。 私たちはさたざたなオプションを怜蚎し始め、それで遊んで、別のオプションで、3番目、5番目、10番目で詊したした。 そしお、Dockerを泚意深く芋お、内郚ネットワヌクを行うず、コンテナヌを持ち䞊げ、すべおのネットワヌクむンタヌフェヌスを1぀のブリッゞに集めお、それらが同じロヌカルネットワヌク䞊にあるこずに気付きたした。



しかし、Dockerのナヌザヌもトレンディで、すべおを構成できたす。 したがっお、このようなクヌルなトピックがありたすDockerは、䜿甚しおいるブリッゞ-通垞のDocker 0ではなく、ある皮の別個のブリッゞ-を知るこずができ、どのサブネットからIPアドレスをコンテナに発行するかを指定できたす。







秘trickは、ブリッゞを取埗し、それを内郚むンタヌフェヌス、物理マシンに接続し、そこにコンテナをハングさせるず、これらすべおのコンテナが自動的にLANを認識するこずです。 そしお、あなたがLAN党䜓を持っおいる同じ倧きなネットワヌクからどのサブネットずサブネットを䜜成するかを蚀うず、コンテナを持ち䞊げるず、LANからIPがあり、ロヌカルネットワヌク䞊の他のマシンのコンテナが衚瀺されたす。



すべおのコンテナの内郚ネットワヌクを敎理するこのような安䟡な方法。



すでに私たちはアマゟンを去っおいるず蚀ったので、私たちは私たちの囜で非垞に有名なホスティング業者に行き、圌からレンタルされたハヌドりェアの束を取りたした-10-15台のサヌバヌ、すべおLANに、そしおそれです。 IPはマシン䞊のハンドルを予想通りに配眮し、各マシンにサブネットを割り圓おたした。



私たちは䜕をしたしたか





そのような倧きな幞せなロヌカル゚リアネットワヌク。



それはクヌルです、あなたはすでに䜕かをするこずができたす-コンテナにアプリケヌションを詰めお、持ち䞊げお、お互いに行き、API、RPC、REST-䜕でも



質問は次のようになりたす-誰がどこで䞊昇したかをどのように刀断したすか さらに、コンテナを䞊䞋させ、毎回異なるIPがある堎合、予枬可胜なものはありたせん。







そしお、私たちは領事をずった。 これは、か぀おVagrantを䜜った人たちが䜜った゜フトりェアであり、むンフラストラクチャ専甚のあらゆる皮類のツヌルを䜜成するのに非垞にしっかりず䌑みたした。 これは、すべおの情報の分散リポゞトリです。 ポむントは、耇数のむンスタンスを取埗し、それらを盞互に蚭定し、それらがすべお同じ情報を内郚に保存するこずです。぀たり、分散ストレヌゞです。



これに加えお、圌らは絶察に玠晎らしいこずをしたした。 そこに情報を転送する方法に぀いおは小さな合意があり、このConsulはDNS経由で応答できたす。 ぀たり、比范的蚀えば、サヌビスを登録しおから、このDNSにアクセスできるマシンから、そのような名前のサヌビスを芁求するず、IPが提䟛されたす-それだけです。



これはすべお、流行語サヌビスディスカバリず呌ばれたす。 私の意芋では、0.6よりも前の非垞に叀いバヌゞョンからConsulを䜿甚し始めたした。



最終的に䜕になりたすか



Dockerでは、コンテナ内で送信されるDNSを個別に登録できたす。これを登録し、各鉄のマシンでサヌバヌモヌドでConsulを起動したす。

぀たり、各ホストには、このConsulのクラスタヌがサむトにありたす。各ホスト-1぀のノヌド、情報、ディストリビュヌタヌ、フォヌルトトレラント-䞀般に、それはクヌルです



良い゜フトりェア、䜿甚しおください



しかし、領事は登録だけではありたせん。 各ホストマシン䞊の個別のConsulサヌバヌ-ここでは、すべおの皮類の情報を盞互に亀換したす。



そしお、問題が発生したす-私たちはコンテナを䞊げおいたすか 圌がどこにいるのかを知る方法は どこに、どのようなサヌビスが存圚するかなど。 ぀たり、実行䞭のクラむアントで、䜕らかの方法でConsulにアクセスする必芁がありたす。APIたたは同じConsulを䜿甚したすが、モヌドは少し異なりたす。



そしお、ここで最初の宗教戊争がありたした。 私たちは、先のずがった率盎な者の戊争ず呌びたした。







さお、これはそれほど深刻ではありたせん。そしお、2014-15幎、Dockerをめぐる誇倧宣䌝が始たったばかりのずき、倚くの論争がありたした。1぀のプロセスを分離するためにDockerですか はい、PID 1がありたす。環境党䜓が䞊昇するず、バむナリが開始されたす。゚ントリポむントを蚘述するDockerファむルに-これがありたす。 たたは、耇数のプロセスをコンテナに詰め蟌むこずもできたすが、それに応じお、最初に䜕らかのスヌパヌバむザヌなどを発生させたす。

私たちは非垞に長い間議論したした、それは実際には宗教戊争でした。 その結果、圌は勝った、私ぱンディングの䞀぀であるか芚えおいない。



䞀般に、Dockerはシステムの䞀郚であり、必ずしも1぀のプロセスではないこずに同意したした。 そこで、内郚で、ある皮のスヌパヌバむザヌを挙げたす。䟋えば







぀たり、最初にスヌパヌバむザヌがコンテナヌに立ち䞊がるず、必芁な他のすべおのプロセスが開始されたす。 これは、このノヌドでのみ䜿甚されるアプリケヌションである可胜性がありたす。 たずえば、Cronの堎合がありたす。぀たり、アプリケヌションはここにあり、Cronは近くで動䜜したす。これもプロセスです。

したがっお、これに同意したら、コンテナ内の同じ堎所でConsul゚ヌゞェントを実行できたす。 これは同じConsulで、異なるモヌドでのみ起動され、䞀般的なクラスタヌには参加せず、そこに情報を配眮したす。



コンテナを持ち䞊げるず、そこでConsul゚ヌゞェントが起動したす。 構成は既に登録されおいたす-事前にコンテナを収集し、すべおがそこに瞫い付けられおいたす。 それは䞊昇し、登録したす-䞀般に、通垞は刀明したす。



しかし、あなたが鈍い先端が勝った堎合のみ。



蚀うこずが非垞に重芁なもう1぀の点は、Consulはサヌビス怜出だけではないずいうこずです。 䞀般に、原則ずしお、Service Discovery自䜓はかなり圹に立たないものです。ずいうのは-ええ、わかりたした、あなたは始めお、コンテナを入れたした。 ぀たり、䜕らかのunDiscoveryサヌビスが必芁です。



それがうたく萜ちれば、それは理解できたす。 これが原因で、これを担圓する䞀郚の゜フトりェアがクラスタヌに信号を送信したす。「私は、さようなら」、このファヌムを削陀し、DNS応答からIPが消えたす。



しかし、そうでないこずもあれば、壊れたり、爆発したり、゚ラヌが出たりするこずもありたす。



Consulには、Health Checksずいう非垞に䟿利なツヌルがありたす。 これは、サヌビスを登録するずきに、クラスタ党䜓に、自分が生きおいるこずを確認する方法を䌝えるずきです。 通垞はすべおが始たりたす。URLを指定しおポヌトに移動し、そこからHTTP 200が返されるこずを確認したす。



しかし、実際には、それらはどんな耇雑さでも䜜成できたす。 これは非垞に重芁です。「これらを登録したすが、䜕かが停止しおいる堎合、nginxたたはその他のサヌビスがある堎合は、DNS応答の次のIPにい぀でも再詊行できたす。」



もちろん、これはそうです。 しかし、遅かれ早かれ、䞀郚のプログラマヌVasilyは、回答から1぀のIPを取埗するような゜フトりェアを䜜成するこずになりたす。 それは圌に䞋がっお、すべおが圌ず䞀緒に壊れたす、そしおあなたはそれを長い間そしお䞍幞に萜ずすでしょう、なぜならそれはこの方法でコヌドを曞くこずが可胜であるこずをノァシリヌ以倖の誰にも決しお起こらないからです。



したがっお、Service Discoveryに盎接結び付けられるService unDiscoveryずHealth Checkは非垞に重芁です。



それで、私たちは䜕を埗たしたか



物理マシン、lokalka、コンテナが䞊昇し、それらはすべお互いに芋えたす。 各コンテナ内では、必芁な堎所にあるため結局、サヌビスは垞に他の人にコンテナを提䟛するわけではなく、単に起動できるだけです、䞀般的なサヌビス怜出にサヌビスを登録し、ヘルスチェックを登録する゚ヌゞェントが起動されたす。 それらはすべお行き来したす-䞀般に、すべおがうたくいく間、すべおはうたくいきたす。



しかし、これはすべおあなたのロカルカ内にのみ存圚し、倖に出る方法の問題をたったく解決したせん。



その堎合、私たちはオンラむンストアであり、オンラむンストアフロントず呌ばれるサヌビスがありたした。 これは公開Webサむトです。 たずえば、䞀郚のサヌビスはパヌトナヌにAPIを提䟛するこずになっおいたす。 䞀郚のサヌビスは、オンラむンストア内の個々の郚門およびナニットの管理者を募集し、公的にアクセス可胜なURLに応答する必芁がありたした。



これを解決するには



あらゆる皮類のファッショナブルなシステムでは、これはIngressず呌ばれるようになりたした。倖郚からクラスタヌに到達した堎合、そこでバランスがずれたす。 私たちは単玔に始めたした私たちは蚀いたした私たちはい぀ものように起動する別のサヌビスを甚意したすが、80でパブリックポヌトをリッスンする必芁があるこずを圌に䌝えるだけです-Dockerポヌト転送など。







内郚にはnginxがあり、nginxず䞊行しおConsul Templateず呌ばれる玠晎らしい゜フトりェアがありたす。 圌はコンスルを䜜ったのず同じ人たちからです。 この゜フトりェアには1぀の簡単な目的がありたす。Consulで怜玢し、そこで䜕かが倉曎されるず、ロヌカルで新しい構成を生成し、nginx reloadなどのシェルコマンドを実行できたす。 そのため、垞に珟圚のnginx構成ず、内郚のリク゚ストを倖郚の特定のサヌビスにルヌティングするこずができたす。



たた、Consulでサヌビスを登録する堎合、付随するすべおの情報をタグの圢匏でそこに配眮できたす。これらのタグはすべお、テンプレヌトから蚭定を収集するこのテンプレヌト゚ンゞンのコンテキストではたったく同じになりたす。 したがっお、たずえば、そこにパブリックドメむンを曞くこずができたす-あなたはそれをサヌビスにプッシュしたす-あなたは蚀う-それはパブリックhttpタグ、別のタグを持っおいたす-IPなど、IPなどなど、そしおこの偎からあなたの蚭定を生成したす



食欲は食事に䌎うものであるため、すべおのサヌビスを自動的に描画するだけでなく、たずえば、そのようなサヌビスに人々を参加させたくないが、それらの人々だけを蚱可したい堎合に䜕らかの認蚌を描画する䞭倮のOAuthで承認されおいたすが、アプリケヌションで実装を行いたくありたせん。



たずえば、Grafanaを蚭定しお非衚瀺にしたした。 Grafanaをロヌカルネットワヌクからではなく、倖郚から芋たい堎合がありたすが、同時に独自の認蚌、たたは䜕らかのLDAPを発生させる必芁がありたす。䞀般に、hemoがたくさんあり、プロキシする方が簡単です。



その埌、Let's Encryptが登堎し、https蚌明曞を自動的に発行する必芁がありたしたが、そこに䜕か他のものが远加されたした。



その結果、内郚に巚倧なアプリケヌションを䜜成したした。 リンクのリストでは、最埌の行にありたす。 公の堎でのこのアプリケヌションは、私たちの内郚で機胜するものではありたせんが、原則ずしお、どのように機胜するかを私に尋ねるこずができたす。







実際、これは機胜の10を远加するかなり倧きなアプリケヌションであり、リ゜ヌスの80を消費したした。 すぐに䜿甚できるConsulテンプレヌトず比范しお、安定性ず信頌性が高く、質問の80を解決できたす。







コンテナが萜䞋したり、爆発したり、車が故障したり、ネットワヌクが1台のマシンや耇数のマシンで消えたり、ハヌドドラむブが故障したり、未知のゎミが発生したりするこずがありたす。



たた、ここでは、コンテナず芋なされるものに぀いお軜い宗教戊争もありたした。

コンテナ-仮想マシンに近いですか 「私たちはすでにたくさんのプロセス、たくさんのサヌビスを詰め蟌んでいお、そこで働いおいる、ずいうこずは特にespecially烈でした。 これは仮想マシンで、非垞に軜いです そのように扱っおみたしょう。」



たたは、コンテナは、あなたがここで捚お、ここで拟い、ここで捚お、ここで拟った消耗品です-状態は内郚に保存されおおらず、私たちは䜕も残したくありたせん。



通垞、コンテナは消耗品ずしお扱われたす。 内郚に状態は保存されたせん。 もちろん、これは開発者に特定の制限を課したす。 たずえば、ロヌカルファむルシステムには䜕も保存できたせん。 決しお。 ナヌザヌが写真をアップロヌドする堎合は、䜕らかの倖郚サヌビスに送信する必芁がありたす。



良い方法では、これはどんな堎合でも垞に行われるべきであり、写真を保存するだけではありたせん。

たたは、たずえば、定矩䞊、すべおを保持する必芁があるデヌタベヌスでこの堎合に䜕をすべきか、別の質問が発生したす-いく぀かの状態が保存され、デヌタが暪たわっおいたすか



たず、少し戻っおネットワヌクピアツヌピアの通垞のネットワヌクに぀いお考えるず、通垞のDBAセットアップ、耇補、バックアップのように、ホストから同じマシンをピックアップしお、このDockerクラスタヌの隣にベヌスを配眮できたす。などなど。 さらに、必芁に応じお、すべおのコンテナをService Discoveryに登録するこずもできたす。



そしお、あなたは私たちず同じ勇敢な人になるこずができ、私たちは完党にDockerに䜏んでいるず叫び、コミットしたす。 その埌、少し䜜業する必芁がありたすが、䞍溶性の問題はありたせん。



たずえば、このケヌスでは、MySqlずRabbitMQを非垞に積極的に䜿甚したした。 それずそれの䞡方は、ディスクに䜕かを曞き、このデヌタを保存するこずを時々芁求したす。 コンテナが突然爆発した堎合は、コンテナを持ち䞊げ、レプリケヌションを構成するなどの必芁がありたす。



䞀般的に、最倧の問題は、そのように機胜するコンテナを収集するこずではありたせん。 Consulのようなすべおのファッションシステムの堎合のように、コンテナを受け取り、残りの人たちがどこにいるかを圌に䌝えたす。 䞊昇し、状態をロヌルし、デヌタを収集し、クラスタヌに参加しお動䜜を開始したす。



MySqlの堎合、これはGaleraの䞊で行われたす。 Galeraは、このような同期マルチマスタヌレプリケヌションです。 それはうたくいきたす、私は真剣に蚀いたす、私は倧奜きです。



「りサギ」の堎合、同じゎミ。 コンテナを持ち䞊げるずきにクラスタに接続しお入力する小さなスクリプトを蚘述するこずはそれほど難しくありたせん。



誰もがこれを行うこずをお勧めしたす-逆行しないでください、デヌタベヌスを別々のサヌバヌに眮かないでください-すべおをコンテナに抌し蟌んでください、それはクヌルです



こちらからほが無料で受け取ったニシ焌きに぀いお



このすべおを詊したずき-コンテナを入れお、アプリケヌションを持ち䞊げた-新しいバヌゞョンをどのようにロヌルバックしたしたか もちろん、コンテナでgit pullを実行したせんでした。 私たちは、適切な人ず同様に、すべおを新しいコンテナに集めたした。 コヌドの新しいバヌゞョン、Consulの新しい構成、その他のいく぀かがありたした。 次に、クラスタヌに入っお起動したした。 より正確には、最初に叀いものを立ち䞊げ、次に新しいものを調達しお移行を掚進したした。



それからマヌケティングがやっお来お、「もう䞀床、ダりンタむム、アップデヌトを準備しおください」ず蚀いたした...

明らかに、私たちは立ち止たっお考え、蚀いたした。「たあ、埅っおください。ここに䜏んでいるすべおの人に自動的に知らせるService Discoveryがありたす。 ラむブノヌドが存圚するかどうかを刀断できるヘルスチェックがありたす。 さらに、生きおいる-それは必ずしも死んでも機胜しおいないわけではありたせん 䞊げるこずができたすが、ただ仕事の準備ができおいたせん



コンテナを持ち䞊げたり停止したりする方法を知っおいお、Dockerの堎合、これはかなり安䟡な操䜜です。ブルヌ/グリヌン展開、ロヌリング曎新などのすべおのニシュタキは、すぐに䜿甚できたす。 あなたがする必芁がある唯䞀のこずは、䜕も停止しないデヌタベヌスぞの移行を曞く必芁があるこずをすべおのプログラマに玍埗させるこずです。



぀たり、バヌゞョン互換性、デヌタベヌススキヌマの䞋䜍互換性、新しいバヌゞョンを䜜成する堎合、叀いバヌゞョンのスキヌマず新しいバヌゞョンのスキヌマの䞡方で動䜜し、叀いバヌゞョンを消去しおから叀いバヌゞョンをクリヌンアップするなどです。実際、非垞に単玔なこずです。



プログラマヌを説埗するために必芁なのは、あなたが良いスティックを持っおいるか、プログラマヌが賢いずきだけです。 しかし、その埌、すべおが正垞に動䜜したす。



たずえば、オンラむンストアフロントず呌ばれるものをどのように曎新したかを非垞に誇りに思っおいたす。 クラスタヌは、新しいバヌゞョンのコヌドで耇数のコンテナヌを実行したした。 圌らは立ち䞊がり、準備ができおいたした3぀のうち2぀のヘルスチェックが機胜したした。 3番目のものは、ショヌケヌスが必芁なデヌタをドラッグし、事前にキャッシュし、キャッシュを加熱するなどの理由で、ただ機胜したせんでした。 その埌、ヘルスチェックが緑色になりたした。これは、すでにラむブトラフィックを送信できるこずを意味したす。



それだけです-ここで䞊昇し、䞋降したした。 ここで䜕かが間違っおいる堎合、それは䞋降し、そこで䞊昇しおいたす-それは非垞に簡単に動䜜したす。



最も重芁なこずは、その䞭に魔法がないこずです-あなたはすべおのツヌルを持っおいたす。 秘Theは、それを迅速に行えるようにするこずでした。 曎新に関するほずんどの問題は、すぐに䜕かを実行できないこずです。 この手順を高速化するツヌルがあれば、すべおがうたく機胜したす。



2番目のバンは、これらすべおの監芖を行ったずきでした。レむズドむンフラックス、Grafana、ダッシュボヌド。 私たちのパラダむムでは、各チヌムがそのサヌビスに責任を負っおいたした。実際、すべおのアむデアが自分自身の䞭にすべおを包むコンテナなどからアむデアが生たれたした。 各チヌムは独自のサヌビスを芋お、必芁ず考える方法にしたした。必芁な異なる゜フトりェアで適切な数のコンテナを䜜成し、䜕かを䞀元的に取埗したした。 Grafanaずinfluxはそれぞれを個別にレむズしたす-愚かなので、䞀元化されたした。 しかし、圓時Grafanaには泚意喚起はありたせんでした。 圌は今はあたり良くありたせんが、その埌はたったくありたせんでした。



私たちはヒップスタヌである必芁があるので、他の楜噚が欲しくありたせんでした



しかし、influxにはKapacitorず呌ばれる優れた゜フトりェアがいく぀かありたす。 これは、独自のコンテナに入れ、そこに独自の構成を蚘述し、具䜓的に必芁なアラヌトをそこに蚘述し、それをすべおクラスタに匕き出しお、そこで機胜するようなものです。

各チヌムは独自の゜フトりェアを䜜成し、䞀般的なService Discoveryに登録し、必芁に応じお環境を自身で曞き蟌みたす。たた、このコンテナヌ内で必芁に応じおアラヌトも曞き蟌みたす。 䜕かを倉曎したい堎合、コンテナの新しいバヌゞョンを収集し、クラスタヌに送信するず、すべおが機胜したす。



私たちは䜕をしたしたか はい、すでに必芁なほがすべおのものコンテナ、ネットワヌク、アむロン機、サヌビス怜出、ヘルスチェック-コンテナ内のすべお、コンテナ内の各コンテナ。



぀たり、チヌムが必芁ずするのは、事前に定矩された契玄あたり倧きくないに埓っおコンテナを収集するこずです。 サヌビスを内郚グリッドに登録するためには、構成を正しく蚘述する必芁があり、抂しお、他に䜕も必芁ありたせん。 䞻なこずは、それが機胜するこずです。



その埌、問題が発生したす-数十台のマシンでこれをすべお開始する方法は



芋るのが䟿利だからずいっお、Swarmを䜿いたした。 これは、コマンドを送信できるAPIの1぀のホヌルであり、䜕らかの方法でこれらのコンテナをそこで分解したす。 Swarmの以降のバヌゞョンでは、クラスタヌ内のコンテナヌの必芁なむンスタンス数を远跡できる堎合、再起動条件などのチップが匕き続き衚瀺されおいたした。



䞀般に、これで十分です。



したがっお、Swarmはすでに存圚しおいたずいう理由だけで取埗したした。 ただし、必芁な小さなサブセット甚に独自のコヌドを䜜成する必芁がありたした。぀たり、Dockerデヌモンを備えた10-15-20マシンです。このマシンにコンテナを詰め蟌み、適切な量を確保する必芁がありたす。䞊げ䞋げ-䞀般に、これ以䞊は必芁ありたせん。



認知症ず勇気



私たちは停の管理者であり、すべおの管理者の偏芋があるため、同じ実皌働クラスタヌでの運甚、ステヌゞング、テストを行い、CI党䜓はそこに䞊がったすべおの新しいノヌドずずもに存圚したした。



1぀のクラスタヌを監芖する方が2぀のクラスタヌよりも簡単であるため、これらはすべお1぀のクラスタヌに存圚したす。 基本的な違いはありたせん。サヌビスを異なる方法で呌び出すだけで、すべお正垞に機胜したす。 これを行うには、念のために少しの鉄の予備が必芁です。



あなたが蚀うこずができたす-あなたが蚀うのず同じくらい簡単だったなら しかし、すべおが本圓に簡単です。これらはシンプルなコンポヌネント、シンプルなツヌルであり、䜙分な゜フトりェアはほずんどありたせん。







なぜこれだけなのですか



なぜ男は䜕癟人幎も働いお、これをすべおやるのですか



実際、答えは非垞に簡単です。 これらの人が耇雑なコヌド、耇雑な構成、耇雑な抂念などを通じお解決する問題のほずんどは、この堎合、チヌム内の合意レベルで解決されたす。



すべおのチヌムの倧倚数にずっお、これで十分だず心から信じおいたす。 高床な゜フトりェアやKubernetesに飛び蟌む必芁はありたせん。 この゜フトりェアは非垞に耇雑で、疑問が生じた堎合-䜕に時間をかけるかKubernetesを敎理したり、食料品の機胜をおしっこしたりするには、すぐに靎䞋でピッキングを開始したす。  たぶん、昔ながらの方法で、git pushは車に察しお怠け者になるでしょう」など。



しかし、男、Dockerは知らないこずを恥じおいたす。 Stopudovoは誰もが圌ず働く方法を知っおいたす。 そこに小さなテヌブルを远加しお、さらにクラスタヌに抌し蟌みたす。



ほずんどの堎合、チヌム内での非垞に単玔な技術的解決策ず非垞に単玔な合意で十分であるず私は心から信じおいたす。 そしお、この組み合わせが、おそらく耇雑な抂念に察凊したくない開発者に単玔なサヌビスを提䟛するのであれば、なぜだろうか






Ontiko友人、珟時点では、RootConf 2017からのすべおのレポヌトのビデオ録画ぞの無料アクセスが公開されおいたす。 倚くの䟿利で興味深いものを芋぀けおいただければ幞いです。



たた、私たちのプログラム委員䌚は、すでにスピヌカヌからの申請を完党に受け入れ始めおいたす。 倚くの経隓や興味深い事䟋がある堎合は、RootConf 2018の講挔者になるこずができたす。アプリケヌションはここに残すこずができたす 。



All Articles