実皌働䞭のDocker曎新

翻蚳者からの説明目の前に衚瀺される翻蚳は、実皌働䞭の元のMoby / Docker投皿に基づいお、2017幎2月23日に䜜成されたした。 倱敗の物語 、その翻蚳は オレグチャヌの原䜜者によるここハブレで、掻発な議論を匕き起こしたした。 曞いた日付に合わせお読んでください-元のテキストはほが1幎前に曞かれたした







テキストの扱いは異なりたす。 朝のコヌヒヌを楜しんで、著者の認識のプリズムを通しお自分自身を芋おみお、Dockerに぀いおのアドバむスを聞いたずきに、圌が圌の経隓ず仕事に察する態床でどのように反応するか考えおみおください。







本番環境での以前のMoby / Dockerの蚘事。 倱敗話はヒットであるこずが刀明したした。 今日、長い議論、数癟件のレビュヌ、数千件のコメント、さたざたな人々ずの䌚議、倧芏暡なプレヌダヌずの䌚議、さらに倚くの実隓ずより倚くの倱敗の埌、写真の曎新を公開する時が来たした。







すべおの最新のコミュニケヌションず蚘事から孊んだ教蚓を芋おいきたすが、たずは、明確化、リマむンダヌ、および少しのコンテキストです。







免責事項察象読者



倚くのコメントは、䞖界はたった10皮類の人々に分割されおいるこずを瀺したした







1恋人たち



通垞、実際のナヌザヌがいないテストたたは趣味のプロゞェクトをサポヌトしたす。 圌らは、Ubuntuのベヌタ版を䜿甚するのが普通であるず信じるかもしれたせん、そしお、圌らはすべおを「 安定 」時代遅れず呌びたす。







垞に動䜜するコヌドを実行するずは限りたせんが、実行するず、マシンで動䜜したす

圌を責めるこずはできたせん。圌のマシンではコヌドが機胜したす。







2専門家



実際のナヌザヌずの実際のビゞネスに䞍可欠なシステムをサポヌトしたす。 確かに圌の行動に責任がある。 たぶんファンに圓たるず電話がかかっおきたす。







私のコンピュヌタヌ䞊で機胜しおいるず蚀うこずはできたせん

...これは、別の5億8,600䞇人のナヌザヌが入力するシステムでは機胜しない可胜性があるためです。







どんなタむプの聎衆ですか



これらの䞖界の境界は非垞に薄いですが、明らかに、それらは非垞に異なる基準ず期埅を持っおいたす。







金融の分野が倧奜きな理由の1぀は、金融文化が発達しおいるこずです。 䞀般的な信念に反しお、これはリスク遞奜床の向䞊を意味するのではなく、可胜性のあるリスクず朜圚的な利益を怜蚎し、それらを盞互に比范する習慣です 。







自分の暙準に぀いお少し考えおみおください。 Dockerに䜕を期埅したすか 実行するすべおのシステムがクラッシュし、マりントされたストレヌゞボリュヌムが砎損した堎合、䜕が倱われたすか これは、遞択に圱響する可胜性がある重芁な芁玠です。







最埌の蚘事を公開するよう促されたのは、Dockerの䜿甚を怜蚎しおいるため、Dockerに぀いおどう思うかを尋ねた金融䌚瀟の男ずの䌚話でした。 ずりわけ、圌の䌚瀟、特にこの男は、䜕癟䞇人ものアメリカ人の幎金を含む数兆ドルを凊理するシステムを運営しおいたす。







Dockerは私の母の幎金凊理をサポヌトする準備が完党に敎っおいたせん。 Dockerでの蓄積された経隓は十分に文曞化されおいなかったず思いたす。







Dockerの䜿甚を開始するために確実にしたいこずは䜕ですか



この時点で知っおいたはずですが、Dockerは遞択したカヌネル、ホスト、および実行䞭のファむルシステムに非垞に敏感です。 間違った組み合わせを遞択するず、カヌネルパニック、ファむルシステムの砎損、Dockerデヌモンのブロックなどが発生したす。







さたざたな劎働条件に関するフィヌドバックを収集し、自分自身をさらに確認する時間がありたした。







自信を持っお動䜜しおいるず考えられおいるもの、動䜜しおいない、断続的な障害を経隓しおいる、たたは単に倱敗したずいう研究結果を調べたす。







泚意、ネタバレDockerの堎合、保蚌されるものは䜕もありたせん。







免責事項リスクず結果を理解する



私は自分の基準を信頌し本物のお金を凊理しなければならない専門家ずしお、調査結果をフォロヌしたす実䞖界のシステムで動䜜する信頌できる゜ヌスを信頌しおいるため。







たずえば、OSずファむルシステムの組み合わせが「 䞍適切ボリュヌム党䜓のデヌタ損倱を䌎うファむルシステムの壊滅的な障害が登録されおいる」ずマヌクされおいる堎合 、それは私の芳点から本番環境での䜜業の準備ができおいたせんが、必芁な孊生による䜿甚には適しおいたす1回たたは2回、持ち䞊げた浮浪者の仮想で䜕かを開始したす。







これらの問題が発生する堎合ず発生しない堎合がありたす。 いずれにせよ、「自然」に存圚するこずは、それらに出䌚った人々によっお確認されるためです。 あなたの環境がこれらの人々が䜿甚する環境に十分近い堎合、あなたは次の蚌人になるための正しい軌道に乗っおいたす。







Dockerで発生する可胜性のある最悪の事態は、通垞、テストベンチでのテスト䞭にすべおが正垞であり、実装埌にすべおの倉曎をプルアンドロヌルバックできない堎合に問題が発生する可胜性があるこずです。 。







Coreos



CoreOSは、コンテナの実行方法のみを知っおいるOSであり、コンテナの実行専甚に蚭蚈されおいたす。







前回の蚘事で、Dockerが正垞に䜿甚できるシステムはCoreOSのみであるず結論付けたした。 この蚘述は真実である堎合ずそうでない堎合がありたす。







CoreOSを䜿甚するずいうアむデアを攟棄したした。







たず、Dockerの䞻な利点は、開発環境ず実皌働環境の統合です。 コンテナの操䜜専甚の本番環境に別のOSが存圚するず、この点は完党に砎壊されたす。







第二に、Debian私たちはDebianに座っおいたしたが2017幎の第1四半期に次のメゞャヌリリヌスを発衚したした。 珟圚のシステムを把握し、すべおをCoreOSに移怍するには成功を保蚌するこずなく倚くの劎力を芁するため、次のDebianリリヌスを埅぀こずを決定する方が賢明でした。







CentOS / RHEL



CentOS / RHEL 6



CentOS / RHEL 6䞊のDocker-「機胜したせん。デヌタがボリュヌム䞊で完党に倱われるたで、ファむルシステムに既知の問題がありたす」







  1. devicemapperドラむバヌに関するさたざたな既知の問題。
  2. devicemapperず連動したLVMボリュヌムの重倧な問題。デヌタの砎損、コンテナヌのクラッシュ、Dockerデヌモンのフリヌズに぀ながり、ハヌドリセットが必芁です。
  3. このディストリビュヌションでは、Dockerパッケヌゞはサポヌトされおいたせん。 CentOS / RHEL 7パッケヌゞでリリヌスされたが、CentOS / RHEL 6パッケヌゞに移怍バックポヌトされおいない重倧なバグ修正が倚数ありたす。


船のクラッシュ







ただRHEL 6で䜜業しおいる倧䌁業でDockerに切り替える唯䞀の正しい方法は、それを行わないこずです







CentOS / RHEL 7



最初は、ブランチ3のコアで䜜業し、RedHatはブランチ4のコアからDockerを実行するために必芁な機胜をバックポヌトしたした。







これにより、Dockerがカヌネルのカスタムバヌゞョンずカヌネル内の必芁な機胜の存圚を正しく刀断できないため、問題が発生する堎合がありたす。 その結果、Dockerは正しいシステム蚭定を蚭定できず、䜕床も䜕床もクラッシュしたす。 これが起こるたびに、これは特定の兆候によっお特定のカヌネルを怜出する修正を公開するDocker開発者自身によっおのみ解決でき、これらの修正の倖芳は時間的たたは䜓系的に保蚌されたせん。







OSバヌゞョンに応じお、LVMボリュヌムの䜿甚にはさたざたな問題がありたす。







さもなければ、それは幞運かどうかであり、あなたにずっおの結果は私ずは異なるかもしれたせん。







CentOS 7.0以降、RedHatはいく぀かの蚭定を掚奚しおいたしたが、今ではWebサむトでこのペヌゞを芋぀けるこずができたせん。 いずれにせよ、それ以降のバヌゞョンには倚くの重芁な修正があるため、垞に最新バヌゞョンにアップグレヌドする必芁がありたす。







CentOS 7.2以降、RedHatはXFSのみを掚奚およびサポヌトし、特別な構成フラグを蚭定したす。 AUFSはもはや存圚せず、OverlayFSは公匏には䞍安定であるず芋なされ、BTRFSはベヌタステヌタスですテクノロゞヌプレビュヌ。







RedHatの埓業員は、Dockerが動䜜するための適切な条件を䜜成するこずは非垞に困難であり、OpenShift゜リュヌションの䞀郚ずしおDockerを再販するため、これは深刻な問題です。 䞍安定なコアで補品を䜜っおみおください







あなたが火で遊ぶのが奜きなら、このOSはあなたのためのようです







これは、CentOSではなくRHELを䜿甚したい堎合に圓おはたるこずに泚意しおください。タむムリヌな曎新ず有甚なサポヌトを自由に利甚できるためです。







Debian



Debian 8 jessie安定版



遭遇した問題の䞻な理由は、前の蚘事で説明したように、本番環境でDebian安定版を䜿甚したこずです。







倧ざっぱに蚀えば、DebianはDockerが必芁ずするものを䜕もサポヌトしおいないバヌゞョンでカヌネルを凍結し、存圚するいく぀かのコンポヌネントにぱラヌが含たれおいたす。







Debian䞊のDocker-深刻な「機胜したせん。AUFSドラむバヌだけでなくには倚くの問題があり、通垞はホストがクラッシュし、デヌタを砎壊する可胜性がありたす。これは氷山の䞀角にすぎたせん。







Debian 8でDockerを䜿甚するこずは、100自殺行為であるこずが保蚌されおおり、数幎前にDockerが䜜成されお以来です。 誰もこれを今日たで蚘録したこずがないず思うのは私を殺したす。







ドミノのように萜ちるAWSむンスタンスのグラフを衚瀺したかったのですが、モニタリングずレンダリングに適したツヌルがないため、代わりに䌌たようなピアノ図を提䟛したす。







ドッカヌクラッシュ図解

テストシステムでの兞型的なDockerカスケヌド障害。







テストシステムでの兞型的なDockerカスケヌド障害テストスレヌブ障害...次のテストでは、2分で負荷を取埗しようずしたす...たた、この特定のカスケヌドは、問題を回避するために6回詊行したした。







デッドホストを自動的に再起動しお障害通知を送信するには、CloudWatchでアラヌムを蚭定する必芁がありたす。







ちなみに、CloudWatchでアラヌムを蚭定しお、5分以䞊問題がハングアップするたびに、既成の問題レポヌトをレギュレヌタヌに自動的に送信するこずもできたす。







私は自慢したせんが、Dockerをうたくサポヌトしたした。 Chaos Monkeyを忘れおください、これは子䟛向けのゲヌムです。Dockerで数十億ドルを凊理する取匕システムを立ち䞊げおみおください[1]。







[1]これをしないでください。 これはひどい考えです







Debian 9ストレッチ



Debianストレッチは2017幎に安定する予定です泚この蚘事を曞いお線集しおいる間はリリヌスになるはずでした。







それにはコア4.10が含たれ、それたでに公開されたLTSの最埌であるこずが刀明したした。







リリヌス時には、Debian Stretchは最新の安定したオペレヌティングシステムになり、Dockerの実行に必芁なすべおの優れた機胜を備えおいるず䞻匵したすもちろん、Dockerの芁件が倉曎されるたで。







圌は倚くの問題を解決でき、倧量の新しい問題を䜜成できたす。 どうしお







Ubuntu



Ubuntuは垞に、通垞のサヌバヌディストリビュヌションよりも新しいものです。







残念ながら、Ubuntuで働いおいる深刻な䌁業は知りたせん。 開発者やアマチュアブロガヌは最新のUbuntuLTS [2]さえですべおをテストするため、これはDocker愛奜家のコミュニティで倧きな誀解の原因ずなっおいたすが、実䞖界RHEL、CentOS、Debianたたはこれらの゚キゟチックなUnix / BSD / Solarisの䞀郚。







このリリヌスを䜿甚しおいないため、LTS 16の状況に぀いおコメントするこずはできたせん。 これは、Overlay2ずZFSが利甚できる唯䞀のディストリビュヌションです。これにより、怜蚌のためのオプションがいく぀か远加され、おそらく䜕か機胜するでしょうか







LTS 14のリリヌスは最終的な「適合しない」ものです。叀すぎるため、必芁なコンポヌネントがありたせん 。







[2] Ubuntuの最新ベヌタ版を䜿甚するこずを「ただ」ずアドバむスする人々から、倚くのコメントず非友奜的な手玙を受け取りたした。 すべおの動䜜䞭のシステムの移行、配垃キットの倉曎、およびテスト時にさえ存圚しなかったベヌタプラットフォヌムぞの切り替えは、合理的な゜リュヌションです。










明確化私が蚀ったように、私はDockerに戻らないので、リンクを怜玢しお収集するのに1時間を費やしたくはありたせんが、私はこれを行う必芁があるようです。







私は明らかにアマチュアリヌグにいる男からかなりrather蟱的な手玙を受け取った。圌は「どんな銬鹿でもUbuntuでDockerを実行できる」ず曞いおから、UbuntuでDockerを実行するために必芁な゜フトりェアパッケヌゞず高床なシステム蚭定の䞀芧に進むからだ、぀たり おそらく「誰でもGoogleを䜿甚しお5秒で芋぀けるこずができたす 。 」







圌のレポヌトは、 このバグレポヌトに基づいおいたす。これは、「Ubuntu docker not working」および「Ubuntu docker crash」ク゚リに関するGoogleでの最初の結果 です。Ubuntu16.04は1.11.2でハングしたす 。







2016幎6月に公開されたこのバグレポヌトは、 Dockerの実行に必芁な䟝存関係の䞀郚をむンストヌルしないため、 Ubuntuのむンストヌラヌは単にタスクをたったく実行しないこずを匷調しおいたす。 #WONTFIXはDocker開発者からのたわごずです。







Dockerの埓業員は5か月埌に最埌の答えを出し、Ubuntuのむンストヌラヌは決しお修正されないず曞いおいたすが、Dockerの次のメゞャヌバヌゞョンは他のコンポヌネントを䜿甚する可胜性があるため、問題自䜓がなくなるこずはありたせん。







新しいバヌゞョンv1.13が最近リリヌスされたした-その回答の8か月埌-同じ゚ラヌが衚瀺されるかどうかはただ確認されおいたせんが、叀い蚭定を壊しおDocker自䜓に新しい倉曎が含たれおいるこずは確かです。







たいおいの堎合、Dockerに期埅できるこずを背景にしおいたす。 確認のためのチェックリストは次のずおりです。












AWSコンテナサヌビス



AWSには、Dockerを起動するために特別に準備されたAMIがありたす。 Ubuntuに基づいおいたす。







内郚゜ヌスによるず、AWSにはDockerが少なくずも䜕らかの圢で非垞にうたく機胜するこずを保蚌する䞊で深刻な問題がありたした。







その結果、AMIをリリヌスし、カスタムバグ修正ずカスタムバックポヌトを備えたカスタムDockerパッケヌゞでカスタムOSを構築したした。 そしお卒業埌、圌らはただ倚くの努力を費やし、すべおを連携させるための継続的なテストを行っおいたす。







DockerにアタッチしおAWSで䜜業しおいる堎合、唯䞀の救いは、AWSの肩の䞊で圌ず倧隒ぎするこずです。







Googleコンテナサヌビス



Googleはコンテナをサヌビスずしお提䟛しおいたす。 Googleは単にDockerむンタヌフェヌスを提䟛し、コンテナヌはGoogleの内郚コンテナヌ化テクノロゞヌで実行されたすが、Docker実装のすべおの欠点に悩たされるこずはありたせん。







誀解しないでください コンテナは抂念ずしおは矎しいものであり、問​​題は理論䞊ではなく、実甚的な実装ず、利甚可胜なツヌル぀たり、Dockerにありたす。







Dockerたたはコンテナで実際にプレむしたいがAWSで動䜜しない堎合は、特にオヌケストレヌション甚のKubernetesが付属しおいるため、Googleオプションが唯䞀の信頌できる遞択肢になりたす。







このオプションはただ実隓的であるず考えるべきであり、火のあるゲヌムず考えるべきです。 たたたた、Googleの゜リュヌションが信頌できる唯䞀の゜リュヌションであり、コンテナずオヌケストレヌションの䞡方が同時に存圚する唯䞀の゜リュヌションであるこずがわかりたした。







オヌプンシフト



砎損したコア䞊で安定した補品を構築するこずはできたせんが、RedHatは詊みおいたす。







私が行ったレビュヌのうち、圌らはDockerの問題を軜枛するために苊劎しおおり、さたざたな皋床の成功を収めおいたす。 あなたの堎合、結果は異なる堎合がありたす。







埌者のオプションはどちらも倱うものがある倧䌁業に焊点を合わせおいるこずを考えるず、そのような遞択぀たり、Dockerの䞊に構築されたものを遞択するこずの賢明さを本圓に疑いたす。







「通垞の」クラりドを䜿甚するこずをお勧めしたすAWS、Google、たたはAzure。 仮想マシンに加えお、サヌビスプロバむダヌが提䟛するサヌビスを䜿甚するず、Dockerでできるこずの90、Dockerでできないこずの90がプラスたたはマむナスになりたす。 これが最良の長期戊略です。







ほずんどの堎合、あなたの堎合、OpenShiftを起動したい理由は、パブリッククラりドを䜿甚できないこずです。 たあ、これは目暙ぞのかなり難しい方法です これで幞運。あなたの経隓がどうであったかに぀いおコメントを曞いおください







合蚈





ビゞネスの芖点



Dockerにはビゞネスモデルがなく、収益化できたせん。 公平に蚀えば、すべおのプラットフォヌムMac / Windowsを含むでリリヌスを行い、必死の詊みであらゆる皮類の機胜Swarmを統合しおいるこずは蚀うに倀したす。1競合他瀟に独特の機胜を持たせないこず。 2党員にDockerおよびDockerツヌルを䜿甚させる。 3お客様の゚コシステムを完党に維持したす。 4その過皋で倧量のニュヌス、蚘事、問題を発衚し、誇倧宣䌝を増やしたす。 5独自の垂堎評䟡を正圓化する。







いく぀かの補品ず垂堎で氎平および垂盎の䞡方に成長するこずは非垞に困難ですこのアプロヌチが合理的たたは持続可胜なビゞネス゜リュヌションであるかどうかに関係なく、これは別の偎面です。







同時に、競合他瀟、぀たりAmazon、Microsoft、Google、Pivo​​tal、RedHatはさたざたな方法で競争し、コンテナでDocker自䜓よりも倚くのお金を皌ぎたすが、CoreOSはOSCoreOSず競合技術に取り組んでいたすコンテナ化ロケット。







その結果、優れた火力を持぀倚くの倧芏暡な垂堎プレヌダヌは、Dockerず積極的か぀断固ずしお競争するこずを目指しおいたす。 圌らは、Dockerに他の誰かを自分自身にバむンドさせるこずにたったく関心がありたせん。 個人的にも集団的にも、圌らはDockerが死に、圌を別のものに眮き換えるこずに興味を持っおいたす。







それをコンテナ戊争ず呌びたす。 それが䜕に぀ながるか芋おみたしょう。







珟圚はGoogleがリヌダヌであり、Dockerに取っお代わり、すぐに䜿甚できるオヌケストレヌション Kubernetes を提䟛できるのは圌らだけです。







おわりに



Dockerは䞍安定で、おもちゃのプロゞェクトだず蚀いたしたか







もちろん、説明されおいる問題は存圚しなかった、たたはすでに過去にあったず誰かが蚀うでしょう。 それらは過去のものではなく、 問題は非垞に関連性が高く、非垞に珟実的です。 Dockerは重倧な゚ラヌに悩たされおおり、これはすべおの䞻芁なディストリビュヌションでの䜿甚に適さず、長幎にわたっお垞に干枉する゚ラヌであり、その䞀郚は珟圚でもなお存圚しおいたす。







Googleで「Docker +バヌゞョン+ファむルシステム+ OS」の特定の組み合わせの行を探すず、過去の任意の時点で、Dockerが生たれた瞬間たで、倚くの問題ぞのリンクが芋぀かりたす。 䜕かが非垞に抜本的であり、それに぀いお誰も曞いおいないこずは謎です実際、いく぀かの蚘事があり、広告ず迅速な䟡倀刀断の塊の䞋で単に倱われたこずが刀明したした。 このレベルの期埅ずこのレベルの倱敗を䌎う最新の゜フトりェアはMongoDBでした。







Dockerを真剣に、銖尟よく、そしお手間をかけずに䜿甚する人は、地球䞊で誰も芋぀かりたせんでした。 この蚘事で蚀及した経隓は、Dockerを䞀生懞呜勉匷した埓業員や䌁業の血によっお埗られたしたが、ダりンタむムの1秒ごずに1,000ドルかかりたした。







私たちが自分の過ちず他の人の過ちから孊び、それらを繰り返さないこずを願っおいたす。







おそらくあなたの人生の目的は、他人ぞの譊告ずしお圹立぀こずです







䜕幎も前にDockerを䜿甚する必芁があるかどうか疑問に思っおいる堎合=>答えは、「いや、撮圱する必芁はありたせん」です。 これを䞊叞に䌝えるこずができたす今日でも、オヌケストレヌションがなければDockerのメリットはほずんどありたせん。それ自䜓は非垞に実隓的な質問です。







珟圚Dockerを䜿甚する必芁があるかどうかに興味がある堎合、゜フトりェアを実行する珟圚の方法はうたく機胜したすが、䜜業の質に関しお期埅がありたす=>合理的な答えは 、RHEL 8およびDebian 10がリリヌスされるたで埅぀こずです。運転しないでください。 物事は解決されるべきであり、パッケヌゞは䜿甚されるディストリビュヌションよりも速く開発されるべきではありたせん。







火で遊ぶのが奜きな方は、Google CloudのGoogle Container Engineをご芧ください。 間違いなくリスクが高く、考えられる利点も高い。







倚数の゚ラヌレポヌト、カヌネルパニックのスクリヌンショット、日䞭のシステム障害の個人的な図、関連するフォヌラムの投皿、およびこのトピックに関するプラむベヌトな䌚話をリンクするず、この蚘事はより信頌できるでしょうか おそらく。







この情報を再び収集するのにさらに数癟時間を費やしたいですか いや。 DockerよりもTinderで倜を過ごしたいです。 さようなら、Docker







次は



私に戻っお。 私のコンテナおよびクラりド管理アクションプランには倧きな欠陥がありたした。ハむテク䌁業での平均滞圚期間はただ長い間枬定されおいないため、2017幎は新しい堎所に誘われたずきに始たりたした。







悪いニュヌス雲がなく、Dockerが行きたせん。 技術革新のニュヌスはありたせん。 座っお自分の仕事をしたす。







良いニュヌス䜕十億ドルもの人ず「遊ぶ」必芁はありたせん...私は少なくずも3桁動いおいるからです これで、私の「サンドボックス」は、このブログを読んでいる人々の䞀郚を含む、数癟䞇人のアメリカ人の幎金ず連携したす。







あなたの幎金基金をドッカヌドッケリではなく100認定







確認しおくださいあなたの幎金は良い手にありたす








All Articles