w (4VJUF (NBJM
(PPHMFΧϨϯμʔͳͲ
ʹػೳՃ͠
ͯൢച
w ಋೖ
ࣾҎ্
w IUUQTSBLVNPDPN
w ࡢ(PPHMF$MPVE1MBUGPSN ($1
ͷύʔτφʔʹ
Slide 4
Slide 4 text
ࠓճͷ༰
w ,VCFSOFUFTͷྺ࢙
w ,VCFSOFUFTͷಛ
w 4LB⒎PMEͷಛ
w 4LB⒎PMEͷ͍ํ
Slide 5
Slide 5 text
,VCFSOFUFT
w IUUQTLVCFSOFUFTJP
w LTͱུ͞ΕΔ
w ಡΈʮ͘ʔͶͯ͌͢ʯ
w %PDLFS͚ΦʔέετϨʔγϣϯπʔϧ
Slide 6
Slide 6 text
ࠓճͷ༰
w ,VCFSOFUFTͷྺ࢙
w ,VCFSOFUFTͷಛ
w 4LB⒎PMEͷಛ
w 4LB⒎PMEͷ͍ํ
Slide 7
Slide 7 text
LTIJTUPSZ
w (PPHMFͷࣾπʔϧͱͯ͠։ൃ։࢝
w (PPHMFͷ#PSH͔Βڧ͍ӨڹΛड͚ͨ1SPKFDU4FWFO
w 4FWFO4UBS5SFL7PZBHFSͷ4FWFOPG/JOF͔Β
w ϩΰͷຊεϙʔΫͷͷ༝དྷ
w ʹWϦϦʔε
w ͦͷޙ$/$'ʹҠ
#Z4PVSDF 81/'$$
'BJSVTF
IUUQTFOXJLJQFEJBPSHXJOEFYQIQ DVSJE
Slide 8
Slide 8 text
LT%PDLFS
w %PDLFS$PO&6
w LTͷ%PDLFSͱ౷߹Λൃද
w ࣄ্࣮ͷඪ४ΦʔέετϨʔγϣϯπʔϧʹ
w ͦͷޙΫϥυք۾͕૽͕͘͠ͳΔ
Slide 9
Slide 9 text
w (PPHMF$POUBJOFS&OHJOF
w ($1ͷ%PDLFSίϯςφӡ༻ϚωʔδυαʔϏε
w ུশ(,& ($&$PNQVUF&OHJOFʹΘΕ͍ͯ
ͨ
w (PPHMF,VCFSOFUFT&OHJOF (,&
ʹվ໊
LTPO($1
Slide 10
Slide 10 text
w "[VSF$POUBJOFS4FSWJDF "$4
w ࠷ॳ"QBDIF.FTPTϕʔε
w ෳͷΦʔέετϨʔγϣϯπʔϧΛαϙʔτ
w "[VSF$POUBJOFS4FSWJDF ",4
w ,VCFSOFUFTϕʔε
w "[VSF,VCFSOFUFT4FSWJDF ",4
ʹվ໊
LTPO"[VSF
Slide 11
Slide 11 text
w &MBTUJD$POUBJOFS4FSWJDFGPS,VSCFSOFUFT &,4
w &$4ͱ͍͏ಠࣗϚωʔδυαʔϏεΛ͢Ͱʹ͍ͬͯ
ͨ
w LTඪ४ͷྲྀΕΛड͚ͯαʔϏεՃ
LTPO"84
Slide 12
Slide 12 text
ࠓճͷ༰
w ,VCFSOFUFTͷྺ࢙
w ,VCFSOFUFTͷಛ
w 4LB⒎PMEͷಛ
w 4LB⒎PMEͷ͍ํ
Slide 13
Slide 13 text
w ʮγεςϜΛߏ͢ΔϓϥοτϑΥʔϜϛυϧΣΞɺ
αʔϏεɺΞϓϦέʔγϣϯɺཧπʔϧͳͲͷઃఆ
ཧΛࣗతʹ࿈ܞͤ͞Δ͜ͱɻʯ
;%/FU+BQBOΩʔϫʔυղઆΑΓ
w
ΦʔέετϨʔγϣϯͱͳʹ͔
Slide 14
Slide 14 text
w ༷ʑͳׂͷίϯςφΛΈ߹ΘͤͯαʔϏεΛ࡞Δͱ
͖ͷɺӡ༻ͷෳࡶੑΛղܾ͢Δ
w (PPHMF͕#PSHΛӡ༻͖ͯͨ͠ͱ͖ͷݟ͕٧·ͬͯ
͍Δ
LTԿΛղܾ͢Δͷ͔
Slide 15
Slide 15 text
w Πϛϡʔλϒϧ
w એݴతઃఆ
w ΦϯϥΠϯͰࣗݾճ෮͢Δ
LTͷઃܭίϯηϓτ
Slide 16
Slide 16 text
w *NNVUBCJMJUZ
w Ұ࡞ͨ͠Βมߋ͞Εͳ͍
w ඞཁʹԠͯ͡ಉ͡༰ͷίϯςφΛ͍ͭ͘ىಈͰ͖Δ
Πϛϡʔλϒϧ
Slide 17
Slide 17 text
w ʮԿΛ͢Δ͔ʯͰͳ͘ʮͲ͏͋Δ͖͔ʯΛهड़͢Δ
w ࠷ऴతͳ·͍͠ঢ়ଶΛॻ͘
એݴతઃఆ
Slide 18
Slide 18 text
w ·͍͠ঢ়ଶ͍ͬͯΔ
w ܧଓతʹࢹ͠ɺ·͍͠ঢ়ଶʹͳ͍ͬͯͳ͔ͬͨΒͦΕ
ʹҰக͢ΔΑ͏ʹಈ͖ଓ͚Δ
ࣗݾճ෮͢Δ
w Ϋϥελ
w 1PE
w 4FSWJDF
w 3FQMJDB4FU
w %BFNPO4FU
w +PC
w %FQMPZNFOU
w $POpH.BQ
LTߏཁૉ
Slide 21
Slide 21 text
w Ϋϥελ
w 1PE
w 4FSWJDF
w 3FQMJDB4FU
w %BFNPO4FU
w +PC
w %FQMPZNFOU
w $POpH.BQ
LTߏཁૉ
Slide 22
Slide 22 text
w LTڥΛߏ͢ΔϚγϯ܈
w %PDLFS͕ಈ͚ཧཧͲͪΒͰྑ͍
w ΫϥυαʔϏεͰཧը໘ͰϙνΔ͚ͩ
Ϋϥελ
Slide 23
Slide 23 text
w ϫʔΫϩʔυ ίϯςφ
͕ಈ࡞͢Δཧϊʔυ
w ෳͷϫʔΫϩʔυ͕ಈ࡞͢Δ߹͋Δ
w ಉҰ1PEͷ߹ɺϑΝΠϧγεςϜͰίϯςφಉ࢜
͕ΓऔΓ͢Δ͜ͱՄೳ
1PE
Slide 24
Slide 24 text
w ໊લղܾ
w ෦Ͱ%/4͕ಈ͍͍ͯΔ
w ֎෦ͷΤϯυϙΠϯτ࡞
4FSWJDF
Slide 25
Slide 25 text
w αʔϏεҰࣜΛஔ͢ΔΈ
w ࢮ׆ࢹ
w ߏมߋɾΦʔτεέʔϧ
w %PDLFSΠϝʔδͷߋ৽
w Ξοϓσʔτઓུ
%FQMPZNFOU
Slide 26
Slide 26 text
w LTཧίϚϯυ
w جຊ͜ͷίϚϯυ͔Βͯ͢Λߦ͏
LVCFDUM
Slide 27
Slide 27 text
w IPHFZNMʹαʔϏεͷͯ͢Λॻ͘ํࣜ
w ͍ͨΜγϯϓϧ
w :".-Ͱ͔͗͢
σϓϩΠ
$ kubectl apply -f hoge.yml
Slide 28
Slide 28 text
ࠓճͷ༰
w ,VCFSOFUFTͷྺ࢙
w ,VCFSOFUFTͷಛ
w 4LB⒎PMEͷಛ
w 4LB⒎PMEͷ͍ํ
Slide 29
Slide 29 text
w IUUQTHJUIVCDPN(PPHMF$POUBJOFS5PPMT
TLB⒎PME
w ϫʔΫϑϩʔͷࣗಈԽπʔϧ
w ·ͩΞϧϑΝ൛Ͱ࣮ݧతͳҐஔ͚ͮ
w ࠷৽൛ʹϦϦʔε͞Εͨ
4LB⒎PME
Slide 30
Slide 30 text
w .BUU3JDLBSE͞Μ
w IUUQTHJUIVCDPNSE
w ($1ΤϯδχΞ
w NJOJLVCFʹؔΘ͍ͬͯΔ
࡞ͬͨͷ͜ͷਓ
Slide 31
Slide 31 text
w ίϯςφϕʔε։ൃͷ$*
w %PDLFSΠϝʔδͷ࡞ɺϨδετϦͷొɺσϓϩΠ
ͷͦΕͧΕΛࣗಈԽ
ԿΛղܾ͢Δͷ
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
w ։ൃ࣌
w ϏϧυϩʔΧϧͷEPDLFSCVJME
w ొͳ͠
w σϓϩΠNJOJLVCFʹLVCFDUM
w ຊ൪࣌ ($1ͷ߹
w Ϗϧυ(PPHMF$POUBJOFS#VJMEFSʹ͛Δ
w ొ(PPHMF$POUBJOFS3FHJTUSZʹొ͢Δ
w σϓϩΠ(,&ʹLVCFDUM
྆ऀͷҧ͍
Slide 34
Slide 34 text
w ΠϝʔδSFQPͷλάΛࣗಈͰଧͬͯ͘ΕΔɻ
w ։ൃ࣌ϑΝΠϧΛࢹͯ͠ɺมߋ͕͋ͬͨΒࣗಈͰσϓ
ϩΠ·Ͱͬͯ͘ΕΔ
·ͩ͋Δศརػೳ
Slide 35
Slide 35 text
w #B[FM
w IUUQTCB[FMCVJME
w )FMN
w IUUQTIFMNTI
w LBOJLP
w IUUQTHJUIVCDPN(PPHMF$POUBJOFS5PPMTLBOJLP
w LVTUPNJ[F
w IUUQTHJUIVCDPNLVCFSOFUFTTJHTLVTUPNJ[F
w ෳΠϝʔδͷରԠ NJDSPTFSWJDF
֤छπʔϧରԠ
Slide 36
Slide 36 text
ࠓճͷ༰
w ,VCFSOFUFTͷྺ࢙
w ,VCFSOFUFTͷಛ
w 4LB⒎PMEͷಛ
w 4LB⒎PMEͷ͍ํ
Slide 37
Slide 37 text
w TLB⒎PMEίϚϯυͷΠϯετʔϧ
w ඞཁͳΒ
LVCFDUM
NJOJLVCFͷΠϯετʔϧ
w ຊ൪σϓϩΠڥͷ༻ҙ ྫ(,&
ͰͬͯΈΑ͏
Slide 38
Slide 38 text
w TLB⒎PMEHP
w ֤ϓϥοτϑΥʔϜ༻όΠφϦΛ͍ͬͯΔͷͰࣗͰ
Ϗϧυ͢Δඞཁͳ͍
w .BDͳΒ
TLB⒎PMEίϚϯυ
curl -Lo skaffold https://storage.googleapis.com/skaffold/
releases/latest/skaffold-darwin-amd64 && chmod +x skaffold
&& sudo mv skaffold /usr/local/bin
Slide 39
Slide 39 text
w NBJOHPΛίϯύΠϧ࣮ߦ͢Δ͚ͩͷαϯϓϧ
FYBNQMFTHFUUJOHTUBSUFE
Slide 40
Slide 40 text
NBJOHP
package main
import (
"fmt"
"time"
)
func main() {
for {
fmt.Println("Hello world!")
time.Sleep(time.Second * 1)
}
}
Slide 41
Slide 41 text
%PDLFSpMF
FROM golang:1.10.1-alpine3.7 as builder
COPY main.go .
RUN go build -o /app main.go
FROM alpine:3.7
CMD ["./app"]
COPY --from=builder /app .