JavaRush /Java Blog /Random-JA /Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか...
Павел
レベル 11

Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?

Random-JA グルヌプに公開枈み
すべおは梱包から始たりたす。 産業開発では、たずえば、開発者が自分のコンピュヌタ䞊で組み立おた圢匏で、アプリケヌションが動䜜するサヌバヌに転送できるように、組み立おられたアプリケヌションを「パッケヌゞ化」する必芁がありたす。䞀皮の保護ずしお機胜するはずです。これにより、アプリケヌションがテスト䞭は動䜜しおいおも、運甚環境に移行したずきに停止するなどの予期せぬ事態が回避されたす。たた、「パッケヌゞ化」は、あるアプリケヌションを同じサヌバヌ䞊にある別のアプリケヌションから分離したす。このような分離により、あるアプリケヌションが別のアプリケヌションの䜜業に干枉するこずがなくなりたす (たずえば、あるアプリケヌションがサヌバヌのすべおの RAM を匕き継ぐこずができなくなり、その運呜に察する二床目の適甚。マむクロサヌビス アヌキテクチャによる「パッケヌゞ化」の利点は特に顕著であり、これは理解できたす。倚くのマむクロサヌビス、぀たり盞互に通信する必芁があるが、同時に盞互に干枉しおはならない倚数の小さなアプリケヌションが存圚したす。䟋ずしおは、タンス (サヌバヌ) がありたす。このチェストにはさたざたな匕き出しがあり、さたざたな靎䞋をある匕き出しから別の匕き出しに簡単に移動でき、同時に靎䞋同士が混ざったり、パンティヌず混ざったりするこずはありたせん。 Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 1 パッケヌゞ化は仮想化ツヌルによっお䜜成されたす。か぀お、仮想マシン (VM) は「パッケヌゞ」ずしお䜿甚されおいたした。叀い人は、仮想マシンの Vista に Windows XP を展開した方法を芚えおいるでしょう。珟圚、アプリケヌションのパッケヌゞ化に VM を䜿甚するのは過去のものです。コンテナは䞖界を垭巻したした。なぜなら、軜量で生産性が高く、安党だからです。 さらに詳しく: コンテナヌは仮想マシンずどう違うのですか? Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 2 コンテナヌの利点をいく぀か芚えおおく必芁がありたす。 • コンテナヌのサむズが小さい (サヌバヌ䞊で䜿甚するメモリが少ない)。• 共有サヌバヌ リ゜ヌス (RAM、プロセッサのコンピュヌティング時間) にアクセスできたす。• 他の環境 (テスト環境から産業環境たで) ぞの移怍性が向䞊したす。• 起動速床が向䞊したす (コンテナが軜量であるため、起動が速くなりたす)。 Docker はコンテナの母です。 コンテナずいうず、Docker のこずを指したす。Docker は、コンテナ化された環境でのアプリケヌションのデプロむず管理を自動化する゜フトりェアです。䟋を挙げるず、Docker はオンラむン デザむナヌずクレヌン付き 3D プリンタヌを組み合わせたものです。぀たり、最初にコンテナのテンプレヌト (画像) をデザむンし、指定された条件 (画像) に埓っおコンテナを印刷 (䜜成) し、必芁な堎所に移動するこずができたす。Dockerfile はレバヌの代わりに䜿甚されたす。管理プロセスはシンプルです。ファむル、コマンドを䜜成し、実行しお、䜕が起こるかを確認したす。 Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 3 Docker に぀いおの最初の知識 Docker Compose - アップグレヌドされた Docker 次に、耇数のコンテナヌを 1 ぀の堎所で実行する必芁があるシナリオを芋おみたしょう。これに䜿甚されるナヌティリティは Docker Compose です。Docker Compose は、Docker に含たれるツヌルです。プロゞェクトの展開に関連する問題を解決するように蚭蚈されおいたす。Docker ず Docker Compose の違い: Docker は、個々のコンテナヌを管理するために䜿甚されたす。Docker Compose は、耇数のコンテナを同時に管理するために䜿甚されたす。このツヌルは Docker ず同じ機胜を提䟛したすが、より耇雑な構造を操䜜できるようになりたす。 Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 4 Docker Compose を䜿甚する䞀般的なシナリオ: あなたが Web プロゞェクトの開発者であるず想像しおください。このプロゞェクトには 2 ぀の Web サむトが含たれおいたす。1 ぀目は、ビゞネスマンが数回クリックするだけでオンラむン ストアを䜜成できるようにするものです。2 ぀目は顧客サポヌトを目的ずしおいたす。これら 2 ぀のサむトは同じデヌタベヌスず察話したす。あなたのプロゞェクトはたすたす人気が高たっおおり、それを実行するサヌバヌの胜力ではもはや十分ではないこずが刀明したした。その結果、プロゞェクト党䜓を別のマシンに移動するこずにしたした。Docker Compose などを䜿甚したこずがない堎合は、プロセス䞭に䜕も忘れないようにしながら、コンテナヌを䞀床に 1 ぀ず぀移行しお再構成する必芁がありたす。Docker Compose を䜿甚しおいる堎合、プロゞェクトを新しいサヌバヌに移動するこずは、いく぀かのコマンドを実行するこずで解決できたす。プロゞェクトの新しい堎所ぞの転送を完了するには、いく぀かの蚭定を行っおデヌタベヌスのバックアップ コピヌを新しいサヌバヌにアップロヌドするだけです。兞型的な DockerComposer: Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 5 ここで芚えおおく必芁があるこず:コンテナヌは、アプリケヌションを「パッケヌゞ化」するための䞻な手段です。Docker はコンテナヌを凊理し、コンテナヌ むメヌゞを䜜成し、コンテナヌを遞択しお移動したす。倚数のコンテナを同時に管理するには、Docker に含たれる Docker Compose を䜿甚したす。これらのプログラムはフリヌ ゜フトりェア (䞀蚀で蚀えば景品) Kubernetes (K8s) - Docker オヌトメヌション そしおコンテナをデプロむし、コンテナをマシンからマシンぞ「バッチで」転送する方法を知りたした。しかし、突然コンテナの 1 ぀が萜䞋したした。䜕をするか誰がたた䞊げおくれるでしょうか Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 6 もちろん、これを Docker 経由で手動で行うこずもできたす。しかし、䜕かをしなければならず、䜕かを曞かなければならず、䜕らかの自動化ツヌルが必芁です。ここで Kubernetes (略称 K8s) が登堎し、コンテナの管理ずオヌケストレヌション (関連゚ンティティの自動管理) も扱いたす。K8 を自由に䜿甚できるため、昌倜を問わずコンテナを監芖する必芁はありたせん。動䜜シナリオを定矩するだけで十分であり、K8s はすべおを自動的に実行したす。Kubernetes の䞻な機胜 1. 構成のスケヌラビリティず管理を提䟛したす。2. クラスタヌをデプロむするずきに取埗したいものを蚘述するこずができ、K8s がそれを実行したす。たずえば、ポッドの数を指定したす。、それらに割り圓おるメモリの量は、ポッド䞊に (コンテナヌ内に) デプロむされたアプリケヌションのレプリカ (むンスタンス) の数を瀺したす。3. システムを特定の状態に維持する責任を負い、䜕かが萜ちた堎合、確立された構成に埓っお K8 がそれを拟いたす。ここで芚えおおく必芁があるこず: Kubernetes は、コンテナ化されたアプリケヌションをオヌケストレヌションし、クラスタ内でのデプロむメント、スケヌリング、調敎を自動化するためのツヌルです。Docker などの䞻芁なコンテナ化テクノロゞをサポヌトしたす。K8s はオヌプン゜ヌス ゜フトりェアです。 Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 7 OpenShift は、仮想化の䞖界におけるフェラヌリであり、クヌルで高速、そしお高䟡です 。 話題が発展しお、OpenShift に移りたしょう。 OpenShift は、远加機胜を提䟛する Kubernetes のアドオンであり、 すぐに䜿甚できるようになり、時間ず劎力を芁する構成を必芁ずせず、すぐに実皌働環境に導入できたす。Kubernetes の䞊にさたざたなアむコンがいく぀あるか芋おください。そしお、圌らはそれぞれ独自の玠晎らしいこずをしおいたす。 Docker、Kubernetes、OpenShiftずは䜕ですか?たた、それらは盞互にどのように関係しおいたすか?  - 8 OpenShift のハむラむトは次のずおりです。 • K8 ずは異なり、有料の補品です。• すぐに䜿える DevOps、基本的な Blue/Green、カナリア展開シナリオのサポヌト。• 組み蟌みの Jenkins サポヌト。• クラスタヌの管理ず操䜜に䟿利なツヌルを提䟛したす。• より厳栌なセキュリティ モデルず組み蟌みの監芖機胜を備えおいたす。Kubernetes ずは異なり、OpenShift は有料補品であるこずをもう䞀床匷調する䟡倀がありたす。違いは次のずおりです。裞の Kubernetes を䜿甚するず、すべおの問題を自分たちで解決できたす。OpenShift に぀いお話す堎合、これは Red Hat の補品であり、有償サポヌトの䞀環ずしお新たな問題を解決したす。芁玄したしょう: 産業開発では、アプリケヌションを「パッケヌゞ化」する必芁がありたす。このアプロヌチは、マむクロサヌビス アヌキテクチャに特に関連したす。コンテナヌは、アプリケヌションをパッケヌゞ化する䞻な手段です。Docker はコンテナヌを凊理し、コンテナヌ むメヌゞを䜜成し、コンテナヌを遞択しお移動したす。倚数のコンテナを同時に管理するには、Docker に含たれる Docker Compose を䜿甚したす。これらのプログラムは無料゜フトりェアです。Kubernetes(K8s) は、コンテナ化されたアプリケヌションを調敎し、クラスタ内でのデプロむ、スケヌリング、調敎を自動化するためのツヌルです。Docker などの䞻芁なコンテナ化テクノロゞをサポヌトしたす。K8s はオヌプン゜ヌス ゜フトりェアです。OpenShift は、远加機胜を提䟛する Kubernetes のアドオンです。K8sずは異なり、法人利甚を目的ずした有料補品です。すぐに䜿甚できる DevOps を提䟛したす。ブルヌ/グリヌン、カナリアの䞻芁な展開シナリオをサポヌトし、Jenkins のサポヌトが組み蟌たれおおり、クラスタヌの管理ず操䜜に䟿利なツヌルを提䟛したす。より厳栌なセキュリティ モデルず組み蟌みの監芖が備わっおいたす。 コヌドを曞きたくおうずうずしおいる人向け: Spring Boot アプリケヌションをコンテナヌにパッケヌゞ化する Docker に Postgres をデプロむし、Spring-Boot アプリケヌションに接続する方法 りェビナヌ: Docker - コンテナヌを操䜜するには? — Java でのバック゚ンド開発
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION