Docker はコンテナと同義であり、K8S はコンテナ オーケストレーションと同義です。これら 2 つは近年、クラウド コンピューティングの分野で非常に人気があります。今日は、この記事を通じて、10 分で Docker と K8S を理解できるようにお手伝いします。
画像はPexelsより 2010年、数人の若いITプロフェッショナルが米国サンフランシスコで「dotCloud」という会社を設立しました。
同社は主にPaaSベースのクラウドコンピューティング技術サービスを提供しています。具体的には、LXC に関連するコンテナ技術です。
LXCはLinuxコンテナ仮想化技術(Linuxコンテナ)の略です。 その後、dotCloud はコンテナ テクノロジーを簡素化および標準化し、Docker と名付けました。 Docker テクノロジーは誕生後、業界からあまり注目されませんでした。小さなスタートアップであるdotCloudも、激しい競争の中で苦戦しています。 諦めかけていたとき、彼らの頭に「オープンソース」というアイデアが浮かびました。 「オープンソース」とは何ですか?オープンソースとはオープンソースコードのことです。つまり、もともと機密だったプログラムのソースコードをすべての人に公開し、誰もが参加してコードや意見を投稿できるようになります。 オープンソース 一部のソフトウェアは最初からオープンソースです。生き残れないソフトウェアもありますが、作成者は諦めたくないのでオープンソースを選択します。自分で生活を支えることができないなら、他人の家から食べ物をもらう必要があります。 2013年3月、dotCloudの創設者の一人でありDockerの父である28歳のソロモン・ハイクス氏は、Dockerプロジェクトをオープンソース化することを正式に決定した。
ソロモン・ハイクス(今年 Docker を退社) 開かなくても大丈夫です。しかし、開くと、すごいんです。 ますます多くの IT エンジニアが Docker の利点を発見し、Docker オープンソース コミュニティに参加しようと集まっています。 Docker の人気は驚くべき速度で急上昇しました。 オープンソースの同じ月に、Docker バージョン 0.1 がリリースされました。 Docker はその後毎月バージョンをリリースする予定です。 2014 年 6 月 9 日に、Docker バージョン 1.0 が正式にリリースされました。 現時点では、Docker は間違いなく業界で最も人気のあるオープンソース テクノロジーとなっています。 Google、Microsoft、Amazon、VMware などの大企業もこれに賛同し、全面的なサポートを表明しています。 Docker が普及した後、dotCloud は社名を Docker Inc. に変更しました。 Docker とコンテナ技術がなぜ人気があるのでしょうか?端的に言うと「軽い」からです。 コンテナ テクノロジーが登場する前は、仮想マシンが業界で最もホットなテクノロジーでした。仮想マシン技術の代表例としては、VMWare と OpenStack が挙げられます。
多くの人が仮想マシンを使用したことがあると思います。仮想マシンは、オペレーティング システムにインストールされるソフトウェアであり、このソフトウェアを通じて 1 つ以上の「サブコンピューター」をシミュレートします。 「サブコンピュータ」に似た仮想マシン 「サブコンピュータ」では、QQを開くなど、通常のコンピュータと同じようにプログラムを実行できます。必要に応じて、複数の「サブコンピューター」を作成し、それぞれのサブコンピューターで QQ を開くことができます。 「サブコンピュータ」は互いに分離されており、互いに影響を与えません。 仮想マシンは仮想化技術の一種です。 Docker などのコンテナ技術も仮想化技術であり、軽量な仮想化です。 仮想マシンは多数の「サブコンピュータ」を分離できますが、占有するスペースが多くなり、起動が遅くなり、仮想マシン ソフトウェア (VMWare など) にコストがかかる場合があります。 コンテナ技術にはこれらの欠点はありません。オペレーティング システム全体を仮想化する必要はなく、小規模な環境 (「サンドボックス」に類似) を仮想化するだけで済みます。
サンドボックス 起動が非常に速く、数秒で完了します。さらに、リソース使用率も高くなります (ホストは数千の Docker コンテナを同時に実行できます)。 さらに、占有するスペースも非常に小さいです。仮想マシンには通常、数 GB から数十 GB のスペースが必要ですが、コンテナーに必要なのは MB または KB だけです。 コンテナと仮想マシンの比較 このため、コンテナ技術は温かく歓迎され、求められ、急速に発展してきました。 Docker を詳しく見てみましょう。 Docker 自体はコンテナではなく、コンテナを作成するためのツールであり、アプリケーション コンテナ エンジンであることに注意する必要があります。 Docker を理解したいなら、その 2 つのスローガンを読んでみてください。 最初の文は「構築、出荷、実行」です。 つまり、「構築、送信、実行」という 3 つのステップです。 例えば、空き地に来て家を建てたいと思ったので、石を動かしたり、木を切ったり、設計図を描いたり、一連の作業を経て、ようやく家を建てました。 その結果、私はしばらくそこに住み、別の空き地に移りたいと考えました。この時、私ができることは、石を動かしたり、木を切ったり、設計図を描いたり、以前と同じように家を建てることだけでした。 しかし、そのとき、年老いた魔女がやって来て、私にある種の魔法を教えてくれました。 この魔法は、私が建てた家をコピーし、「鏡像」にして、私のバックパックに入れることができます。 また別の空き地に着いたら、この「鏡」を使って家をコピーして置き、荷物と一緒に引っ越します。 どうですか?すごいですよね? したがって、Docker の 2 番目のスローガンは、「一度ビルドすれば、どこでも実行できる」です。 Docker テクノロジーの 3 つの中核概念は次のとおりです。
先ほど述べた例では、パッケージ内に配置されている「イメージ」は Docker イメージです。そして私のバックパックは Docker リポジトリです。空き地に魔法で建てた家はDockerコンテナです。 簡単に言えば、この Docker イメージは特別なファイルシステムです。コンテナ ランタイムに必要なプログラム、ライブラリ、リソース、構成、およびその他のファイルを提供することに加えて、ランタイム用に準備されたいくつかの構成パラメーター (環境変数など) も含まれています。 イメージには動的なデータは含まれておらず、作成後にその内容は変更されません。 つまり、家はいつ考えても同じなのですが、生活必需品などはそのまま残されているのです。そこに住む人は誰でも新しい品物を購入する責任があります。 それぞれの鏡像で家を作ることができます。そうすれば、複数のミラーを持つことができます! つまり、ヨーロッパ風の別荘を建てて、その鏡像を生成したわけです。別の仲間は、同じように鏡像を作り、中国式の中庭のある家を建てるかもしれません。別の仲間はアフリカの茅葺き屋根の家を建てましたが、これもまた鏡像を生成しました。 。 。 このように、私たちは画像を交換できます。あなたは私の画像を使用し、私はあなたの画像を使用します。素晴らしいと思いませんか? それで大きな公共倉庫になったんです。 Docker レジストリ サービス (ウェアハウス管理者に似ています) は、Docker イメージの管理を担当します。 誰かが作ったミラーがすべて合法というわけではありません。問題のある家を建ててしまったらどうなるでしょうか? そのため、Docker Registry サービスではイメージの管理が非常に厳格に行われます。 最も一般的に使用されているレジストリ公開サービスは公式の Docker Hub です。これはデフォルトのレジストリでもあり、多数の高品質の公式イメージを備えています。 さて、Docker についての説明はこれで終わりにして、次は K8S についてお話ししましょう。 Docker コンテナ テクノロジーが大いに宣伝されていた頃、Docker を特定のビジネス実装に適用することは難しいことがわかっていました。オーケストレーション、管理、スケジュール設定など、あらゆる面で簡単ではありませんでした。 そのため、Docker とコンテナのより高度で柔軟な管理を実現する管理システムが緊急に必要とされています。 ちょうどこの頃、K8Sが登場しました。 K8S はコンテナベースのクラスター管理プラットフォームです。正式名称は kubernetes です。 Kubernetes という単語はギリシャ語に由来し、操舵手または航海士を意味します。 K8S はその略称であり、「ubernete」の 8 つの文字を数字の「8」に置き換えたものです。 Docker とは異なり、K8S の作成者は業界の大手としてよく知られている Google です。 しかし、K8S はまったく新しい発明ではありません。その前身は、Google が 10 年以上にわたって改良を続けてきた Borg システムでした。 K8S は 2014 年 6 月に Google によって正式に発表され、オープンソースとして宣言されました。 同年7月には、Microsoft、Red Hat、IBM、Docker、CoreOS、Mesosphere、Saltstackなどの企業が相次いでK8Sに加盟した。 翌年にはVMware、HP、Intelなどの企業も参加しました。 2015 年 7 月、Google は正式に OpenStack Foundation に加盟しました。同時に、Kuberentes v1.0 が正式にリリースされました。 現在、kubernetesのバージョンはV1.13に開発されています。 K8S のアーキテクチャは少し複雑です。簡単に見てみましょう。 K8S システムは通常、K8S クラスターと呼ばれます。 このクラスターは主に 2 つの部分で構成されます。
一目見てわかるように、マスターノードは主に管理と制御を担当します。ノードは、特定のコンテナを含むワークロード ノードです。 これら 2 種類のノードを詳しく見てみましょう。 まずマスターノードです。 マスターノードには、API サーバー、スケジューラ、コントローラ マネージャー、etcd が含まれます。 API サーバーは、クライアントや他のコンポーネントから呼び出されるシステム全体の外部インターフェースであり、「ビジネス ホール」に相当します。 スケジューラは、クラスター内のリソースのスケジュールを担当し、「スケジュール ルーム」に相当します。 コントローラ マネージャーは、コントローラの管理を担当し、「ゼネラル マネージャー」に相当します。 次に Node ノードが来ます。 ノードには、Docker、kubelet、kube-proxy、Fluentd、kube-dns (オプション)、Pod が含まれます。 Pod は Kubernetes の最も基本的な操作単位です。 Pod はクラスター内で実行されているプロセスを表し、1 つ以上の密接に関連するコンテナーをカプセル化します。 K8S には Pod に加えて、Service という概念もあります。サービスは、同じサービスを提供する Pod のグループに対する外部アクセス インターフェースと見なすことができます。この段落は理解しにくいので、スキップしましょう。 言うまでもなく、Docker はコンテナを作成します。 Kubelet は主に、作成、変更、監視、削除など、配置されているノードに割り当てられた Pod の監視を担当します。 Kube-proxy は主に、Pod オブジェクトのプロキシを提供する役割を担います。 Fluentd は主にログの収集、保存、クエリを担当します。 ちょっと混乱していますか?まあ、一言で説明するのは本当に難しいので、飛ばしてください。 DockerとK8Sの紹介は終わりましたが、記事はまだ終わりではありません。 次の部分は、コア ネットワーク エンジニア、さらにはすべての通信エンジニア向けに書かれています。 数十年前の 1G から今日の 4G、そして将来の 5G まで、モバイル通信は大きな変化を遂げており、コア ネットワークも同様に変化しています。 しかし、これらの変更を詳しく見ると、いわゆるコアネットワークは本質的には変わっていないことがわかります。それは単なる多数のサーバーにすぎません。異なるコア ネットワーク要素は、異なるサーバーと異なるコンピューティング ノードです。 変わったのは、これらの「サーバー」の形状とインターフェースです。形状は、キャビネット シングル ボードからキャビネット ブレードに、キャビネット ブレードから X86 汎用ブレード サーバーに変わりました。インターフェースは中継ケーブルからネットワークケーブルへ、ネットワークケーブルから光ファイバーへと変わりました。 どのように変化しても、それは依然としてサーバーであり、コンピューティング ノードであり、CPU です。 サーバーである以上、IT クラウド コンピューティングと同様に、仮想化の道を辿ることは必然です。結局のところ、仮想化には、低コスト、高い利用率、完全な柔軟性、動的なスケジューリングなど、上記のような多くの利点があります。 数年前までは、仮想マシンがコア ネットワークの究極の形であると誰もが考えていました。現時点では、コンテナ化の可能性が高いと思われます。近年よく言われるNFV(ネットワーク機能仮想化)も、NFC(ネットワーク機能コンテナ化)と変わる可能性があります。 VoLTEを例にとると、従来の2G/3G方式に従うと、それぞれEPCとIMSの異なるネットワーク要素として機能する専用デバイスが大量に必要になります。 VoLTE関連のネットワーク要素 コンテナを導入すると、1 台のサーバーで 12 個のコンテナを作成できるようになるほか、異なるネットワーク要素のサービス プログラムを実行するために異なるコンテナが使用されるようになります。 これらのコンテナはいつでも作成および破棄できます。また、停止することなく、自由に拡大または縮小、強化または弱化することができ、パフォーマンスと消費電力のバランスを動的に調整します。 まさに完璧です! 5G時代のコアネットワークは、コンテナとも相性のよいマイクロサービスアーキテクチャを採用します。モノリシックアーキテクチャ(Monolithic)がマイクロサービスアーキテクチャ(Microservices)になり、オールラウンダーをN個の特化型に変えるのと同じです。 それぞれの特殊機能は独立したコンテナに割り当てられ、最大限の柔軟性を実現します。 洗練された分業 この開発動向によれば、モバイル通信システムでは、アンテナを除き、残りの部品が仮想化される可能性が高い。コア ネットワークは最初ですが、最後ではありません。 仮想化後、コア ネットワークは通信ではなく IT として分類する必要があります。コアネットワークの機能は、コンテナ内の通常のソフトウェア機能にすぎません。 ここに出席しているコアネットワークエンジニアの皆さん、おめでとうございます!変身に成功します!
著者: 小盧俊 編集者:タオ・ジアロン 出典:WeChat公式アカウントXianzao Classroom(ID:xzclasscom)より転載 |
<<: IT大手がKubeCon 2020オンラインサミットに集結し、クラウドネイティブの次の10年をスタート
>>: テクノロジー大手は、データセキュリティに対する新たなアプローチ、機密コンピューティングを導入している。
ビリビリが有料動画機能を初めて導入したことは、ネットユーザーの間で論争を巻き起こした。 6月20日、...
実際、オリジナル記事の 90% は疑似オリジナルであるということは誰もが知っているはずです。特に、イ...
Weiboマーケティングは必須です。しかし、ほとんどの企業はWeiboアカウントを開設して認証を受け...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています従来の企業...
weloveservers.net の 60% 割引は、実はしばらく前から提供されていたのですが、気...
新興のクラウドネイティブ環境では、Kubernetes が広く普及しています。コンテナをオーケストレ...
7月9日、世界人工知能会議クラウドサミットが正式に開幕しました!アマゾン ウェブ サービスは、202...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン「中国の鯉になってほしい」という微博の投...
このテーマで記事を書くのは初めてなので、さらにアドバイスをいただければ幸いです。キーワード、特に比較...
初めて見知らぬ街に旅行する人を想像してみてください。トラブルを避けたい、見知らぬ土地に不慣れなため、...
背景最近、k8s 関連のブログやビデオをいくつか更新したところ、いくつかのフィードバックをいただきま...
検索エンジンのランキングは常に皆の注目の的となっていますが、検索エンジンがウェブサイトをランク付けす...
検索エンジン マーケティングには、検索エンジン最適化 (SEO) と有料検索が含まれることはご存じの...
Vultrはどうですか? Vultrはまだ使えますか? Vultr を一度も使用したことがない、また...
4月25日、百度ウェブマスタープラットフォームは「外部リンクの判断について」と題する記事を公開した。...