Upgrade to Pro — share decks privately, control downloads, hide ads and more …

貧者のためのCoreOS(Jenkinsを例に)

 貧者のためのCoreOS(Jenkinsを例に)

社内勉強会で、懲りずにCoreOSの話をしました。

http://tech.feedforce.jp/coreos_jenkins_cloud-config.html

今回は

「こんなに簡単にJenkinsとか立てられるんですよ!」
「しかもCoreOSならこんなにポータビリティが高い!」
「そしてVPSはなんか安い!」
みたいな徒然を話しました。

以下、だらだらと話してしまったので、4点ポイントをまとめたいと思います

cloud-configの高いポータビリティ
お安いVPSプラン
docker hub で docker imageを自動ビルドできる
個別の設定をdocker imageに注入する

hoshino tsuyoshi

November 12, 2014
Tweet

More Decks by hoshino tsuyoshi

Other Decks in Programming

Transcript

  1. CoreOSͷcloud-configͱ͸ #cloud-config users: - name: hoshinotsuyoshi groups: - sudo -

    docker ssh-authorized-keys: - ssh-rsa AAAAB.... —࠷খͰ͸͜Μͳײ͡! —͜ΕͰsshͰ͖ΔdockerΠϯελϯε͕खʹೖΔ!
  2. cloud-config: Apache httpd serviceྫ [unit] Description=My Advanced Service After=docker.service Description

    : systemctlίϚϯυΛଧͬͨ࣌ʹग़ͯ͘ΔαʔϏεͷઆ໌ After: ͲͷαʔϏε͕ىಈͨ͠ޙʹ͜ͷαʔϏε͕ىಈ͢Δ͔
  3. cloud-config: Apache httpd serviceྫ ExecStartPre=-/usr/bin/docker kill apache1 ExecStartPre=-/usr/bin/docker rm apache1

    ExecStartPre=/usr/bin/docker pull coreos/apache ExecStartPre : ExecStartͷલʹ࣮ߦ͞ΕΔɻ ͜͜Ͱ͸ίϯςφ໊ʮapache1ʯΛkill͠ɺ࡟আ(rm)ɺ docker public repo͔ΒΠϝʔδ"coreos/apache"Λpull ʮ=-ʯ͢Δͱऴྃίʔυ͕0Ҏ֎Ͱ΋ࣦഊͱΈͳ͞ͳ͍
  4. cloud-config: Apache httpd serviceྫ ExecStart=/usr/bin/docker run --name apache1 \ -p

    80:80 coreos/apache /usr/sbin/apache2ctl -D FOREGROUND ExecStart : ϝΠϯͷίϚϯυɻ "systemctl start αʔϏε໊" Ͱ࣮ߦ͞ΕΔɻ ্هྫͰ͸Πϝʔδʮcoreos/apacheʯΛίϯςφ໊ʮapache1ʯͰrun ͠ɺ ίϯςφͷதͷ࿩ͳͷͰFOREGROUNDΛࢦఆ͍ͯ͠Δ
  5. CoreOSྑ͍ —͢΂ͯͷͿ͖ʗ΅͏͙͕ͦ͏ͼͰ͖Δʯ —Ϙεઓ޲͚(ຊؾ)ͬΆ͍ —ͬ͢ͽΜײ͋Δ͚ͩʹফඅϝϞϦ΋গͳ͍ $ free -h total used free

    shared buffers cached Mem: 746M 144M 601M 248K 4.3M 92M -/+ buffers/cache: 47M 698M Swap: 0B 0B 0B (Vultr/768M ͷ৔߹)
  6. demo1 : DigitalOceanͰcoreosཱͯΔ ʲྲྀΕʳ * ϓϥϯબ୒(ϝϞϦ/సૹྔ/HDD) * Ϧʔδϣϯબ୒ * userdata

    - cloud-config ΛషΔ! * CoreOSͷόʔδϣϯΛࢦఆ - alpha/beta/stable
  7. demo2 : VultrͰCoreOSཱͯΔ sshͯ͠ coreos-installίϚϯυ $ ssh core@IPΞυϨε cd ~

    && \ curl -L https://gist͔ͳΜ͔ʹషͬͱ͘/cloud-config.yaml > ~/config && \ sudo coreos-install -d /dev/vda -C alpha -c ~/config -o '' && \ sudo mount -o subvol=root /dev/vda9 /mnt/ && \ sudo reboot ʮ-o '' ʯ͢Δඞཁ͋Γʢ͸·ͬͨʣ Vultrฤ͸Ҏ্