CoreOS Tectonic:コンテナーLinux、Quay.io、rkt、およびetcd

ネイティブKubernetes Webサーバークラスター用の軽量Linuxディストリビューション & SaaSアプリ

Container Linuxディストリビューションを管理するクラウドソフトウェア開発会社であるCoreOSは最近、Tectonicバージョン1.64(2017年5月31日)をリリースしました。これにより、AWSまたはセルフでウェブ/モバイルアプリサポート用のKubernetesクラスターを迅速かつ簡単にデプロイできます。ホスト型クラウドサーバーネットワーク。 Core OSは、GitHubで会社開発中の100を超えるオープンソースソフトウェアプロジェクトを所有しています。これには、etcd、flannel、rkt、Ignition、Clair、Matchbox、dex、prometheus-operatorsなどがあります。 Tectonicは、最大10ノードのKubernetesクラスターで無料で使用できます。その後、多数の異なるエンタープライズデータセンター, & ビジネスライセンスは、専門的なテクニカルサポートとともに利用できます。 Quay.ioは、CoreOSが独自のライセンスで提供する別のクラウドSaaS製品であり、DevOpsチームがDockerまたはrkt、Kubernetesクラスター、Container Linuxを使用してコンテナースナップショットを管理するのに役立ちます, & CoreOS Tectonicの大規模な生産。 Quay.ioには、高度なGitHub、Bitbucket、またはGitlabサポート(Dockerfile Build Triggers)を備えたWebサーバースタックソフトウェアの統合セキュリティ、分析、請求、モニタリング、リポジトリビルド、自動バックアップ、およびバージョン管理を備えたコンテナースナップショット管理機能が含まれています.


ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

CoreOSはLinuxで新しいオープンソースクラウドソリューションを開発している主要なソフトウェア企業の1つであり、同社はカリフォルニア州パロアルトのガレージでAlex Polvi(CEO)、Brandon Philips(CTO)、およびMichael Marineauによって2013年に設立されました。彼の会社は2010年にCloudkick to Rackspaceに移行し、Philips(旧SUSE Linuxカーネル開発者)とCore OSを結成しました。 & Rackspaceクラウドプログラマー) & マリノー(Googleから)。同社の当初の目的は、基本的にGoogleがデータセンターで運用していたものを複製するコンテナー用の軽量Linuxディストリビューションを構築することでした。 "ボルグ". 当時、Kubernetesはまだ公開されておらず、オープンソースでもありませんでしたが、KubernetesプラットフォームのガバナンスがLinux Foundationに引き継がれた2014/15以降、CoreOSはCloud Native Computing Foundation(CNCF)で主要な役割を果たしましたのために “一般的なテクノロジーに関する開発者とオペレーター間のコラボレーションを促進するのに役立ちます.” その後、GoogleはKubernetesおよびDocker(GKE)向けのGoogle Container Engineも発売し、AWS、Azure、OCP、VMware、RHELなどの競合するクラウドプラットフォーム全体で両方の標準が採用されるようになりました。ほぼすべての主要なクラウドソフトウェア会社がKubernetesを所有しています。 etcdが広く使用されている2017年のクラスターWebサーバーソリューション & CoreOS(CloudFoundry、Fedora、ArchLinux)によるrktソフトウェア。 CoreOS Tectonicは、GKE、RancherOS、Docker Swarmと競合するか、独立型のベアメタルWebサーバークラスター管理用のセルフホストハイブリッドクラウドオプションとしてKubesprayを使用します("ベンダーに依存しない")データセンターのハードウェア.

ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

CoreOS Container Linuxは、2013年にGoogleが発表した有名な研究論文で概説されているニーズに合わせて開発されました。 "コンピューターとしてのデータセンター:倉庫規模の機械の設計入門." (バローゾ、クリダラス, & Hölzle)このホワイトペーパーでは、単一サーバーの設計とは対照的に、クラウドモデルでのデータセンターインフラストラクチャの構想の背後にある原則について概説しました。エンタープライズ展開に汎用ハードウェアと数百万のサーバーがあるため、クラウドネットワーク管理者は、不可避のCPU、RAMを計画する必要があります, & その他のシステムハードウェア障害。複数のバックアップコピーと、ユニット障害が発生した場合のそれぞれの真実性は、同じ原理がCAP定理を介してエラスティッククラスター内のクラウドサーバーに適用されるRAIDストレージの主要な部分です & Paxosアルゴリズム。 CoreOSはetcdでこれらの問題を解決し、自己更新によるKubernetesクラスターのアップグレードを可能にしました & 再起動ロックを使用して、調整された非同期更新をサーバーにプッシュするプロセスを修復します。これにより、一度に膨大な数のラックマウントサーバーにまたがるデータセンターのセキュリティパッチの大量更新を簡単に適用できます。 etcdには、ハードウェアの障害が発生した場合にWebサーバーの構成、秘密鍵、パスワードの変更、およびその他の環境変数を保存するための優れたストレージアプリケーションがあり、オープンソースライセンス条件で業界全体の主要な標準となっています。 etcdはGoogle(CFS、GFS、Big Table、Chubby、Spanner)、Amazon(E2複製ログ)、Microsoft(Boxwood)、Hadoop(ZooKeeper)、および他の多くのクラウドソフトウェア企業で、リーダー選挙におけるPaxosの問題を解決するために使用されています、ウェブサーバーのシャーディング、秘密暗号鍵の喪失, & データセンターのハードウェア障害を伴うその他の構成変数。 Docker & rktコンテナーは、ハードウェアオペレーティングシステムからのユーザー実行入力を含むWeb /モバイルアプリケーションコードを分離して、クラウド内の全体的な分離データセキュリティを向上させます.

デモビデオ:Brandon Philips(Linuxカンファレンス2015-オークランド、ニュージーランド)

CoreOS:はじめに – "大規模なプラットフォームのアーキテクチャパターンは変化しています。専用のVMと構成管理ツールは、コンテナー化とsystemdなどの新しいサービス管理テクノロジに置き換えられています。このプレゼンテーションでは、etcd、艦隊、Dockerなどの主要なテクノロジーの概要を説明します。これらの新しいテクノロジーを使用して、高性能で信頼性の高い大規模な分散システムを構築する方法を学びましょう." CoreOS、Kubernetesの詳細, & コンテナLinux

OpenVZ、KVM、Xen、Parallels、VMwareなどのプラットフォームで動作するVPSなど、VMとして機能するアプリケーションコンテナーとシステムコンテナーの違いを理解することが重要です。コンテナーは、分離されたパーティションを使用してデータセンターのさまざまなレイヤーでオブジェクト指向ソリューションを作成するために使用できる代替仮想化ハイパーバイザーを提供します。 VPS / VMはコンテナー内のエラスティッククラスターにインストールおよびスケーリングでき、その逆も可能です。コンテナー構成と市場で入手可能な他のさまざまな仮想化プラットフォームの組み合わせを使用して、エンタープライズIT、SaaS / PaaS / IaaSベンダー、モバイルソフトウェアアプリケーション、およびWebホスティング会社向けの複雑なソリューションを作成できます。ほとんどのコンテナソリューションには専用SSHが含まれていません & VPSまたはVMインスタンスに特徴的なネットワークツールですが、これは、本番環境で使用されるアプリケーションコンテナーが、利用可能な最も軽量なLinuxディストリビューションに基づいていることの一部です。 DevOpsの現在の慣例は、Webで必要な特定のサーバー拡張機能のすべてがバンドルされた、本番環境のコードの最上位層の完全なLinuxスタックを含めることです。 & ビルドパッケージまたはバイナリによるモバイルアプリ。 DockerコンテナとrktコンテナがUnixカーネルとUnix APIを利用する独自の方法により、分離された & データセンター内のWebサーバーハードウェアでのリソース消費をより適切に分離するために、コンテナー内外の構成変数をマップするために使用できるグローバル名前空間.

ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

CoreOS、Fedora、ArchLinuxを搭載したrkt, & NixOS – "rktのコア実行ユニットは、共有コンテキストで実行される1つ以上のアプリケーションのコレクションであるポッドです(rktのポッドは、Kubernetesオーケストレーションシステムの概念と同義です)。 rktを使用すると、ポッドレベルとアプリケーションごとのより詳細なレベルの両方で、分離パラメーターなどのさまざまな構成を適用できます。 rktのアーキテクチャは、各ポッドが従来のUnixプロセスモデル(つまり、中央デーモンがない)で、独立した独立した環境で直接実行されることを意味します。 rktは、モダンでオープンな標準のコンテナー形式であるApp Container(appc)仕様を実装していますが、Dockerで作成されたものなど、他のコンテナーイメージを実行することもできます。." rkt Container Engineの詳細

ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

ビルド & 大規模なコンテナーのデプロイ: "Quay.ioを使用して、GitHub、Bitbucketなどと統合し、コンテナーのビルドを自動化します… Quayはコンテナーの脆弱性を継続的にスキャンし、既知の問題とその修正方法を完全に可視化します." Quay.ioの詳細

デモビデオ:Kelsey Hightower(CoreOS Workshop 2015-Geekdom、SF)

CoreOSとKubernetesを使用したコンテナーオーケストレーション – "このハンズオンワークショップでは、コンテナオーケストレーションの最新の手法を学び、コンポーネントが連携してLinuxコンテナのクラスタを管理する方法の例を示します。クラウドまたはベアメタルのインフラストラクチャに電力を供給する機能により、セッションでは、参加者が多層Webアプリケーションをデプロイおよび管理する方法を示す例として、CoreOSを備えたKubernetesを使用します." CoreOSの詳細 & Kubernetes

ケルシーハイタワーによると、Googleで働いた有名なKubernetesエバンジェリスト & CoreOS、KubernetesはCloudFoundry、Heroku、またはOpenDeisと競合しません。 "完全なパス" 運用中のDevOpsおよびクラウドホスティングソリューション向け。むしろ、多くの競合するPaaS / SaaS企業が、クラウドホスティングプロバイダー間の優れたクロスプラットフォームの相互運用性とデータの移植性を備えた新しいオープンソースソリューションを構築できるのは、主にコンテナー管理、スケジューリング、およびサービスディスカバリに特化した仮想化フレームワークです。 Kubernetesサービスディスカバリは主に、エラスティッククラスター内のサーバーノードの数の監視と調整、および状態変更の更新によるコピー間の同期にetcdを使用することに関するものです。コンテナーに共有IPアドレスを使用するDockerとは異なり、Kubernetesはネットワーク内のすべてのサーバーノード間の通信を維持しながら、すべてのポッドに一意のIPアドレスを提供します。一意のIPアドレスは、基盤となるコンテナーオペレーティングシステムからWeb /モバイルアプリケーションコードを分離し、DevOpsの継続的な公開またはバージョン管理ツールと統合されたプログラミング言語拡張、Webサーバープラットフォーム、またはカスタマイズされたスタックを本番環境で実行できるようにします。 Dockerの他の代替 & rktコンテナは次のとおりです。

  • LXC
  • クラウドファウンドリーガーデン
  • Mesos Containerizer
  • systemd-nspawn
  • Google lmctfy(defunct)

ジョブスケジューリング、サービスディスカバリ, & クラスター管理は、コンテナーがWebサーバーネットワーク用に改善するデータセンターアーキテクチャの主要な側面です。 CoreOS、RancherOS、およびその他のContainer Linuxソリューションが進歩する前は、クラウドホスティングの最初の段階のプログラマーはChef / Puppetスクリプトを使用して、大規模な自動コンテナーインストールのビルドスナップショットを共有していました。コンテナを使用すると、マルチテナントのPython、Java、Nginx、MySQL、OpenSSLなどのアプリをランタイムで簡単にサポートできます。コンテナはまた、拡張プラットフォームの更新と更新の間にアクティブなコードを維持することで、開発者に高い柔軟性をもたらし、Webサーバーにパッチを適用し、セキュリティ更新のローリングによって本番用コードが破損しないようにします。これは実際には明らかに難しいため、Container Linuxの原則はOSをシンプルに保つことです。カーネルのセキュリティのみを維持し、LinuxのカーネルAPIを壊さないことにより、コンテナはすべての拡張機能を備えたユーザー空間で実行できます & マルチテナントネットワーク管理における全体的なセキュリティが強化されたツールの分離.

ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

CoreOSコンテナLinux – "Kubernetesは、Googleに着想を得た強力なコンテナ管理ソフトウェアです’コンテナの運用経験。サービスディスカバリ、自動ロードバランシング、コンテナレプリケーションなどの重要な機能が組み込まれています。さらに、’■すべてがHTTP APIを介して提供される… Linuxコンテナは、アプリケーション開発者と運用チームの両方に多くの利点を提供します。 Container Linuxでは、ソフトウェアをコンテナーとしてのみインストールできます。これは、オペレーティングシステムと、上で実行されているアプリケーション(および依存関係)の間の重要な抽象化レイヤーです。." Container Linuxの詳細

コンセプトビデオ:etcd v 3-Brandon Philips(CTO /共同設立者CoreOS)

Raft:分散型コンセンサスプロトコル – "etcdはGoで記述されており、優れたクロスプラットフォームサポート、小さなバイナリ、その背後にある素晴らしいコミュニティを備えています。 etcdマシン間の通信は、Raftコンセンサスアルゴリズムを介して処理されます." Raft DCPの詳細

Kubernetesシステムでは、Terraform、Fleet(System Dと同様)、Mesos、CoreOS Tectonic、Docker Swarmなどを使用して、etcdが重要なコンポーネント( Locksmithに似ています)、エラスティッククラスター全体のユーザー変数入力の変化からの状態変化を調整します。傀儡 & Chefスクリプトも実装できます。このようにして、システム管理者は1 GBのRAMでSaaSアプリケーション(ウェブサイトまたはモバイルアプリ)の100インスタンスを実行するなどのパラメーターを設定でき、Kubernetesスケジューラーは温度計などのシステムリソース全体のレベルを維持し、ノードをシャットダウンしますネットワークの状態に応じて。このため、レプリケートされたコンテナーベースのWebサーバーに多くの静的ファイルが格納された大規模なビルドを使用することはお勧めしません。これにより、httpsトラフィックリクエストで必要なすべてのエラスティックノードWebサーバーが利用できるAPI駆動のクラウドストレージ機能が増えます。 。これにより、サービスディスカバリメカニズム(SkyDNS、discovered、Confd、マジックプロキシなど)を使用して、パブリックネットワーク上のブラウザーリクエストからユーザーの地理位置情報を関連付け、ロードバランシングを改善し、データセンターの内部リバースプロキシファイルキャッシング用の新しいソリューションを構築することもできます。 Webホスティングパフォーマンスの向上.

ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

Dockerfile Build in the Cloud – "Dockerfileを使用してイメージを構築したいですか? Dockerfile(および必要な追加ファイル)をアップロードするだけで、Dockerfileがイメージに構築され、リポジトリにプッシュされます。 DockerfileをGitHub、Bitbucket、またはGitlabに保存する場合は、ビルドトリガーをリポジトリに追加します。変更を加えるたびにDockerfileのビルドが開始されます…リポジトリをできるだけ多くの(または少ない)ユーザーと共有します選ぶ。チーム専用のリポジトリが必要ですか?チームメンバーと簡単に共有…世界と共有したいですか?リポジトリを完全に公開する." Quay.ioの詳細

ネイティブKubernetes WebサーバークラスターおよびSaaSアプリ用の軽量Linux Distro

etcd & Kubernetesクラスターの状態 – "etcdは、マシンのクラスター全体にデータを格納するための信頼できる方法を提供する分散キー値ストアです。それ’■オープンソースで、GitHubで入手できます。 etcdは、ネットワークパーティション中にリーダーの選出を適切に処理し、リーダーを含むマシン障害を許容します." CoreOSの詳細 & Kubernetes(etcd)

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me