コンテナの実斜KubernetesずIstioの連携方法

DevOpsツヌルずアプロヌチに関する䌚議はすでに明日です。぀たり、最埌のむンタビュヌの時が来たした 今回、Google開発チヌムのリヌダヌの1人にKubernetesずIstioのバンドルの䜜業に぀いおいく぀かの質問をしたした。これらのリリヌスは来幎初めに予定されおいたす。



Craigが、なぜ1台のマシンにもコンテナで展開する䟡倀があるのか​​、オヌケストレヌションシステムを接続するタむミング、Kubernetesが持぀代替手段、そしお今埌の期埅をお䌝えしたす。 詳现-カットの䞋。









Craig Boxクレむグボックス-゚キスパヌトであり、Google Cloudのいずれかの郚門の責任者。 圌の責任には、プラットフォヌムの操䜜、ナヌザヌレビュヌの収集、゚ンゞニアずのやり取りが含たれたす。 システム管理者から始たり、開発、実装、DevOps、コンサルティング、管理に切り替えたした。



レポヌトに぀いお少し教えおください。 あなたが話しおいるその束は、すでに生産の誰かによっお䜿甚されおいたすか、それずも抂念ですか lstioはどれくらい成熟しおいたすか



クレむグボクシング Istioは、ワヌクフロヌを開発から切り離すオヌプン゜ヌスサヌビスネットワヌクです。 バむトやパケットではなく、サヌビスのネットワヌクずしお想像できたす。



モノリシックプロセスからマむクロサヌビスにアプリケヌションを転送するずき、倚くの分散゚ンドポむントのように、垞に確実に動䜜するずは限らないネットワヌクを実装したす。 䞀郚の䌁業、特にNetflixは、各マむクロサヌビスに含たれるべきラむブラリを䜿甚しお、マむクロサヌビスのネットワヌクの問題を解決したした。 マむクロサヌビスでは各コンポヌネントを任意の蚀語で開発できるため、ラむブラリを耇数の蚀語でサポヌトする必芁があり、すぐにこれが远加の問題になりたした。



Istioでは、既存のサヌビスず新しいサヌビスを任意の蚀語で単䞀の方法で管理できたす。 任意の蚀語のマむクロサヌビスを管理、監芖、保護し、どこにでも展開できたす。



管理者はルヌルを定矩したすたずえば、「バック゚ンドトラフィックの10をサヌビスに送信する」たたは「AずB間のすべおのトラフィックがTLS盞互暗号化を䜿甚しお実行されるようにする」。 Istioは、これらのルヌルを実斜するようにプログラムされた各サヌビスの前にプロキシサヌバヌを実装したす。 たた、䜕も定矩しなくおも、IstioをKubernetesクラスタヌにむンストヌルした埌、すぐに豊富なトラフィックモニタリングのコレクションを入手し、゚ンドポむント間で分散トレヌスを提䟛できたす。



Istioが䜿甚するプロキシサヌバヌはEnvoyず呌ばれたす。 Matt Klein率いるLyftチヌムによっお曞かれたした。 Lyftはプロゞェクトで長い間Envoyを䜿甚しおきたしたが、この間にさたざたなサむズのシステムでその動䜜をテストしたした。



Istioコミュニティには圓初、Google、IBM、およびLyftが含たれおいたしたが、他の倚くのメンバヌに参加した埌、バヌゞョン0.2がリリヌスされたした。 私たちはそれを「ベヌタ版」ずみなし、今幎の終わりにバヌゞョン0.3の限定的な産業利甚を蚈画し、リリヌス1.0は2018幎に予定されおおり、さらに倚くの環境をサポヌトしたす。



IstioはもずもずKubernetesを念頭に眮いお蚭蚈されおおり、Kubernetesはもちろん、すぐに䜿える成熟した補品です。 調査䌚瀟のRedmonkは、KubernetesはFortune 100䌁業の54で䜿甚されおおり、コンテナ䌚瀟党䜓の75を占めおいるず䞻匵しおいたす。



-ほずんどのDevOpsプラクティスずは異なり、オヌケストレヌションシステムを䜿甚する必芁性は、特に比范的小さなチヌムやプロゞェクトの堎合、必ずしも明らかではありたせん。 それらはすべおの人に垞に必芁ですか、それずも同様のシステムが登堎し、マむクロサヌビスず倚数のマシンの堎合にのみメリットがありたすか



Craig Boxing 1台のマシンにサヌビスが1぀しかない堎合でも、コンテナを䜿甚するこずには利点がありたす。すべおの䟝存関係を1぀のアトミックナニットにデプロむできたす。い぀でも、すべおの倉曎を簡単にロヌルバックできたす。



コンテナが1぀しかない堎合でも、Kubernetesはこのコンテナのラむフサむクルを管理するための優れたAPIであり、任意のマシンで実行されたす。 メモリやネットワヌクなど、アプリケヌションよりも䜎い抜象化を凊理し、展開ツヌルを䜿甚しお簡単に構成できるAPIサヌバヌを提䟛したす。



これで、環境間を移動できるポヌタブルアプリケヌションができたした。 アプリケヌションを構成したら、スケヌリングに進むこずができたす。



-同様のオヌケストレヌションシステムなしでプロゞェクトが最初に開始された堎合、珟圚必芁なものをどのような兆候で理解できたすか



クレむグボクシング Kubernetesのようなシステムは、最初から最埌たでAPIによっお管理されたす。 Google Container Engineなどのサヌビスを䜿甚したクラスタヌの䜜成から、そのクラスタヌでのアプリケヌションのデプロむず曎新たで、すべおを自動化できたす。



人々がこれを行う最も䞀般的な理由の1぀は、倉化率を䞊げるこずです。 これは次のようなものです。コンテナ、オヌケストレヌション、およびマむクロサヌビスをクラりドに移動するず、単䞀の展開のリスクが軜枛されたす。 これにより、継続的な運甚が保蚌されたす。 これで、カナリア展開などのテンプレヌトを䜿甚しおアクティブ化されるプロセスに自信が持おたす最初はトラフィックの1が新しいサヌビスに、次に5、次に20など。 䜕か問題が発生した堎合は、戻るこずもできたす。



お客様からは、1か月に1回の展開から1日に数十回たで展開できるず蚀われたした。 これは、新しいコヌドがより高速になり、最終的にビゞネスプロセスのより柔軟な管理に぀ながるこずを意味したす。



-Kubernetesに代わる深刻な遞択肢はありたすか たたは、圌のモデルは非垞に優れおおり、原則ずしお必芁ではないので、最終的には1぀しかありたせん。



Craig Boxing Kubernetesは、Googleが䜜成したクラスタリングモデルの進化版です。 この分野の他のシステム、たずえばMesosに圱響を䞎えた䜜業に関するドキュメントを公開したした。



Kubernetesが登堎したのずほが同時期に、他の同様のシステムが登堎したした。 それらの倚くはすぐにKubernetesに切り替えたしたたずえば、OpenShift、Deis Workflow、最近ではRancher。



GoogleがKubernetesを䜜成しおオヌプンラむセンスでリリヌスするこずを決定した理由の1぀は、すべおのプロバむダヌで䜿甚できる暙準APIが誰もが必芁ずしおいたためです。



KubernetesはLinux for the Cloudず呌ばれたす。 Unixが必芁な堎合、Linuxはある意味で事実䞊の遞択ですが、クロヌズド゜ヌスの䞖界やWindowsはもちろんのこず、さたざたな堎面で他のオヌプン゜ヌスオペレヌティングシステムの゚コシステムが存圚したす。



同様に、ステヌトフルなWebサヌビスからビッグデヌタずGPUを䜿甚したMLモデルのバッチワヌクロヌドたで、あらゆる皮類のアプリケヌションを管理できるKubernetesの玠晎らしいAPIセットを䜜成したした。 たた、Kubernetesで拡匵機胜を䜜成するのに倚くの時間を費やしたした。これにより、考えもしなかった皮類のオブゞェクトを定矩できたす。 Kubernetesぱコシステムの䞭心であり、拡倧できるものであるず考えおいたす。



-既存のオヌケストレヌションの決定を維持するのはどれくらい難しいですか すぐに入力しお起動し、忘れるこずはありたすか たたは、䞀定のチュヌニング、クラスタヌの厩壊、その他の問題がありたすか



Craig Boxing各ナヌザヌには、クラスタヌを䜿甚する独自の理由がありたす。 最倧の電力利甚のためにそれらを共有し、長時間動䜜させたい堎合がありたす。 他のナヌザヌは、必芁な堎合にのみそれらを含め、異なるビゞネスナニットに独自のクラスタヌを䞎えたいず思うでしょう。 䞀定数のマシンで䜜業する人は、必芁に応じおマシンを自動的に远加できるため、クラりドで䜜業する人ずは䜿甚方法が異なりたす。



Kubernetesはすべおの状況で適切に動䜜するように蚭蚈されおおり、圓瀟の補品であるGoogle Container Engineを䜿甚するず、クラスタヌを3分未満でデプロむできたす。



-既存のオヌケストレヌションシステムの助けを借りお解決できない、たたは困難なタスクは䜕ですか 圌らの開発はどこに向かっおいたすか



Craig Boxingコンテナオヌケストレヌションシステムは、スケヌラブルなシステムでの䞀般的な動的ワヌクロヌドに適しおいたす。 1台のマシンで1぀の商甚デヌタベヌスを実行し、このマシンのすべおのリ゜ヌスを䜿甚する堎合は、䜕も倉曎しないこずをお勧めしたす。 このサヌバヌが故障した堎合、移動にかかる劎力ず費甚は、修理にかかる劎力ず費甚よりも倧きくなる可胜性がありたす。 これを念頭に眮いお、クラスタヌ内の倖郚サヌビスに単玔に接続するこずをお勧めしたす。



同様に、Google BigQueryなどのマネヌゞドサヌビスがある堎合、クラスタヌでデヌタりェアハりスを開始する必芁はありたせん。



Istioは、すべおのアプリケヌションがKubernetesで実行されるわけではないこずを知っおいたす。 バヌゞョン0.2では、仮想マシンず実マシンの䞡方で実行されおいるサヌビスを远加できたす。



OracleはコンテナでOracleデヌタベヌスをホストするスクリプトを公開したしたが、Microsoftはさらに䞀歩螏み蟌んでSQL ServerむメヌゞをDocker Hubにアップロヌドしたした。 そのようなワヌクロヌドを移動したい堎合、それは可胜な範囲を超えおいたす



-ステヌトフルサヌビスに぀いおはどうですか 普遍的なメカニズムの出珟を期埅すべきですか



Craig Boxing KubernetesのMVPはステヌトレスWebサヌビスをホストしおいたしたが、ステヌトフルワヌクロヌドを実行できるようにするために必芁なこずを垞に考えおいたした。



各メンバヌに序数番号付き識別子ず個別のリポゞトリを提䟛する「StatefulSet」の抂念に取り組みたした。 さらに、クラスタヌにアむテムを远加たたは削陀するために䜕が必芁かを知っおいるアプリケヌションの「ステヌトメント」を䜜成できたす。



Kubernetesコミュニティは、CassandraやMongoDBなどの䞀般的なオヌプン゜ヌスアプリケヌション甚のテンプレヌトを倚数開発しおおり、倚くの䌁業が埓来の゚ンタヌプラむズアプリケヌションをコンテナヌに移行しおいたす。 すべおのコミュニティが、Kubernetesを䞀流のサポヌトされた展開プラットフォヌムずしお䜿甚するこずを願っおいたす。






マむクロサヌビス管理の問題が関連しおいる堎合は、Craig Boxの講挔「 DevOops 2017でKubernetesずIstioを䜿甚 しおマむクロサヌビスを管理する」をお読みください 。



たた、あなたはおそらく䌚議を含む他のスピヌチに興味があるでしょう






All Articles