タグ

LXCに関するu_wot_m8のブックマーク (10)

  • 第55回 コンテナと仮想マシンのマネージャ"Incus" | gihyo.jp

    この連載は、「⁠LXCで学ぶコンテナ入門」というタイトルです。序盤を除くと、LXC自身を紹介するというよりは、Linuxカーネルに実装されているコンテナ関連の機能を紹介をすることが多く、カーネルの機能を紹介する際に、実行例でLXCを使ってきました。その後、LXCを開発しているLinuxContainersプロジェクトからは、コンテナマネージャとしてLXDの開発がスタートし、この連載でもLXDを使ってカーネルの機能を説明することがありました。 LXDは、コンテナと仮想マシンの両方を管理できるマネージャソフトウェアです。LXCもLXDも、OS環境を起動させるシステムコンテナを扱うことを主眼に開発されています。 gihyo.jpでは、LXDについては連載ではなく、Ubuntu Weekly Recipeで柴田充也さんが頻繁に取り上げており、基的な操作から応用まで幅広い話題が紹介されています。

    第55回 コンテナと仮想マシンのマネージャ"Incus" | gihyo.jp
  • 第769回 Canonicalが開発するLXDの公式Web UIであるLXD-UIを試してみる | gihyo.jp

    コンテナ・仮想マシンの管理システムである「LXD」は、lxcコマンドを駆使してCLIで管理します。長らくLXD向けのGUIが求められていましたが、先日ようやくWeb UIが実験的に投入されました。今回はこの「LXD-UI」を実際に試してみましょう。 図1 LXD-UIを使えばウェブブラウザーからもLXDインスタンスのデスクトップ画面を操作できる LXDのUI事情 最初にも説明したように、LXDとはUbuntuに搭載されているコンテナ・仮想マシンの管理システムです。このうち「コンテナ」は、いわゆる「システムコンテナ」を扱います。Dockerのようなプロセスコンテナ、Flatpak/snapのようなアプリコンテナとは異なり、仮想マシンのようにsystemdがinit(PID=1)として立ち上がり、カーネルを除けば普通のUbuntuの複数のプロセスが同じコンテナの中で動くシステムです。また、シス

    第769回 Canonicalが開発するLXDの公式Web UIであるLXD-UIを試してみる | gihyo.jp
  • 第51回 Linuxの非特権コンテナで利用するID mappedマウント(2) | gihyo.jp

    前回は、ユーザ名前空間を使った一般ユーザ権限で起動するコンテナ(非特権コンテナ)から、コンテナのファイルシステムを使用する際の問題と、その問題を解決するためにID mappedマウントが利用できることを説明しました。そして、ID mappedマウントの簡単な動きを説明しました。 今回は、ひきつづきmount-idmappedコマンドを使いながら、実際のユースケースに近い動きを見ていきましょう。 コンテナから利用するID mappedマウント まずは一般ユーザ権限で起動するコンテナから、ID mappedマウントを利用した際の動きを見てみましょう。 一般ユーザ権限で起動するコンテナから、ID mappedマウントを利用する際に確認する動きは図1のようになります。前回説明したID mappedマウントの動きに、さらにユーザ名前空間が使うマッピングが適用されますので、方向が逆の変換が2度行われる

    第51回 Linuxの非特権コンテナで利用するID mappedマウント(2) | gihyo.jp
  • 第50回 Linuxの非特権コンテナで利用するID mappedマウント(1) | gihyo.jp

    2014年に始めたこの連載もついに50回になりました。この連載は当初12回の予定で、LXCの機能を中心に紹介するつもりでした。しかし、書いているうちに予定の回数には収まらないほど書きたいことが出てきて、結局予定していた内容を書き終えたのは第26回でした。 内容についてはLXCの機能について書いたあとは、Linuxカーネルに実装されるコンテナ関連機能の紹介が中心になりました。ここ数年はLinuxカーネルに実装されるコンテナ関連の大きな機能の追加が少なくなったことと、それ以上に筆者が新しい機能を勉強する時間が少なくなり、記事として書ける内容を取得するスピードが減速したので、新しい記事を書く頻度は減りました。 このようなマイペースな連載に長くお付き合いいただきありがとうございます。スピードが減速したとはいえ、まだ書きたいネタがなくなったわけではないので引き続きお付き合いいただければと思います。

    第50回 Linuxの非特権コンテナで利用するID mappedマウント(1) | gihyo.jp
  • 第48回 cgroup v2から使うコントローラとmiscコントローラ | gihyo.jp

    5.13カーネルを使っており、デフォルトでcgroup v2のみがマウントされているUbuntu 21.10の環境では、root cgroup配下のcgroup.controllersは次のようになっています。 $ uname -r 5.13.0-21-generic $ grep cgroup /proc/self/mountinfo 35 25 0:30 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime shared:9 - cgroup2 cgroup2 rw,nsdelegate,memory_recursiveprot $ cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory hugetlb pids rdma misc Ubuntu 21.10のような新しい環境では、

    第48回 cgroup v2から使うコントローラとmiscコントローラ | gihyo.jp
  • 第47回 非特権コンテナの可能性を広げるseccomp notify機能 | gihyo.jp

    前回の連載が掲載されたあと、久々にコンテナの勉強会をオンラインで開催しました。2回に渡って、cgroupをテーマにカーネルの実装に踏み込んだ内容のお話が聞けました。私もcgroup v1の内部構造についてお話しました。動画は公開されていますのでぜひご覧ください。 さて、今年も気がつけばもう12月で、Advent Calendarの季節になりました。今年はいろいろなことがありましたが、今振り返るとあっという間だった気がします。今年もこの連載で毎年参加しているLinux Advent Calendarに参加します。この記事はLinux Advent Calendar 2020の15日目の記事となります。 この連載は、名前に「LXCで学ぶ」と付いているわりには、最近まったくLXCが出てきませんでしたが(^_^;)、今回は久々にLXCコンテナを使って機能の説明をしたいと思います。とは言ってもLXC

    第47回 非特権コンテナの可能性を広げるseccomp notify機能 | gihyo.jp
  • 第41回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[5]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社

    前回の最後で「次回以降はしばらく私ではなくudzuraさんにお書きいただく予定です」と書きました。しかし、年末に近づきAdvent Calendarの募集が始まるようになり、Advent Calendarの存在をすっかり忘れていたことに気づきました。 毎年、Advent Calendarに参加していましたので今年も何か参加しようと思って登録だけはしました。その後に書く内容を考えたのですが、思いついた内容がcgroup v2関連でしたので、これは連載の記事にしよう思いました。というわけで今回も前回までに続いて加藤による記事となります。この記事はLinux Advent Calendar 2018の14日目の記事です。 今回は4.13、4.14カーネルでcgroup v2に追加された機能について紹介します。 nsdelegate オプション 第38回でcgroup v2のマウント方法を紹介しま

    第41回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[5]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社
  • 第40回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[4] | gihyo.jp

    実効UIDの制限がなくなった理由は、表2の2つめの条件が加えられたためです。完全に自身がコントロールしているツリーでなければプロセスを移動できませんので、任意のプロセスは移動できません[2]⁠。 文字で書くと条件が少しわかりづらいですね。実際に、cgroup v2で非特権の場合にプロセスを移動させてみましょう。 図4 cgroup v2でのプロセスの移動(1) 図4のような構成のツリーがあるとします。まずはcgroup_Bを作成し、ディレクトリとcgroup.procsファイルの所有権を変更します。 $ sudo chown ubuntu /sys/fs/cgroup/cgroup_B (cgroup Bをubuntuユーザ所有に) $ sudo chown ubuntu /sys/fs/cgroup/cgroup_B/cgroup.procs (cgroup Bのcgroup.procs

    第40回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[4] | gihyo.jp
  • 第35回 コンテナのネスト[1] | gihyo.jp

    前回は、名前空間ごとに仮想化したcgroupツリーが見える、Linuxカーネルのcgroup名前空間という機能を紹介しました。 今回はそのcgroup名前空間の応用例を紹介することを兼ねて、コンテナ内でコンテナを動作させてみます。つまりコンテナをネストさせて遊んでみようという企画です。 今回はroot権限で動作するコンテナを使ってネストを試してみます。試している環境はUbuntu 16.04です。コマンドの実行例は、実行している環境が、ホストなのかどのコンテナなのかがわかりやすいようにプロンプトまで引用しています。 親コンテナの作成と起動 まずはホスト上にコンテナを作成します。 ubuntu@host:~$ sudo lxc-create -n parent -t download -- -d ubuntu -r xenial -a amd64 ここではネストさせるコンテナの「親」という意

    第35回 コンテナのネスト[1] | gihyo.jp
    u_wot_m8
    u_wot_m8 2017/07/18
  • 第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp

    第458回ではUbuntuにおけるDockerのインストール方法を紹介しました。ところでDockerと同じコンテナ技術を利用したソフトウェアとして「LXD」が存在します。このLXDとDockerは排他的な存在ではなく、用途にあわせて組み合わせて使うと便利なツールです。そこで今回はLXDで作った仮想環境上でDockerコンテナを動かす方法を紹介します。 LXDの上でDockerを使う Dockerと同様にカーネルのコンテナ技術を利用したソフトウェアのひとつにLXDが存在します。Dockerがひとつのコンテナでひとつのアプリケーションを動かす「アプリケーションコンテナ」としての利用をメインに据えているのに対して、LXDは軽量な仮想マシンのように使える「システムコンテナ」としての使い方を提案していることがもっとも大きな違いです[1]⁠。 両者の具体的な違いを見ていきましょう。ちなみに個々の環境や

    第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp
  • 1