Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ݸਓͰͬͯΈͨ Docker'ͱ'CoreOSͱ͔ ٕज़νʔϜษڧձ!#199 2014/7/11 ٕज़νʔϜ!߶ࢤ
Slide 2
Slide 2 text
࣍ ংষ ຊͷҙࣝ ຊ *"Docker"͍ํ *"CoreOSͰͷBootstrapʙDeploy *"Dockerfile"CIͷఏҊ
Slide 3
Slide 3 text
=begin ংষ (ʙϓϩϩʔάʙ)
Slide 4
Slide 4 text
ݸਓͷ
Slide 5
Slide 5 text
2009ࠒ
Slide 6
Slide 6 text
ॳΊͯݸਓͰ͘͞ΒVPSΛआΓ·͠ ͨ
Slide 7
Slide 7 text
आΓͨVPSʹ͋Γ͕ͪͳ͜ͱ in#Զ
Slide 8
Slide 8 text
develop'>'(trial&error)'>'deploy
Slide 9
Slide 9 text
deploy'>'(..ϲ݄ޙ..)'>'deploy
Slide 10
Slide 10 text
ͳΜ͔ࢮ͵
Slide 11
Slide 11 text
(ཧ༝Θ͔ΒΜ)
Slide 12
Slide 12 text
(ཧ༝ຊʹΘ͔ΒΜ)
Slide 13
Slide 13 text
৭ʑ͋Γ͗ͯ͢Α͘Θ͔Βͳ͍
Slide 14
Slide 14 text
ͳݪҼΑ͘Θ͔ΒΜ͚Ͳ ؒతͳݪҼΑ͘Θ͔ͬͯΔ
Slide 15
Slide 15 text
ϛυϧΣΞ!ͷมߋ MySQL/Apache
Slide 16
Slide 16 text
ॏͳΔ trial&error
Slide 17
Slide 17 text
ཁɺ్தͰߦͬͨมߋΛهͯ͠ ͍ͳ͔ͬͨ
Slide 18
Slide 18 text
ΠϯϑϥߏஙهΛͱ͓ͬͯ͘ (ίʔυʹམͱ͓ͯ͘͠) ͷ͕େࣄͩͱૉਓʹ௧ײ
Slide 19
Slide 19 text
ͨͩɺ్தͰग़ձͬͨਆπʔϧ
Slide 20
Slide 20 text
σϓϩΠͷੈͷཧ
Slide 21
Slide 21 text
ηοτΞοϓͷํ๏Ε͕ͨ ͦͷޙͷӡ༻͕҆৺ʹͳͬͨ(ؾ͕ ͢Δ)
Slide 22
Slide 22 text
!!!
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
2014ࠒ
Slide 25
Slide 25 text
ฐࣾೖࣾ
Slide 26
Slide 26 text
৬Ͱͷ
Slide 27
Slide 27 text
Cͷͭ͘ΞϨ"ʹՃ͑
Slide 28
Slide 28 text
Cͷͭ͘ΞϨ"
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
ࢥ͑ฐࣾ
Slide 31
Slide 31 text
rubyΛ͏ਓ%/%ٕज़νʔϜͷਓ
Slide 32
Slide 32 text
115% (੍࡞͕erb͍ͬͯΔ) (ɿԶઢ)
Slide 33
Slide 33 text
͋Δछͷඞવ
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
ʮϓϩϏδϣχϯάͷ̏ʯ h"p:/ /mizzy.org/blog/2013/10/29/1/ h"p:/ /en.oreilly.com/velocity2mar2010/public/schedule/detail/ 14180
Slide 36
Slide 36 text
Orchestra)on Fabric,(Capistrano,(MCollec2ve Configura)on Puppet,'Chef,'AWS'OpsWorks Bootstrapping Kickstart,*Cobbler,*OpenStack,*AWS
Slide 37
Slide 37 text
ؾͷ (ɿग़యԶ)
Slide 38
Slide 38 text
Orchestra)on (ʆ˜´) Configura)on (;´ρ`) Bootstrapping (ʆ˜´)
Slide 39
Slide 39 text
Configura)on (;´ρ`)
Slide 40
Slide 40 text
ႈ.͕ΜΔ!
Slide 41
Slide 41 text
ႈ.͕ΜΕΔ?
Slide 42
Slide 42 text
͋ΔͭΒΈͷ͋ΔPR
Slide 43
Slide 43 text
No content
Slide 44
Slide 44 text
No content
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
͋ΔͭΒΈͷ͋ΔPR2
Slide 48
Slide 48 text
No content
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
ࠓͭΒ͍͕͍ͬͺ͍ग़ͨؾ͕͠· ͢ (ͳΜͰݹ͍nkfೖΕΔͷɺͱ͔Εͯͩ͘ ͍͞)
Slide 51
Slide 51 text
ႈ.͕ΜΕΔ?.!.!.!
Slide 52
Slide 52 text
୭͕ѱ͍ͷ͔
Slide 53
Slide 53 text
ϓϩϏδϣχϯάͷ̏
Slide 54
Slide 54 text
Orchestra)on (ʆ˜´) Configura)on (;´ρ`) Bootstrapping (ʆ˜´)
Slide 55
Slide 55 text
ͯ͞ɺ·ͨݸਓͷ
Slide 56
Slide 56 text
͠ΐ΅͍Τϯλϝܥ()WebΞϓϦΛ ӡ༻ heroku͕৸ͳ͍ఔͷPV rails4'/'MongoDB'/'heroku
Slide 57
Slide 57 text
Ұࡢ͋ͨΓ͔Β ӡ༻ͩͯ͠͠ deployʹ͍ͭͯࢸͬͨ݁
Slide 58
Slide 58 text
heroku࠷ڧઆ
Slide 59
Slide 59 text
No content
Slide 60
Slide 60 text
$"git"push"heroku"master
Slide 61
Slide 61 text
ͭ·Γ"Orchestra*on"͚ͩ
Slide 62
Slide 62 text
"Configura*on"/"Bootstrapping"ରԠෆཁ
Slide 63
Slide 63 text
جຊແྉ
Slide 64
Slide 64 text
ϛυϧΣΞΞυΦϯ(ແྉ/༗ྉ)
Slide 65
Slide 65 text
database logging metrix worker
Slide 66
Slide 66 text
͍͟ͱͳΕ͓ۚͰղܾͰ͖Δ (͠ɺ͍͍ͨͯͳΜͱ͔ͳΔ)
Slide 67
Slide 67 text
(ʆ˜´)
Slide 68
Slide 68 text
ݸਓͰ༡Ϳʹ࠷ڧ͕ͩɻɻɻ ආ͚ΒΕͳ͍͕͋Δ
Slide 69
Slide 69 text
ϨΠςϯγ
Slide 70
Slide 70 text
(ແྉΞυΦϯͰ)MySQLαʔόήοτʔ ! ຊͷWEBαʔόʔ͔ΒΞΫηε ! ͕ΕΔ
Slide 71
Slide 71 text
GoogleSpeedInsight ! ΘΖ͠ (ͨͩͬͪ͜ͲͪΒ͔ͱ͍͏ͱύϑΥʔϚϯ ε?)
Slide 72
Slide 72 text
ΞϨͷTokyoϦʔδϣϯ͑͑͑ Ζ
Slide 73
Slide 73 text
VPS͑͑͑Ζ
Slide 74
Slide 74 text
(Herokuָ͡Όͳ͍Ͱ͔͢...)
Slide 75
Slide 75 text
No content
Slide 76
Slide 76 text
ʙϓϩϩʔά =end
Slide 77
Slide 77 text
ຊͷҙࣝ
Slide 78
Slide 78 text
C͕ͭ͘ΞϨ͕ͭΒ͗͢Δ গͳ͘ͱݸਓͰϠμ heroku͕ྑ͍ͷɺOrchestra,on͚͔ͩͩΒ ͠VPSͰӡ༻͢Δͱͨ͠Β? ϨΠςϯγղܾͯ͠Έ͍ͨ
Slide 79
Slide 79 text
TRY:%VPSͷճؼ(ͭΒͦ͏)
Slide 80
Slide 80 text
࡞ۀίʔυͰ͍ͨ͠ Inflastructure+as+Code chefݏ͍ͳࢲɺͲ͏͢Εྑ͍͔
Slide 81
Slide 81 text
ຊ *"Docker"͍ํ(·ͣ࠷ॳʹઆ໌) *"CoreOSͰͷBootstrapʙDeploy *"Dockerfile"CIͷఏҊ
Slide 82
Slide 82 text
CoreOSΛVPSͰ͏
Slide 83
Slide 83 text
CoreOS
Slide 84
Slide 84 text
Docker'on'CoreOS
Slide 85
Slide 85 text
Configura)on/Orchestra)on systemd/Docker Bootstrapping ipxe%+%VultrVPS
Slide 86
Slide 86 text
Docker'νϡʔτϦΞϧ
Slide 87
Slide 87 text
Dockerͱ
Slide 88
Slide 88 text
తͳઆ໌ h"p:/ /www.ryuzee.com/contents/ blog/6952
Slide 89
Slide 89 text
ԾԽٕज़ "ίϯςφ୯ҐͰύοέʔδϯά VirtualBoxͱ͔ͱҧͬͯߴɺΦʔόʔϔου͕গͳ͍ɻchrootʹ ͍ۙɻLXCʹґଘ͠ͳ͘ͳ͍ͬͯΔ ίϯςφ͝ͱʹID͕ৼΒΕΔ ίϯςφࠩอଘͳͷͰϩʔϧόοΫ؆୯ Ұճ࡞ΕͲ͜Ͱಈ͘ DockerfileͰίϯςφΛ࡞͢Δ Dockerfileͷ1ߦ͝ͱʹίϯςφID͕ϑϥΕΔ"
Slide 90
Slide 90 text
Կ͕͏Ε͍͠ͷʁ "ߴʹىಈ͢ΔɻैͬͯCI༻ʹͬͨΓɺChefͷΫοΫϒοΫͷ ࣮ݧڥʹͬͨΓɺ։ൃڥʹͬͨΓ৭ʑศརɻ͏ຊ൪ ڥͰ͍ͬͯΔྫଟ ίϯςφʹด͡ࠐΊΔ͜ͱͰϙʔλϏϦςΟ͕͕͋ΔɻΞϓϦ έʔγϣϯͷσϓϩΠઓָུ͕ͳํʹେ͖͘มΘΓ͏Δ ࠩͰཧ͞ΕΔͷͰͱ࠶ར༻͕؆୯ ͍ΖΜͳڥͰಈ͘ DockerfileΛͬͯίʔυͰΠϯϑϥΛཧͰ͖Δ"
Slide 91
Slide 91 text
No content
Slide 92
Slide 92 text
(Γ·͠ΐ͏)
Slide 93
Slide 93 text
centos(vagrant)ͰͬͯΈ·͢
Slide 94
Slide 94 text
$"vi"Vagrantfile Vagrant.configure('2') do |config| config.vm.box = "hfm4/centos7" config.vm.network :private_network, ip: "192.168.100.101" config.vm.network :forwarded_port, guest: 10080, host: 10080 end
Slide 95
Slide 95 text
$"vagrant"up"&&"vagrant"ssh
Slide 96
Slide 96 text
Πϯετʔϧɾىಈ֬ೝ $"sudo"yum")y"install"docker)io $"sudo"service"docker"start $"sudo"docker"ps
Slide 97
Slide 97 text
άϧʔϓͷՃ $"sudo"groupadd"docker $"sudo"gpasswd"+a"vagrant"docker $"sudo"service"docker"restart
Slide 98
Slide 98 text
ίϯςφΛ࡞Δ·Ͱͷ࡞ۀ ɿग़యԶ
Slide 99
Slide 99 text
No content
Slide 100
Slide 100 text
$"mkdir"mydocker $"cd"mydocker $"vi"Dockerfile
Slide 101
Slide 101 text
First&Stage
Slide 102
Slide 102 text
The$first$Dockerfile$instruc1on "FROM"
Slide 103
Slide 103 text
ͳʹͳ͘ͱFROMͱॻ͘
Slide 104
Slide 104 text
FROM debian:jessie
Slide 105
Slide 105 text
͓ΊͰͱ͏! ͜ΕͰᘳͳDockerfile͕ग़དྷ্͕ Γ·ͨ͠! ɹ ɹ (photo:'zarpie.deviantart.com/art/Twilight8Sparkle8is8Happy8280187353)
Slide 106
Slide 106 text
ͭ͗ docker buildͯ͠Έ·͠ΐ͏
Slide 107
Slide 107 text
$ docker build -t hoshinotsuyoshi/perfect . (࠷ޙͷ.͕ΧϨϯτσΟϨΫτϦͷDockerfile ୳ͯ͠Δ)
Slide 108
Slide 108 text
$ docker images ͍ͤ͘͞ɹ͔͘ʹΜὑ
Slide 109
Slide 109 text
͓ΊͰͱ͏! ͜ΕͰ͡Ίͯimage͕ग़དྷ্͕Γ ·ͨ͠! ɹ ɹ (photo:'minnie,themousekid.deviantart.com/art/Happy,Birthday,Cake,181149361)
Slide 110
Slide 110 text
run͠·͢ $"docker"run"hoshinotsuyoshi/ perfect
Slide 111
Slide 111 text
ಈ͍͔ͨ? $"docker"ps
Slide 112
Slide 112 text
$"docker"ps"+a "Exit(0)"
Slide 113
Slide 113 text
docker'runͷUSAGE Usage:'docker'run'[OPTIONS]' IMAGE'[COMMAND]'[ARG...]
Slide 114
Slide 114 text
࠶ͼrun͠·͢ $"docker"run" hoshinotsuyoshi/perfect//bin/bash
Slide 115
Slide 115 text
$"docker"ps"+a "Exit(0)"
Slide 116
Slide 116 text
docker'runͷΦϓγϣϯ !i,$!!interac+ve=false$(Keep$stdin$ open$even$if$not$a6ached) !t,$!!%y=false$(Allocate$a$pseudo!%y)
Slide 117
Slide 117 text
࠶ͼrun͠·͢ $"docker"run"+it"hoshinotsuyoshi/ perfect"/bin/bash
Slide 118
Slide 118 text
͓ΊͰͱ͏! jessieͷίϯςφ͕ಈ͍ͨ sshΈ͍ͨʹೖΕͨ! ɹ (photo:'h(ps:/ /www.flickr.com/photos/goodncrazy/9680244249)
Slide 119
Slide 119 text
$"cat"/etc/debian_version
Slide 120
Slide 120 text
͜ͷdebianίϯςφൈ͚·͢ $"exit"100
Slide 121
Slide 121 text
֎͔ΒݟΔͱɻ100͕ه͞Εͯ Δɻ $"docker"ps"+a
Slide 122
Slide 122 text
Next%Stage...
Slide 123
Slide 123 text
"CMD"
Slide 124
Slide 124 text
"CMD" ... docker'run'ͨ͠ͱ͖ͷ σϑΥϧτͷಈ͖Λఆٛ͢Δ
Slide 125
Slide 125 text
No content
Slide 126
Slide 126 text
FROM%debian:jessie CMD%["/bin/bash",%"6c",%"for((i=1;i<=1000;i+=1));%do%sleep%1%;%echo% \"hello%debian%$i%Gmes\";%done"]
Slide 127
Slide 127 text
$"docker"build"-t"hoshinotsuyoshi/ perfect2". ͦͯ͠ $"docker"images
Slide 128
Slide 128 text
͜ΕΛrunͯ͠Έ·͢ $"docker"run"++name"perfect2" hoshinotsuyoshi/perfect2 (ࠓճ"##nameΦϓγϣϯͰίϯςφ໊ࢦఆ ͯ͠Έ·͢)
Slide 129
Slide 129 text
(ࢭΊํΘ͔Μͳ͍)
Slide 130
Slide 130 text
(ผͱ͔ͰࢭΊ·͢)
Slide 131
Slide 131 text
ࠓ!dΦϓγϣϯ(detach)Ͱrun͠ ·͢ $"docker"run"+d"++name"perfect2" hoshinotsuyoshi/perfect2
Slide 132
Slide 132 text
(ίϯςφID͕͔͖͑ͬͯͨ)
Slide 133
Slide 133 text
தΛݟΔʹdocker'a)ach $"docker"a*ach",,sig,proxy=false" perfect2
Slide 134
Slide 134 text
(docker(rm(*fͰstop(+(rm)
Slide 135
Slide 135 text
࣮ run࣌ͷ࠷ޙʹίϚϯυΛ༩͑Δͱ CMDͷ༰্͕ॻ͖͞ΕΔ $"docker"run"++name"perfect2" hoshinotsuyoshi/perfect2"/bin/echo" hey
Slide 136
Slide 136 text
(docker(rm(*fͰstop(+(rm)
Slide 137
Slide 137 text
Next%Stage...
Slide 138
Slide 138 text
"RUN"
Slide 139
Slide 139 text
"RUN" ... Ϗϧυதʹ࣮ߦ͍ͨ͠ίϚϯυΛࢦ ఆ͢Δɻ
Slide 140
Slide 140 text
DockerfileʹRUNΛॻ͍ͯΈΔ
Slide 141
Slide 141 text
FROM%debian:jessie RUN%apt3get%update RUN%apt3get%3y%install%apache2
Slide 142
Slide 142 text
$"docker"build"-t"hoshinotsuyoshi/ apache". $"docker"images
Slide 143
Slide 143 text
(apacheಈ͔͢ʹͲ͏͢Ε͍͍ Μ͚ͩͬ)
Slide 144
Slide 144 text
$"docker"run"+it"hoshinotsuyoshi/ apache"/bin/bash $"which"apache2 $"service"apache2"start
Slide 145
Slide 145 text
No content
Slide 146
Slide 146 text
ͪΐͬͱಓ $"vagrant"share
Slide 147
Slide 147 text
No content
Slide 148
Slide 148 text
...Ҏ্ɺجຊͷinstruc)on+3ͭΛݟ ͖ͯ·ͨ͠ FROM CMD RUN
Slide 149
Slide 149 text
ͦͷଞͷDockerfile)instruc/on
Slide 150
Slide 150 text
ADD#...#filedirΛίϯςφʹίϐʔ͢ΔΑ MAINTAINER#...#ϝϯςφΛೖΕΔ EXPOSE#...#ۭ͚Δϙʔτ൪߸Λࢦఆ ENV#...#ڥมΛࢦఆ COPY#...#΄΅ADDͱҰॹ?(URLࢦఆͰ͖ͳ͍Β͍͠) ENTRYPOINT#...#CMDͷੰɺrunͰΦʔόʔϥΠτ͞Εͳ͍ VOLUME#...#ϗετଞίϯςφͱͷؒͷϚϯτϙΠϯτ USER#...#Ϗϧυͷ్தͰϢʔβม͑Δ WORKDIR#...#Ϗϧυͷ్தͰσΟϨΫτϦม͑Δ ONBUILD#...#docker0.8ͰొɻࢠϏϧυ͚ͷ໋ྩΛॻ͚Δɻ
Slide 151
Slide 151 text
...͜ΕͰDockerfileͷinstruc/onશ ෦!
Slide 152
Slide 152 text
Dockerfileͷઆ໌ऴΘΓ
Slide 153
Slide 153 text
Docker'دΓಓ
Slide 154
Slide 154 text
ϝϞϦࢦఆͱ͔ग़དྷΔΒ͍͠ $"docker"run"+c"256"+m"512m"+it" hoshinotsuyoshi/perfect2"/bin/bash
Slide 155
Slide 155 text
ϓϥΠϕʔτͳϨδετϦʹ͍ͭͯ $"docker"pull"registry ͱ͔ΔͱͰ͖ΔΒ͍͠
Slide 156
Slide 156 text
Docker'دΓಓ͓ΘΓ
Slide 157
Slide 157 text
Dockerfile)σϓϩΠͷͨΊͷςΫχ οΫ
Slide 158
Slide 158 text
Dockerfileͱ ࠩϏϧυ
Slide 159
Slide 159 text
ࣗͷϕʔεΠϝʔδΛ࡞͓ͬͯ͘ ͱศརͱ͍͏
Slide 160
Slide 160 text
No content
Slide 161
Slide 161 text
No content
Slide 162
Slide 162 text
ͭ·Γ̎ͭͷΠϝʔδΛ༻ҙ͢Δ [Configura*onࡁΈͷͭ] [Orchestra*on༻ͷͭ]
Slide 163
Slide 163 text
[Configura*onࡁΈ] ϛυϧΣΞΠϯετʔϧࡁΈ hoshinotsuyoshi/ruby3mongo h"ps:/ /registry.hub.docker.com/u/hoshinotsuyoshi/mongo6ruby/ h"ps:/ /github.com/hoshinotsuyoshi/Dockerfiles/blob/master/ mongo9ruby/Dockerfile
Slide 164
Slide 164 text
[Orchestra*on༻] WEBΞϓϦͷσϓϩΠ hoshinotsuyoshi/actress h"ps:/ /registry.hub.docker.com/u/hoshinotsuyoshi/actress/ h"ps:/ /github.com/hoshinotsuyoshi/Dockerfiles/blob/master/ actress/Dockerfile
Slide 165
Slide 165 text
Configura)onࡁΈͷͭΛ࠶ར༻ registry.hub.docker.comʹΞοϓͰ ͖Δ Ϗϧυ͕ૣ͍ͷ͕͏Ε͍͠
Slide 166
Slide 166 text
ͰɺͲ͏σϓϩΠ͢Δͷ͕͔ͬ͜ྑ ͍͔ (docker(runͰ͍͍Μ͚ͩͲ)
Slide 167
Slide 167 text
CoreOSྲྀʹsystemdͰͬͯΈΔ
Slide 168
Slide 168 text
ܰ͘ɹCoreOSͷઆ໌
Slide 169
Slide 169 text
খͯ͘͞ݎ࿚ͳίΞ Ϋϥελ!+!ίϯςφ
Slide 170
Slide 170 text
࠼Δཁૉ docker'...'ίϯςφͷཧ systemd'...'init.dͷସ etcd%...%ઃఆใΛڞ༗Ͱ͖ΔKVS fleet$...$Ϋϥελཧ
Slide 171
Slide 171 text
cent7ʹsystemdೖ͍ͬͯΔ
Slide 172
Slide 172 text
ࠓ͔ͤͬ͘ͳͷͰsystemd cent7ͰΓ͍ͨͱࢥ͍·͢!!
Slide 173
Slide 173 text
(systemd͋·Γௐͳ͔ͬͨͷͰ ͱ͍͏͔͔ͬͨ͘͢͝͠ͷͰ͋·Γ ͭͬ͜·Εͯ͑ΒΕ·ͤΜ)
Slide 174
Slide 174 text
طଘͷUnitϑΝΠϧ $"ls"%alF"/etc/systemd/system
Slide 175
Slide 175 text
͜Μͳײ͡ʹฤू $"sudo"vi"/etc/systemd/system/ docker1actress.service
Slide 176
Slide 176 text
[Unit] Description=Actress Service After=docker.service Requires=docker.service [Service] User=root ExecStart=/bin/sh -c \ "/usr/bin/docker run --name actress -p 10081:3000 hoshinotsuyoshi/actress" ExecStop=/usr/bin/docker rm -f actress [Install] WantedBy=local.target
Slide 177
Slide 177 text
[Unit] [Unit] Description=Actress Service After=docker.service Requires=docker.service
Slide 178
Slide 178 text
[Service] [Service] User=root ExecStart=/bin/sh -c \ "/usr/bin/docker run --name actress -p 10081:3000 hoshinotsuyoshi/actress" ExecStop=/usr/bin/docker rm -f actress
Slide 179
Slide 179 text
[Install] [Install] WantedBy=local.target
Slide 180
Slide 180 text
$"sudo"systemctl"daemon/reload $"sudo"systemctl"start"docker0 actress"#"Start! $"sudo"systemctl"stop"docker0 actress"#"Stop! ·ΔͰserviceͷΑ͏ʹѻ͑Δ
Slide 181
Slide 181 text
(σϞ)
Slide 182
Slide 182 text
·͞ʹImmutable
Slide 183
Slide 183 text
ۘࠂ ͔͜͜Β͋·Γࢿྉͳ͍
Slide 184
Slide 184 text
(σϞ) ΦϨΦϨεΫϦϓτىಈ͠·͢ CoreOSαʔόʔௐୡσϞ ࠷ऴతʹJenkins͓ͬ͞ΜΛಈ͔ ͍ͨ͠
Slide 185
Slide 185 text
ΦϨΦϨεΫϦϓτͨͪ script1:)VPSങͬͯscript2/3Λىಈ script2:)ipxe script3:)cloud.config
Slide 186
Slide 186 text
script1:)VPSങͬͯscript2/3Λىಈ
Slide 187
Slide 187 text
͜ͷͨΊʹvultr&APIୟ͘Gem࡞ͬͨ
Slide 188
Slide 188 text
script1:)VPSങͬͯscript2/3Λىಈ gistʹ͓͍ͨ h"ps:/ /gist.github.com/hoshinotsuyoshi/627362efc554e2fd9a5f
Slide 189
Slide 189 text
script2:)ipxe herokuʹ͓͍ͨ (Vultrͷipxechainurlɺh,psͰ͏·͍͔͘ͳ͔ͬ ͨɻ) h"p:/ /young+dawn+7740.herokuapp.com/script.txt CoreOSެࣜϖʔδͷ༰Λࣸܦ
Slide 190
Slide 190 text
script3:)cloud.config secret&gistʹஔ͍ͨ h"ps:/ /gist.githubusercontent.com/hoshinotsuyoshi/ 4421f1d7754db9629903/raw/ 7b005f4e8438434f48b7f03b50946c9c6731c0a1/testB config.config CoreOSެࣜϖʔδͷ༰͔Β࡞
Slide 191
Slide 191 text
ruby%setup.rb͢Δ͚ͩͰ αʔό͕ىಈͯ͠ Jenkinsಈ͍ͨ! (σϞ͓ΘΓ)
Slide 192
Slide 192 text
ͰɺϨΠςϯγͷ
Slide 193
Slide 193 text
before h"p:/ /xn((o1q8h80u333a.xn((u9jw89o.com/
Slide 194
Slide 194 text
a"er h"p:/ /108.61.201.67
Slide 195
Slide 195 text
before
Slide 196
Slide 196 text
a"er
Slide 197
Slide 197 text
(ʆ˜´)
Slide 198
Slide 198 text
No content
Slide 199
Slide 199 text
·ͱΊ(ʆ˜´) CoreOS'+'cloud-configͰBootstrapʙ Orchestra7on·ͰͷશͯΛهड़Ͱ͖Δ! VultrͰϨΠςϯγͷղܾͨ͠!
Slide 200
Slide 200 text
ࡶײ Bootstrap͔ΒOrchestra,on·ͰΛίʔυԽ! CI༻్ʹ͍ͯΔ ͋ͱɺηοτΞοϓ͕͍͠αʔϏεͱ͔͕ ͍͍͔ ex.$Jenkinsɺࢹαʔόʔ
Slide 201
Slide 201 text
thank&you
Slide 202
Slide 202 text
ʢεϥΠυऴΘΓʣ