\r\n\r\n

コンテナLinuxとは何か、そしてそれを使うべきか?

コンテナ Linux は,以前は coreos として知られ,コンテナによる単純なデプロイメント用に設計された Linux オペレーティングシステムです.この概要とコンテナLinuxのハンズオンでは、より多くのことをお伝えします...

Linuxオペレーティングシステムには、さまざまなスタイルがあります。UbuntuのようなLinux OSはかなり汎用的ですが、ニッチな市場をターゲットにしたものもあります。セキュリティ重視のKali Linuxや、Xubuntuのような軽量ディストリビューション、さらにはHannah Montana Linux(!)などがあります。.デスクトップ用途では、通常のLinux OSで十分です。しかし、サーバーを動かすような特殊な作業には、カスタマイズされたバージョンを探すのが一番です。

コンテナの普及が進んでいます。 コンテナLinuxは、以前はCoreOSと呼ばれ、コンテナによるシンプルなデプロイメントのために設計されたLinuxオペレーティングシステムです。最新のニッチなLinuxオペレーティングシステムの一つです。この概要とContainer Linuxの動作をご確認ください。

コンテナリナックスの実際:背景知識

コンテナLinuxを掘り下げる前に、サーバーのアーキテクチャについて簡単に説明します。コンテナLinuxは、クラスタ化されたデプロイメント用に設計されています。クラスター展開は非常に複雑に聞こえますが、かなりシンプルです。本来、コンピュータのクラスタは、複数のサーバーが連携して動作することで成り立っている。そのため、複数ではなく、1つのユニットやシステムとして機能します。また、クラスタ内のコンピュータには、同じ機能を果たすノードやサーバーが存在します。したがって、ノードはマシンであり、クラスターは一緒に働くサーバーのグループである。

一般的なコンテナLinuxの導入は、クラスター環境での導入がほとんどです。以前はCoreOSとして知られていたディストリビューションは、1台のマシンからクラスタを起動する方法まで含んでいます。しかし、コンテナLinuxの特徴は、コンテナに依存することである。

従来のデスクトップOSとは異なり、すべてのアプリケーションはコンテナで動作します。仮想マシン(VM)とコンテナはどちらも仮想化方式を採用していますが、コンテナは異なります。VMとは異なり、コンテナはホストと同じオペレーティングシステムのカーネルを使用します。コンテナ化されたアプリケーションはホストと同じカーネルを使用するため、コンテナのデプロイは効率化の恩恵を受けることができます。VM構成では、各VMはアプリケーションとゲストオペレーティングシステムを実行します。ホストOSとハードウェアの上で動作する。

Dockerは今でも最も人気のあるコンテナソフトウェアですが、chroot、LXC、LinuxVServerがDockerの代替品となっています。

コンテナLinuxの実際:なぜコンテナを使うのか?

コンテナとは、仮想化の手法の一つである。なぜコンテナ環境を選ぶのか?一般的に、コンテナはパフォーマンスを向上させます。個別のOSを使用せず、共有カーネルを使用することで、CPU、ストレージ、メモリの効率を最大化することができます。

VM構成のようにOSのインスタンスを複数起動する必要がないため、より多くのコンテナを実行することができます。この性能向上は、オペレーティングシステムを1つにすることに起因しています。同様に、VM環境よりもはるかに高速にコンテナを作成することができます。その結果、コンテナはアジリティを維持し、継続的デリバリーや継続的インテグレーションを可能にするのに適しているのです。

アジャイル開発は、反復と予測不可能性への配慮に重点を置いています。アジャイルの理念については、「アジャイルマニフェスト」を読むとよくわかります。しかし、多くの利点があるにもかかわらず、コンテナは仮想化に対する完璧なアプローチではありません。コンテナはホストOSのカーネルを共有するため、セキュリティ上のリスクがある。コンテナのオペレーティングシステムへのアクセスに影響を与えるあらゆる脆弱性またはエクスプロイト。しかし、コンテナ化されたアプリケーションを仮想マシンのOS上で実行することは、一つの解決策です。これにより、ホストOSは単一コンテナのホストOSから隔離されます。

また、コンテナ化では、コンテナが同じオペレーティングシステムを使用する必要があります。仮想マシンでは、各アプリケーションが独自のオペレーティングシステムを持ちます。したがって、Windows Server用に設計されたアプリケーションをコンテナ化されたLinux環境で実行することはできませんし、その逆も同様です。

コンテナリナックス(コンテナリナックス)は何ですか?

CoreOS、または現在知られているContainer Linuxは、オープンソースのLinuxオペレーティングシステムです。クラスタ化されたデプロイメントを可能にするために設計された、軽量のディストリビューションです。具体的には、CoreOSは、シンプルで信頼性が高く、スケーラブルなデプロイメントに重点を置いています。パッケージ・マネージャーは見当たりません。その代わり、Container Linuxでは、すべてのアプリケーションをコンテナ内で実行する必要があります。Container Linuxは、Chrome OSをベースにしています。そのため、Container Linuxはかなり軽量なままです。テスト目的で、年季の入ったHP Envy m6-1205dx AMD A10ノートパソコン上の仮想マシンでLinuxオペレーティングシステム(旧CoreOS)を走らせました。システムリソースの消費を低く抑えた。

Container Linuxは、従来のデスクトップLinuxオペレーティングシステムの機能をいくつか回避しているため、ディストリビューションの軽量性を維持しています。デスクトップOSとは異なり、パッケージマネージャーは見当たりません。その代わり、すべてのアプリケーションはDockerコンテナとして実行されます。これにより、ポータビリティとサービスの分離が容易になります。デスクトップ環境が欲しい人は、ぜひ。コンテナLinuxには、グラフィカル・ユーザー・インターフェースがない。CoreUpdateダッシュボードでは、マシンの稼働状況、稼働中のサービス、クラスタの稼働状況についての情報が提供されます。ただし、Advanced Managed Linuxサブスクリプションのコンポーネントとしてのみ利用可能です。

コンテナ型リナックスアーキテクチャ

コンテナLinuxは軽量で、コンテナ化およびクラスタリングのために設計されています。デスクトップ環境がないため、CentOSやUbuntuなどのLinux OSとは設定機能が異なります。初回起動時に、Container Linuxはクラウド設定ファイルを読み込みます。クラウド設定に情報を入力する必要があります。これは、特にクラウドの設定に慣れていない人にとっては、少し厄介なことかもしれません。しかし、Container Linuxが基本的なサービスのロード、パラメータの変更、クラスタの管理などを行うための基本的なファイルである。

さらに

etcd

fleet

デーモンは今でもコンテナLinuxに不可欠な要素です。デフォルトでは、両方のサービスが起動時に開始されます。さらに、起動時にクラウド設定ファイルによって、既存のクラスタに参加する方法をホストに知らせます。この

etcd

デーモンは、クラスタ内のホストのデータを配布し、保存します。これは、設定とサービスの発見を維持するために不可欠です。

fleet

このデーモンは分散型初期化に似ています。このデーモンは

systemd

クラスタ内のホストを初期化し、サービスのスケジューリングなどのタスクを担当する。

システム内の各システム

fleet

クラスターは1つだけ実行する

fleetd

デーモンがこのデーモンは、エージェントとエンジンという2つの主要な責務を担っている。エンジンであるデーモンは、スケジューリングの決定を実行する。そして、エージェント側がそのユニットを実行する。フリートグループにおいて

etcd

クラスタの存在、ユニットの状態、ユニットファイルなどの情報は

etcd

さらに、フリートエージェントとエンジンとの通信媒体の役割も果たしている。

コンテナリナックスの実際: 誰が使うべきか?

containerlinuxは、無料でダウンロードでき、軽量で、仮想マシンへのインストールもかなり簡単です。高速でスケーラブルなコンテナ化されたデプロイが必要な人は、コンテナリナックスを選ぶべきです。ほとんどのシステム管理者とデータベース管理者は、コンテナリナックスから最も恩恵を受けるでしょう。Container Linuxはデスクトップ環境がないため、クラスタ管理やサーバーのセットアップに最適です。LinuxサーバーOSをお探しなら、ContainerLinuxは12種類のLinuxサーバーディストリビューションのうちの1つです。

Air Pairでは、CoreOSのインセンティブについて優れたまとめが掲載されています。論文では、コンテナLinuxを利用するための主なツールとして、高可用性、本番環境整備、ソフトウェアバージョン管理、etcdを挙げている。また、非常に熱心なオープンソースコミュニティが存在することも特筆すべき点です。Container Linuxは、Linuxの経験豊富なユーザー向けに作られています。ヘルプは充実していますが、Linuxにある程度慣れていることが前提です。初心者や初級者は、最初のインストール時に何らかの問題が発生する可能性があります。

具体的には、クラウドの設定に苦労することがあります。CoreOSのインストール動画のコメント欄で、YouTubeユーザーのsetyosonugrohoさんが、「Nice tutorial!CoreOSのクラウドプロファイルの設定について学ぶとき、非常に混乱することがあります。"コンテナ・リナックス "は、設定はそれほど難しくないものの、VIMエディタなど、Linuxの機能をしっかり把握していることが前提です。

コンテナリナックスを実際に使う:インストール方法

コンテナLinuxのインストール方法は様々です。CoreOSのウェブサイトによると、公式プラットフォームは、amazonec2、DigitalOcean、microsoftazure、ベアメタル、OpenStackである。CoreOSは、Azureと互換性のある数少ないLinuxオペレーティングシステムの1つです。活発なコミュニティにより、Packet、Rackspace、Brightbox、VirtualBox、VMwareなどのプラットフォームもサポートされています。VirtualBoxにContainer Linuxをインストールするために私が見つけた最も簡単な方法は、ISOファイルを使うことです。ここでは、VirtualBoxを使う方法について簡単に説明します。

virtualboxの設定

VirtualBoxを開くと、仮想マシン名、OSの種類とバージョンを入力する画面が表示されます。私はCoreOSと名付け、「タイプ」にLinuxを選択しました。バージョンとしては、Linux 2.6/3.x/4/x (64-bit)をご使用ください。次へ」をクリックします。

coreOS は最低でも 1024MB の RAM を推奨しています。

RAMを選択したら、「Create Virtual Drive Now」オプションを使用して、仮想ハードディスクを追加する必要があります。

次の画面では、ハードディスクのファイルタイプを入力するよう求められます。VDIまたはVirtualBoxのディスクイメージを選択します。

その後、記憶領域を設定します。私は、ダイナミックに割り当てられたハードディスクファイルを使用することをお勧めします。

ファイル名はデフォルトのCoreOSのまま、ファイルサイズは8gbを選択しました。

CoreOS VirtualBoxの仮想マシンが正しく設定されたら、続けて緑色のスタートボタンをクリックします。

Start "をクリックした後、起動ディスクを選択する必要があります。CoreOS ISOを取得したフォルダに移動し、続行します。

コンテナリナックスの設定

CoreOSのISOをブートすると、Container Linuxのロードが始まる。やがて、CoreOSのバージョンを示す行と、コマンドラインが表示されます。

core@localhost

で入力します。

sudo openssl passwd -1 > cloud-config-file

設定ファイルを開くことができない場合、コマンドラインに警告が表示されます。必要なパスワードを入力して続行します。

cat cloud-config-file

これで長い文字列が返され、新しいクラウドプロファイルが作成されます。

vi cloud-config-file

これは編集可能なクラウド設定ファイルを読み込みます。coreOSには、高度なクラウド設定ファイルのサンプルがあります。

私のは、こんな感じです。

#cloud-configusers: moepasswd: [SSL password]groups:- sudo- docker

以下のように入力することで、クラウドプロファイルを確認することができます。

cat cloud-config-file

これで設定ファイルが返ってきますので、問題なければCoreOSのインストールを進めてください:。

sudo coreos-install -d /dev/sda -C stable -c cloud-config-file

CoreOSのダウンロード、書き込み、検証中というメッセージが表示され、これが終わると「成功!」というメッセージが表示されます。

CoreOS仮想マシンを終了し、再起動します。バックアップを開始する際に、CoreOS ISOをアンインストールしていないと、ライブCDが再び実行されることを確認してください。

CoreOSがロードされ、コマンドラインにログインプロンプトが表示され

localhost login:

ユーザー名とパスワードを入力します。これにより、"Container Linux by CoreOS [version]"というメッセージと新しいコマンドラインがロードされます。

コンテナリナックスの実践活用:次のステップへ

CoreOSによるContainer Linuxが適切にインストールされたので、コンテナとクラスタのセットアップを開始できます。coreOSのドキュメントには、優れたクイックスタートガイドが用意されています。サービスディスカバリーにetcdを使用する情報や、Dockerコンテナ管理に関するセクションがあります。helloworld" Docker pullのような簡単なテストをしてみました。さらに、私は大のメディアサーバー好きなので、PlexのDockerイメージもインストールしました。最後に、クラスタ管理フリートを構築しました。

まず、Container Linuxの主要なコンポーネントを設定する。

  • 株式会社イーティーディー
  • 港湾労働者
  • 艦隊

この3つの主要な基盤を設定することで、サービスディスカバリー、クラスタ管理、コンテナのセットアップを実行することができます。これで、アプリケーションのコンテナ化や、安全なDockerコンテナでのデスクトップアプリケーションの安全なテストを開始する準備が整いました。

コンテナリナックスの実践:最終的な考察

私はあまりコンテナを使いませんが、Container Linuxはデプロイメントを簡素化します。サンプル設定ファイルを使ったドキュメントがとても充実しています。なお、初心者向けには、非公式のビデオによるインストールチュートリアルがあり、CoreOSのインストールが簡単にできるようになっています。CoreOSはContainer Linuxを軽量化したと謳っていますが、私は当初懐疑的でした。しかし、Container Linuxは、かなりリソースの消費が少ない仮想マシンで構築しました。Container Linuxが本当に軽いのか試したかったので、年季の入ったHPのノートPCを使いましたが、特に問題は起きませんでした。

しかし、初期インストールの手順の中には、あまり「初心者向け」ではないものもあり、Container Linuxのインストールとセットアップには、Linuxに精通していることが必要です。注目すべきは、私がCoreUpdateダッシュボードを試さなかったことで、CoreOSは有料のプレミアム機能を提供しています。コマンドラインでの使用も問題なかったのですが、モニタリングのためのグラフィカルな環境があれば、さらに良かったと思います。

システム管理者やデータベース管理者は、コンテナLinuxの恩恵を最も受けることができます。しかし、ホームサーバーにとっては、簡単かつ軽量にクラスタ環境を構築できる方法です。また、Container Linuxでは、1台のマシンからクラスターを起動することができます。しかし、Container Linuxは、コンテナを使うための良い入門書です。Dockerとコンテナについてもっと学びたいのであれば、Container Linuxは仮想マシン上で非常によく動作し、始めるのに必要なすべてのリソースを提供します。

経験豊富なDevOpsエンジニア、システム管理者、データベース管理者に加えて、コンテナ初心者の方にも最適なオフザシェルフ・ソリューションです。最終的にCoreOSは、スケーラブルで効率的なコンテナ化環境を簡単に構築する方法として、Container Linuxを提供しています。

CoreOSを使用していますか、また使用する予定ですか? Linuxでどのようにコンテナ化しているか、以下のコメント欄で教えてください。

  • 2021-03-15 05:37 に公開
  • 閲覧 ( 21 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ