第54回Linuxカーネルのコンテナ機能 ―cgroup v2から使うCPUの帯域幅制限(2) 加藤泰文 2023-11-08
![LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術 記事一覧 | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/7241c583676d54fc052c4388a6edd25e4c7f280b/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2Fgihyojp-ogp.png)
Photo by Sam MacCutchan どうも後藤です! もう10年以上になるでしょうか・・・ とにかくなんでもかんでも仮想化すればよいというこの風潮。paizaでも仮想化技術は大活躍中。インフラは仮想化技術の上に構築されているし、もちろんコードの評価環境だってばりばりの仮想環境上です。仮想環境ばっちこーい! いったいいつからこんな流れになったんでしょう?どこに基準を求めるかでだいぶかわりますけれども、執筆現在から考えると、こうした流れには35年くらいの歴史があります。使われる仮想化技術は時代とともにかわってきました。だいたいどの時代にも流行ってものがありました。 最近(2014年ごろ)の流行とえば、インフラの一番下にハイパーバイザを入れて、その上でDockerを動かして、管理にはChefやPuppetを使うといったものです。数年経てば状況は変わるでしょうけれども、とにかく楽をした
はじめに みなさま、はじめまして。加藤と申します。最近注目を集めている仮想化技術の『コンテナ』に関する連載を始めることになりました。よろしくお願いいたします。 コンピュータの性能が向上し、仮想化という言葉も一般的になりました。従来はVPS等のサービスやIaaS、クラウドといったキーワードと共に語られることが多かった仮想化ですが、最近では開発者自身のPC上で仮想化を使ってテスト環境を作成し、使い終わったら消去するという使われ方が増え、仮想化技術を扱うエンジニアも、インフラエンジニアからアプリ開発者まで広くなりました。 また、従来は仮想的なマシンをコンピュータ上で実現するVMware、Hyper-V、KVMといった技術が話題になることが多かったことに対し、最近ではImmutable Infrastructureといったキーワードと共に『コンテナ』が話題になることが増えました。『コンテナ』とは
VMware、Dockerのような独自の新技術「Project Fargo」発表。1秒以下で仮想マシン起動を実現。VMworld 2014 VMwareはサンフランシスコで開催中の「VMworld 2014」において、急速に普及するコンテナ技術の1つであるDockerとの協業を発表し、積極的にVMware製品群で対応することを明らかにしました。 [速報]VMwareがDockerと協業発表。エンタープライズにおけるコンテナ環境の実現へ。Kubernetesにも参加を表明。VMworld 2014 その一方で同社はDockerのような、仮想マシンをまるでコンテナのように軽量に扱える独自の新技術「Project Fargo」の存在を明らかにしました。その概要がVMware CTO, AmericasのChris Wolf氏がポストしたブログ「VMware and Docker – Better
Software-Defined Data Centerは、あらゆるアプリケーションのためのプラットフォームになる。 VMware環境上でのDockerの対応、Kubernetesへの参加 VMwareとDockerは協力して以下のことなどに取り組むとしています。 VMware Fusion、vSphere、VMwareのクラウドサービスvCloud Airなどが、Docker Engingにとって優れた稼働環境になるようにする Docker関連のオープンソースプロジェクト、libswarm、libcontainer、libchanの開発 Docker Hubと、VMwareのクラウドサービスvCloud Air、vCenter Server、vCloud Automation Centerなどとの相互運用性向上 またVMwareはGoogleとの協業も発表。VMwareはすでにvSphe
https://www.youtube.com/watch?v=mVN7aTqr550 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Code ClimateのBryan HelmkampのRedDotRuby 2014での講演です。ビデオの前半の30分は、Docker + Rubyアプリのユースケースの場合の、概要/ツール紹介/デモです。ここでは、後半に語られているDockerのバリューについて、まとめてみます。 デリバリーの単位 Rubyエンジニアとして、デリバリーするときの単位という概念が今まではなかった(が、Dockerで実現できた)。かつて、JRubyでしばらく開発していたときがあって、その際は、jarファイルの中身がなんであれ、テストして問題なければ、DevOpsチームに渡すだけ。ある意
データセンター内のサーバ設定やアプリケーションのデプロイなどの自動化ツールとして知られるChefが、Dockerに対応した「Chef Container 0.2.0(beta)」を発表しました。 DockerはLinuxコンテナ技術の1つとして軽量な仮想環境を実現し、分散アプリケーションを迅速にデプロイするなどの用途で広く使われようとしています。Dockerには、Dockerの構成を記述するためのDockerファイルがありますが、分散環境に適した自動化された構成手法が望まれており、現在さまざまな技術が登場しつつあります。 ChefがDockerに対応することで、既存のRecipeやCookbookといった構成ファイルをDockerの環境にも適用できるようになるため、管理者はこれまでの環境をDockerによるLinuxコンテナ環境へと移行しやすくなるでしょう。 Docker内で動作するChe
Dockerとは、軽量で互換性の高いコンテナ型の仮想実行環境である。ハイパーバイザ型の仮想実行環境よりも必要なリソースが少なく、管理も容易で、利用できるコンテナイメージも豊富なため、現在急速に普及が進みつつある。 連載目次 「Docker」(ドッカー)とは、軽量なコンテナ型の仮想実行環境を使った、主にソフトウェアの自動デプロイメント(展開)を支援するシステムである。dotCloud社(現Docker社)が開発し、2013年にオープンソースのプロジェクトとして公開された。ソフトウェアの高速な配布・実行や容易なイメージのカスタマイズ、導入運用の手軽さ、豊富なプレビルドイメージの提供などの理由により、パブリッククラウドからオンプレミスシステム、開発環境構築まで、さまざまなシーンで急速に普及しつつある。 軽量なコンテナ型の仮想実行環境 コンテナ型の仮想実行環境とは、Linuxに備わっている「コンテ
前回の「ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方」では、Docker EngineのインストールからDockerコンテナーを作成し、Dockerイメージに保存するところまでを紹介しました。 Dockerは開発のスピードが速く、7月3日にはバージョン1.1.0がリリースされています。詳細はブログ「ANNOUNCING DOCKER 1.1.0」を参照してください。 今回は、Dockerコンテナーの構成とDockerイメージの作成を一括で行う、「Dockerfile」ファイルと「docker build」コマンドの利用方法を紹介します。 docker run/docker commitコマンドによるコンテナー作成の限界 前回はDockerコンテナーを「docker run」コマンドで起動し、コンテナー内でソフトウェアのインストールやサービス起動など自由に構成で
DockerCon 2014 に行ってきた。 この会期中には各社からいくつもの製品が紹介/発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 より自由にユーザーがクラウドベンダーを選べる時代へ。どうやってクラウドにうまくデプロイするかではなく、アプリケーションそのものに注力できる時代へ。 Dockerとは Docker とはいわゆるコンテナ技術の1つで、Linuxホスト環境の中に隔離された別のLinux環境を作ってくれる技術だ。 軽量仮想マシンと呼ばれたりもする。 Solaris Container とも似ている。 新しくないDocker 1つ述べておくとDockerは技術的には新しくない。Dockerの価値は技術以外にある(とDockerのCEOもDockerConで言ってた)。 技術的にはSolarisにはSolaris 10の頃か
Docker はただ LXC を再発明しているわけではないというお話。DotCloud のファウンダーによる stackoverflow の質問への回答。 LXC はネームスペースやコントロールグループ等の Linux カーネルケーパビリティ機能を利用し、プロセスを他のプロセスからサンドボックス化し、それらプロセスへのリソースの割当てをコントロールしている。Docker はこのローレベルのカーネル機能を軸に、以下のような機能を提供している。 LXC に対し Docker が提供している機能 どんなマシンへもポータブルデプロイ可能 Docker はアプリケーションをビルドするためのフォーマットが定義されており、その全ての依存関係を (Docker がインストールされている全てのマシンで動作する) 単一のオブジェクトに入れ、それはどこで実行してもアプリケーション実行環境が同一になります。LXC
Docker をいじって遊んでいる。 http://www.docker.io/ Docker は PaaS ベンダの DotCloud がその PaaS のバックエンドとして使っている (?) ミドルウェアを公開したもの。適当な条件の VM をポコポコ生み出してはテストや実際の運用に使うことができたりするもの。例えば「Ruby と Bundler が入っている VM」みたいなのを設定で作っておくと、後日何か Ruby でアプリケーションを動かしたいと思ったときにそのイメージをベースに VM を作ってデプロイしてやればすぐにアプリケーションが動き出す。そもそも PaaS がやっているのはそういう事で、それを汎用化したのが Docker。Travis CI のような、各言語ごとの実行環境が整った VM みたいなものに任意のコードを渡してビルドさせる、みたいなプラットフォームを作るのにも使える
昨日 http://d.hatena.ne.jp/naoya/20130620/1371729625 で書いたように Docker を使えば、欲しい VM を "任意の状態" で簡単にかつ" "瞬時に" コピーして作り出すことができる。 「任意の状態」というのは、例えば「OS は CentOS で、Ruby と Chef が入っている」みたいな VM のこと 「瞬時に」というのは本当に瞬時。VM の起動時間を待ったり、Ruby や Chef を入れる時間を待つ必要はない serverspec でテストをする場合、真っ新な VM を用意してそれにプロビジョニングを行って、その後に破棄するみたいなことを良くする。このとき「真っ新なVM」を立ち上げるのに、Vagrant などが使えるが、Vagrant だとテストの度に VM を一から作り直す・・・つまり vagrant up しなければいけない
仮想化の分野はどんどんと新しいものが出てくる。全部を実際に試すことは出来なくても、筋が良さそうなものについては、どういうものなのかある程度把握しておきたい。最近はちょっと忙しくてあまり情報収集ができてなかったので、追いつこうと思ってちょっと調べてみた。 ハイパーバイザ型仮想化とコンテナ型仮想化 仮想マシンの歴史をたどると、メインフレームの方では随分と昔から使われている技術である、と出てくる。一方で、x86の世界ではそれほど歴史は長くなく、1999年にリリースされたVMwareがおそらく実用的な初の仮想マシン技術だろう。 VMWareはハイパーバイザ型仮想化と呼ばれる技術で、上に乗るOS(ゲストと呼ばれる)に対して仮想的なハードウェアを提供する。ハイパーバイザ型も、どのレイヤで仮想的なハードウェアを提供するかで更に細分化されるらしいが、よく知らないので、ここではそこまでは踏み入らない。ハイパ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く