nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

Fedora 22 Atomic Hostを動かしてみる

Atomic HostはDockerコンテナを動作させるための基盤となるホストOSです。今までのようにサーバアプリケーションを動かすためにホストOSでパッケージをインストールしたりChef/Puppet/Ansibleでプロビジョニングしてセットアップするのではなく、アプリケーションやモニタリングなどの付加機能は全て事前にbakeされたDockerイメージ化され、Atomic HostやCoreOSのようなDockerホストOS上で全てをDockerレジストリからインストールするようになる、という将来像に向けたものですね。

Fedora 22 Atomic Hostでは主なコンポーネントとしては以下が含まれてます。パッケージは普通に起動後にrpm -qa | sort | lessで確認できます。

  • docker
  • systemd
  • kubernetes
  • flannel
  • rpm-ostree
    • yum/dnfはない

今回テストに使用したホスト環境はFedora 22のvagrant-libvirtです。

sudo dnf install -y vagrant vagrant-libvirt
vagrant box add --name f22atomic http://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Atomic-Vagrant-22-20150521.x86_64.vagrant-libvirt.box
cat << EOM >> Vagrantfile 
# Vagrantfile for Fedora 22 Atomic Host
Vagrant.configure(2) do |config|
  config.vm.box = "f22atomic"

  config.vm.provider "libvirt" do |libvirt|
    libvirt.driver = "kvm"
    libvirt.memory = 2048
    libvirt.cpus = 4
  end
end
EOM
vagrant up
vagrant ssh

Atomic Host対応のDockerイメージはatomicコマンドがよろしくやってくれるようです。Webモニタリングツールのcockpitを追加するには以下のようにします。atomic infoで情報が出ます。

f22atomic$ sudo su -
f22atomic# passwd # Change root password for cockpit login
f22atomic# atomic run fedora/cockpitws # open http://[VM ip address]:9090 and login with root/[root password]
f22atomic# atomic info fedora/cockpitws
RUN          : /usr/bin/docker run -d --privileged --pid=host -v /:/host IMAGE /container/atomic-run --local-ssh
INSTALL      : /usr/bin/docker run -ti --rm --privileged -v /:/host IMAGE /container/atomic-install
UNINSTALL    : /usr/bin/docker run -ti --rm --privileged -v /:/host IMAGE /cockpit/atomic-uninstall

Atomic Hostのアップグレードを行うには以下のようにします。初回実行は10分程度かかるかもしれません。

f22atomic# atomic host upgrade

あとは普通にDockerとかKubernetesとかが使えるっぽいです。

とりあえずはここまで。