SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
CoreOSってなんですか
2014/06/17
Tech-Circle
泉谷圭祐
自己紹介
• 名前 泉谷圭祐
• 所属
• TIS株式会社 IT基盤サービス企画室
• eXcale(https://www.excale.net/)の中の人
• SNS等
• Twitter @syguer
• Facebook https://www.facebook.com/keisuke.izumiya
• ブログ http://syguer.hatenablog.com/
http://blog.excale.net/
CoreOSとは
CoreOSとは
・Chrome OSベースの軽量なLinux Distribution
・コンテナ仮想化( Docker)に特化したOS
・オープンソース
・githubの最初のバージョンv0001.0.0は2013/7/3にタグが切
られている
・ベータリリースは2014/5/9
CoreOSの特徴
・A Minimal Operating System
!
・Painless Updating
!
・Docker Containers
!
・Clustered By Default
!
・Distributed Systems Tools
!
!
A Minimal Operating System
・小さく作られている
!
・平均的なLinuxのメモリ使用量の半分
!
・公式サイトによると161MBしか使わないとのこと
Painless Updating
・active / passive構成でrootパーティションが2つある
!
・OSのアップデート時にはpassiveの方を先に上げてから切
り替える
!
・無停止でのアップデート、ロールバックが可能
!
Docker Containers
・CoreOS上のアプリケーションはDoker Container上で動作
!
・Dockerのメリット(flexible、portable)を享受
!
Clustered By Default


Distributed Systems Tools
・クラスタとして動かすことが想定されている(fleet)
!
・設定を共有(etcd)
!
fleet
・fleetが適切にクラスタにアプリケーションを分散、管理
・アプリケーションが落ちたら他のホストに移動してくれる
etcd
・configを共有する
・REST APIになっており、curlで読み書き可能
  write : curl -L http://127.0.0.1:4001/v2/keys/message -XPUT -d value="Hello world”
  read : curl -L http://127.0.0.1:4001/v2/keys/message
!
fleet = 艦隊
_人人人人人_
> 無敵艦隊 <
 ̄^Y^Y^Y^Y ̄
CoreOSを使ってみよう!!
CoreOSを使ってみよう!!
・EC2のAMI、GCEのimage等が用意されているのですぐ使える
!
・Vagrantなら以下のような感じですぐ動かせる
$ git clone https://github.com/coreos/coreos-vagrant.git
!
$ cd coreos-vagrant
!
$ mv config.rb.sample config.rb
!
$ mv user-data.sample user-data
!
$ vagrant up
※僕の環境では「* The following settings shouldn't exist: functional_vboxsf」とかでたので、
Vagrantfileの該当行をコメントアウトして動かしました
クラスタリングしてみる
$num_instances=3 # 1 => 3
!
$expose_docker_tcp=2375 #コメントアウト
・config.rbの下記箇所を編集
・user-dataのcoreos -> etcd -> discoveryを編集
#cloud-config
!
coreos:
etcd:
#generate a new token for each unique cluster from https://discovery.etcd.io/new
discovery: https://discovery.etcd.io/<key> #↑のリンクでkeyを取得して貼り付け
設定を変えたら仮想マシン上げ直し
クラスタリングしてみる
# fleet
$ git clone https://github.com/coreos/fleet.git
$ cd fleet
$ ./build
!
# 環境変数設定
$ export FLEETCTL_ENDPOINT=http://<クラスタのどれか>:4001
!
# クラスタが見えるかチェック
$ bin/fleetctl list-machines -l
MACHINE	 	 	 	 	 IP 	 	 METADATA
5bc026ef05e74d968bd93033dc9b820c	 172.17.8.103	 -
d510bda5b2144065ab5115e612d0d7c6	 172.17.8.102	 -
ec71fb2ae57243ed831d1e96276ed815 172.17.8.101	 -
・ローカル(ホストOS)にfleetを入れる
クラスタリングしてみる
!
$ bin/fleetctl submit examples/hello.service #サンプルを実行
!
$ bin/fleetctl start hello.service
Job hello.service launched on ec71fb2a…/172.17.8.101
!
$ bin/fleetctl list-units
UNIT	 	 STATE	 	 LOAD	 ACTIVE	SUB	 DESC	 	 MACHINE
hello.service	 launched	 loaded	 active	 running	Hello World	ec71fb2a.../
172.17.8.101
・fleetでアプリケーションを起動
補足:Unitとは
[Unit]
Description=Hello World
!
[Service]
ExecStart=/bin/bash -c "while true; do echo "Hello, world"; sleep 1; done"
・hello.serviceの中身
Unitとはsystemdの起動の単位
補足:Dockerを使う
[Unit]
Description=My Apache Frontend
After=docker.service
Requires=docker.service
!
[Service]
ExecStart=/usr/bin/docker run --name apache -p 80:80 coreos/apache /usr/sbin/apache2ctl
-D FOREGROUND
ExecStop=/usr/bin/docker stop apache
!
[X-Fleet]
X-Conflicts=apache.*.service
例:Apacheのコンテナを起動する
ExecStartで「docker run」すればよい
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるLTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
Fuminobu Takeyama
 

Was ist angesagt? (20)

こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
 
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
 
セキュリティの○○○を買ってみた
セキュリティの○○○を買ってみたセキュリティの○○○を買ってみた
セキュリティの○○○を買ってみた
 
Osoljp osc2013tk spring
Osoljp osc2013tk springOsoljp osc2013tk spring
Osoljp osc2013tk spring
 
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるLTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
 
OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126
 
Zrouter
ZrouterZrouter
Zrouter
 
Bsd suki
Bsd sukiBsd suki
Bsd suki
 
後期第六回ネットワークチーム講座資料2016
後期第六回ネットワークチーム講座資料2016後期第六回ネットワークチーム講座資料2016
後期第六回ネットワークチーム講座資料2016
 
Linux container update
Linux container updateLinux container update
Linux container update
 
Packerで自動化
Packerで自動化Packerで自動化
Packerで自動化
 
2007 03 17_osc2007spring_01
2007 03 17_osc2007spring_012007 03 17_osc2007spring_01
2007 03 17_osc2007spring_01
 
お試し用のLinux環境を作る
お試し用のLinux環境を作るお試し用のLinux環境を作る
お試し用のLinux環境を作る
 
CentOS7をインストールして遊ぶのだ
CentOS7をインストールして遊ぶのだCentOS7をインストールして遊ぶのだ
CentOS7をインストールして遊ぶのだ
 
仮想環境によるLinux
仮想環境によるLinux仮想環境によるLinux
仮想環境によるLinux
 
Dockerfile for Perl development
Dockerfile for Perl developmentDockerfile for Perl development
Dockerfile for Perl development
 
Mongodb on solaris
Mongodb on solarisMongodb on solaris
Mongodb on solaris
 
Vagrant on SoftLayer
Vagrant on SoftLayerVagrant on SoftLayer
Vagrant on SoftLayer
 

Ähnlich wie CoreOSってなんですか

関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
 

Ähnlich wie CoreOSってなんですか (20)

Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/Marathon
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考える
 
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
 
Using LXC on Production
Using LXC on ProductionUsing LXC on Production
Using LXC on Production
 
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでSphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
 
20180925 docker ecs_fargate
20180925 docker ecs_fargate20180925 docker ecs_fargate
20180925 docker ecs_fargate
 
Dockerで開発環境をデリバる
Dockerで開発環境をデリバるDockerで開発環境をデリバる
Dockerで開発環境をデリバる
 
Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
Java-minishift-20191123
Java-minishift-20191123Java-minishift-20191123
Java-minishift-20191123
 
運用・開発 試行錯誤
運用・開発 試行錯誤運用・開発 試行錯誤
運用・開発 試行錯誤
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
Dockerだけではないコンテナのはなし
DockerだけではないコンテナのはなしDockerだけではないコンテナのはなし
Dockerだけではないコンテナのはなし
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
OSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOpsOSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOps
 
Dockerの現在と未来
Dockerの現在と未来Dockerの現在と未来
Dockerの現在と未来
 

Mehr von Keisuke Izumiya

FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用
Keisuke Izumiya
 

Mehr von Keisuke Izumiya (10)

Moneyforward Meetup#5 請求書
Moneyforward Meetup#5 請求書Moneyforward Meetup#5 請求書
Moneyforward Meetup#5 請求書
 
マネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームマネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォーム
 
MFクラウド請求書APIのご紹介
MFクラウド請求書APIのご紹介MFクラウド請求書APIのご紹介
MFクラウド請求書APIのご紹介
 
Rails::Engineを使ってみたよ
Rails::Engineを使ってみたよRails::Engineを使ってみたよ
Rails::Engineを使ってみたよ
 
マネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンマネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブン
 
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimプラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvim
 
1から学ぶスクラム
1から学ぶスクラム1から学ぶスクラム
1から学ぶスクラム
 
マーケど素人がGoogleAdwordsをまとめてみた
マーケど素人がGoogleAdwordsをまとめてみたマーケど素人がGoogleAdwordsをまとめてみた
マーケど素人がGoogleAdwordsをまとめてみた
 
FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用
 
はじめてのMongoDB
はじめてのMongoDBはじめてのMongoDB
はじめてのMongoDB
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

CoreOSってなんですか