Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コンテナオーケストレーションにとどまらないKubernetesの魅力 / osc19tk_yu...
Search
yukirii
November 24, 2019
Technology
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンテナオーケストレーションにとどまらないKubernetesの魅力 / osc19tk_yukirii_k8s
https://www.ospn.jp/osc2019-fall/modules/eguide/event.php?eid=62
yukirii
November 24, 2019
More Decks by yukirii
See All by yukirii
Operator でどう変わる? これからのデータベース運用 / cndt2019_k8s_operator
yukirii
14
7k
Other Decks in Technology
See All in Technology
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
170
Classmethod Company Deck
satoshi7
1
700
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
Optunaの最新リリースv5.0について
pfn
PRO
0
120
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
270
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
160
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
130
Kiro Crewをはじめよう
kizawa2020
1
160
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
The untapped power of vector embeddings
frankvandijk
2
1.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Making the Leap to Tech Lead
cromwellryan
135
10k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Transcript
ίϯςφΦʔέετϨʔγϣϯʹ ͱͲ·Βͳ͍ ,VCFSOFUFTͷັྗ גࣜձࣾαΠόʔΤʔδΣϯτ ٕज़ຊ෦αʔϏεϦϥΠΞϏϦςΟάϧʔϓ ۅҪ༞थ 0QFO4PVSDF$POGFSFODF5PLZP'BMM!໌େֶ
"CPVUNF 2 ,*3**:VLJ *OGSBTUSVDUVSF&OHJOFFS גࣜձࣾαΠόʔΤʔδΣϯτ ٕज़ຊ෦αʔϏεϦϥΠΞϏϦςΟάϧʔϓ $FSUJpFE,VCFSOFUFT"ENJOJTUSBUPS ZVLJSJJ ZVLJSJJ@
,VCFSOFUFTͷಛͱಈ࡞Λ͓͞Β͍ w %FDMBSBUJWF"1* w 3FDPODJMJBUJPO-PPQ w $VTUPN3FTPVSDF$VTUPN$POUSPMMFS ,VCFSOFUFTͷಛΛ׆༻͢Δ
w ,VCFSOFUFT0QFSBUPS w $MVTUFS"1* ·ͱΊ 3
,VCFSOFUFTͷಛͱಈ࡞ ͓͞Β͍ ಛ%FDMBSBUJWF એݴతͳ "1*ͱઃఆ w ϢʔβγεςϜͷl·͍͠ঢ়ଶz EFTJSFETUBUF Λఆٛ w
"1*Λհͯ͠ΫϥελʹొˠϦιʔεΦϒδΣΫτ͕࡞͞ΕΔ Service apiVersion: v1 kind: Service metadata: name: my-service spec: type: LoadBalancer ports: - protocol: TCP port: 80 targetPort: 8080 selector: app: my-app my-service.yaml ྫ4FSWJDF UZQF-PBE#BMBODFS Ϣʔβެ։͢ΔΞϓϦέʔγϣϯϓϩτίϧϙʔτ൪߸Λࢦఆ create/modify object Kubernetes API kubectl apply Cloud
,VCFSOFUFTͷಛͱಈ࡞ ͓͞Β͍ ಛίϯτϩʔϥʹΑΔ3FDPODJMJBUJPO-PPQ ௐϧʔϓ w ,VCFSOFUFTΫϥελ༷ʑͳίϯτϩʔϥͷΈ߹ΘͤͰಈ͍͍ͯΔ w ֤ίϯτϩʔϥࣗͷ୲͢ΔϦιʔεΦϒδΣΫτΛಡΈऔΓ ఆٛ͞Εͨཁ݅Λຬͨ͢Α͏ʹϦιʔεͷ࣮ମ
BDUSVBMTUBUF Λૢ࡞ Service LB Service Controller watch create/modify 0CTFSWF %J⒎ "DU Cloud ΦϒδΣΫτͷ ߋ৽Λݕ ΦϒδΣΫτͷ༰ͱ ࣮ࡍͷϦιʔεͷঢ়ଶΛ ൺֱ ͕ࠩ͋Δ߹ ࣮ࡍͷϦιʔεΛ मਖ਼͢Δ
,VCFSOFUFTͷಛͱಈ࡞ ͓͞Β͍ ಛϢʔβಠࣗͷϦιʔείϯτϩʔϥΛ࣮Ͱ͖Δ w $VTUPN3FTPVSDF w ϢʔβʹΑͬͯಠࣗʹఆٛ͞ΕͨϦιʔε w $VTUPN3FTPVSDF%FpOJUJPOT $3%T
ʹΑͬͯLT"1*Λ֦ு͢Δͱѻ͑Δ w $VTUPN$POUSPMMFS w ϢʔβʹΑͬͯಠࣗʹ࣮͞Εͨίϯτϩʔϥ $VTUPN3FTPVSDF %FpOJUJPO %BUBCBTF$MVTUFS $POUSPMMFS $VTUPN$POUSPMMFS %BUBCBTF$MVTUFS $VTUPN3FTPVSDF kind: DatabaseCluster kind: CustomResourceDefinition spec: names: kind: DatabaseCluster Kubernetes API watch Reconcile Loop
,VCFSOFUFTͷಛΛ׆༻͢Δ ಛ%FDMBSBUJWF"1*ͱઃఆ ಛίϯτϩʔϥʹΑΔ3FDPODJMJBUJPO-PPQ ಛಠࣗͷϦιʔείϯτϩʔϥΛ࣮Ͱ͖Δ ,VCFSOFUFT0QFSBUPS ΞϓϦέʔγϣϯΫϥυϦιʔεΛࣗཧ $MVTUFS"1* ,TΫϥελͰ,TΫϥελΛ࡞ͬͯཧ͢Δ ୯ʹίϯςφΛσϓϩΠ͢Δ͚ͩͰͳ͘ ͜ΕΒͷಛΛ׆͔ͨ͠։ൃɾӡ༻Λ͢Δʹʜ
,VCFSOFUFT0QFSBUPS 8 ಛఆͷΞϓϦέʔγϣϯΛ,VCFSOFUFT্Ͱ࣮ߦɾཧ͢ΔͨΊͷ ιϑτΣΞ ίϯτϩʔϥ w த$3%ͱΧελϜίϯτϩʔϥ w ΞϓϦέʔγϣϯͷӡ༻্ͷφϨοδΛίϯτϩʔϥͱ࣮ͯ͠
w ίϯτϩʔϥࣗମίϯςφԽ͞ΕͨΞϓϦͱͯ͠,VCFSOFUFT্Ͱಈ࡞͢Δ %BUBCBTF$MVTUFS $POUSPMMFS $VTUPN$POUSPMMFS %BUBCBTF$MVTUFS $VTUPN3FTPVSDF watch Reconcile Loop %BUBCBTF$MVTUFS
,VCFSOFUFT0QFSBUPS 9 ಛఆͷΞϓϦέʔγϣϯΛ,VCFSOFUFT্Ͱ࣮ߦɾཧ͢ΔͨΊͷ ιϑτΣΞ ίϯτϩʔϥ w த$3%ͱΧελϜίϯτϩʔϥ w ΞϓϦέʔγϣϯͷӡ༻্ͷφϨοδΛίϯτϩʔϥͱ࣮ͯ͠
w ίϯτϩʔϥࣗମίϯςφԽ͞ΕͨΞϓϦͱͯ͠,VCFSOFUFT্Ͱಈ࡞͢Δ %BUBCBTF$MVTUFS $POUSPMMFS $VTUPN$POUSPMMFS %BUBCBTF$MVTUFS $VTUPN3FTPVSDF watch Reconcile Loop %BUBCBTF$MVTUFS ྫσʔλϕʔεγεςϜ ϊʔυΛͭʹઃఆ
,VCFSOFUFT0QFSBUPS 10 ಛఆͷΞϓϦέʔγϣϯΛ,VCFSOFUFT্Ͱ࣮ߦɾཧ͢ΔͨΊͷ ιϑτΣΞ ίϯτϩʔϥ w த$3%ͱΧελϜίϯτϩʔϥ w ΞϓϦέʔγϣϯͷӡ༻্ͷφϨοδΛίϯτϩʔϥͱ࣮ͯ͠
w ίϯτϩʔϥࣗମίϯςφԽ͞ΕͨΞϓϦͱͯ͠,VCFSOFUFT্Ͱಈ࡞͢Δ %BUBCBTF$MVTUFS $POUSPMMFS $VTUPN$POUSPMMFS %BUBCBTF$MVTUFS $VTUPN3FTPVSDF watch Reconcile Loop %BUBCBTF$MVTUFS ରԠ͢Δίϯτϩʔϥ͕ ઃఆΛͱʹ1PEΛσϓϩΠ
,VCFSOFUFT0QFSBUPS 11 0QFSBUPSͰͲΜͳ͜ͱ͕Ͱ͖Δʁ ྫσʔλϕʔε w Ϋϥελͷ࡞আ w Ϋϥελͷεέʔϧ w োͷݕͱ෮چ
w όοΫΞοϓϦετΞͷࣗಈԽ ྫΫϥυ w Ϋϥυ্ͷϦιʔεͷཧ w Ϛωʔδυ%# w ΦϒδΣΫτετϨʔδͷόέοτ w ͳͲʜ
,VCFSOFUFT0QFSBUPS 12 0QFSBUPSΛ͕͢͞ʹʁ BXFTPNFPQFSBUPST ެ։͞Ε͍ͯΔ0QFSBUPSΛΞϓϦέʔ γϣϯ͝ͱʹूͨ͠υΩϡϝϯτ 0QFSBUPS)VCJP 0QFSBUPSΛΞϓϦέʔγϣϯ։ൃ ϑΣʔζผʹ·ͱΊͨαΠτ
,VCFSOFUFT0QFSBUPS 13 IUUQTTQFBLFSEFDLDPNZVLJSJJDOEULTPQFSBUPS 0QFSBUPSʹؔ͢ΔΑΓৄ͍͠ղઆʜ
$MVTUFS"1* w ,VCFSOFUFTͷαϒϓϩδΣΫτ w $MVTUFS-JGFDZDMF4*(ͷͱ։ൃ͕ਐΊΒΕ͍ͯΔ w ΫϥελͷϥΠϑαΠΫϧʹؔΘΔૢ࡞Λ,Tͷએݴతͳ"1*Ͱఏڙ͢Δ w Ϋϥελͷʮ࡞ɾεέʔϧɾΞοϓάϨʔυɾআʯ w
֤छΫϥυΦϯϓϨϛεͳͲͷڥͰར༻Մೳ 5IF$MVTUFS"1*#PPL IUUQTDMVTUFSBQJTJHTLTJP
,VCFSOFUFTΫϥελͷߏஙɾӡ༻େมʂ Πϯϑϥߏங 44-ূ໌ॻͷཧ ωοτϫʔΫ 7. ετϨʔδ ߋ৽ ൃߦ ϊʔυஔ ιϑτΣΞͷཧ
ύοέʔδͷΠϯετʔϧ ΫϥελΞυΦϯͷಋೖ LTͷόʔδϣϯΞοϓ $MVTUFS"1*͕ొͨ͠എܠ
ΫϥελϚωδϝϯτ༻ͷ༷ʑͳπʔϧ͕ొ w LVCFTQSBZ,VCFSOFUFTΛΠϯετʔϧ͢Δ"OTJCMF1MBZCPPL w LPQT"84ڥʹ,VCFSOFUFTΫϥελΛߏஙɾཧ͢Δπʔϧ w LVCFBENΫϥελίϯϙʔωϯτͷϒʔτετϥοϓʹಛԽͨ͠πʔϧ ͳͲʜɹ πʔϧʹΑͬͯ࡞ۀϥΫʹͳͬͨʂ͕ɺ ͜ͷΑ͏ʹͰ͖Δͱ͏Ε͍͠
w ڥπʔϧʹґଘ͠ͳ͍ڞ௨ͷΫϥελཧํ๏͕΄͍͠ wରԠڥΛՃ͢ΔͨΊͷ࣮؆୯ʹ࣮Ͱ͖Δͱ͏Ε͍͠ w ΫϥελͷϊʔυͷεέʔϧΞοϓσʔτΛࣗಈԽ͍ͨ͠ w ͜ΕΒͷૢ࡞Λએݴతͳ"1*ઃఆͰ࣮ݱ͍ͨ͠ Ͳ͏ͬͯղܾ͢Δʁʁ $MVTUFS"1*͕ొͨ͠എܠ
$MVTUFS"1*͕ొͨ͠എܠ ,VCFSOFUFT͕͢Ͱʹ͍࣋ͬͯΔΞΠσΟΞΛ͏ ࠶ͼ4FSWJDFͷྫ w ઃఆ :".-ϚχϑΣετ ͷ༰ڥඇґଘ˞ w ֤Ϋϥυ͚ͷίϯτϩʔϥ͕ڥʹ߹Θͤͯ-#Λઃఆ Service
Service apiVersion: v1 kind: Service metadata: name: my-service spec: type: LoadBalancer ports: - protocol: TCP port: 80 targetPort: 8080 selector: app: my-app my-service.yaml apply apply GCLB LBaaS cloud-provider gcp cloud-provider openstack watch create watch create ˞ઃఆ༰ʹΑͬͯҟͳΔڥͰ༻Ͱ͖ͳ͍ͷ͋Γ·͢ ྫBOOPUBUJPOΛͬͨΫϥυڥݻ༗ͷઃఆͳͲ
1SPWJEFS*NQMFNFOUBUJPOT ڥݻ༗ͷॲཧ$MVTUFS"1*1SPWJEFSͱͯ͠ຊମ͔ΒΓग़͞Ε͍ͯΔ ֤छΠϯϑϥڥ#PPUTUSBQํ͚ࣜʹϓϩόΠμ͕։ൃ͞Ε͍ͯΔ https://cluster-api.sigs.k8s.io/reference/providers.html *OGSBTUSVDUVSF1SPWJEFS Ϋϥυڥʹ7.-#ͳͲͷ ඞཁͳϦιʔεΛ࡞ w "84 w
"[VSF w #BSF.FUBM w ($1 w 0QFO4UBDL w W4QIFSF w FUDʜ #PPUTUSBQ1SPWJEFS 7.ʹ,TͷίϯϙʔωϯτΛ Πϯετʔϧ͢ΔεΫϦϓτΛੜ w LVCFBEN w 5BMPT
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ ৽͍͠ΫϥελΛͭ͘Δʹ ˠΫϥελ $MVTUFS ͱϊʔυ .BDIJOF ͷ:".-Λ༻ҙ͢Δ apiVersion: cluster.x-k8s.io/v1alpha2
kind: Cluster metadata: name: my-cluster spec: clusterNetwork: pods: cidrBlocks: [“192.168.0.0/16”] infrastructureRef: # লུ # Ϋϥυڥݻ༗ͷઃఆͷࢀর cluster.yaml apiVersion: cluster.x-k8s.io/v1alpha2 kind: MachineDeployment metadata: name: my-first-cluster-node01 spec: replicas: 3 template: spec: version: v1.15.3 bootstrap: # লུ # k8sίϯϙʔωϯτͷbootstrapͷ # ํ๏Λఆٛͨ͠ઃఆͷࢀর infrastructureRef: # Ϋϥυڥݻ༗ͷઃఆͷࢀর machine.yaml
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ Cloud Environment Management Cluster Cluster Infrastructure Cluster Machine Infrastructure
Machine Bootstrap Config Cluster API Infrastructure Provider CRDs Controller Bootstrap Provider Workload Cluster kind: Cluster kind: Machine CRDs Controller CRDs Controller
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ Cloud Environment Management Cluster Cluster Infrastructure Cluster Machine Infrastructure
Machine Bootstrap Config Cluster API Infrastructure Provider CRDs Controller Bootstrap Provider Workload Cluster kind: Cluster kind: Machine CRDs Controller CRDs Controller ଞͷΫϥελΛཧ͢ΔΫϥελ $MVTUFS"1*ͷίϯϙʔωϯτ͕ Πϯετʔϧ͞Ε͍ͯΔ
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ Cloud Environment Management Cluster Cluster Infrastructure Cluster Machine Infrastructure
Machine Bootstrap Config Cluster API Infrastructure Provider CRDs Controller Bootstrap Provider Workload Cluster kind: Cluster kind: Machine CRDs Controller CRDs Controller ϥΠϑϥΠΫϧΛཧ͞Ε͍ͯΔΫϥελ ࣮ࡍͷΞϓϦέʔγϣϯΛಈ࡞ͤ͞Δ ϫʔΫϩʔυ༻Ϋϥελͱͯ͠ΘΕΔ
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ Cloud Environment Management Cluster Cluster Infrastructure Cluster Machine Infrastructure
Machine Bootstrap Config Cluster API Infrastructure Provider CRDs Controller Bootstrap Provider Workload Cluster kind: Cluster kind: Machine CRDs Controller CRDs Controller $MVTUFSͱ.BDIJOFͷ ΦϒδΣΫτΛ࡞
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ Cloud Environment Management Cluster Cluster Infrastructure Cluster Machine Infrastructure
Machine Bootstrap Config Cluster API Infrastructure Provider CRDs Controller Bootstrap Provider Workload Cluster kind: Cluster kind: Machine CRDs Controller CRDs Controller $MVTUFS"1*ίϯτϩʔϥ͕ ΫϥελߏஙʹඞཁͳใΛੜ
$MVTUFS"1*ʹΑΔΫϥελߏஙɾཧ Cloud Environment Management Cluster Cluster Infrastructure Cluster Machine Infrastructure
Machine Bootstrap Config Cluster API Infrastructure Provider CRDs Controller Bootstrap Provider Workload Cluster kind: Cluster kind: Machine CRDs Controller CRDs Controller Ϋϥυڥʹ7.͕࡞͞Ε Ϋϥελ্ཱ͕͕ͪΔ
<ٕज़ॻయ>͡ΊΔ$MVTUFS"1* 26 IUUQTUFDIJFNFEJBCPPUIQNJUFNT lΫϥελͰΫϥελΛ࡞Γཧ͢ΔzΛ ମݧ͢ΔͨΊͷղઆॻ ʲ༰ʳ $MVTUFS"1*ͷഎܠͱ֓ཁ "84ڥʹΫϥελΛͭ͘Δ
ϋϯζΦϯ ,VCFSOFUFTͷΤίγεςϜͱ Έ߹Θ͔ͤͯͭ͏ #005)ʹͯిࢠॻ੶൛ൢചதʂ ຊͷ04$ϒʔε ʹͯ ൦͍ͯ͠·͢ʂ
·ͱΊ w ,VCFSOFUFTએݴతͳ"1* ίϯτϩʔϥͰߏ͞ΕΔ w lίϯςφͷσϓϩΠz͚ͩʹͱͲ·Βͣ ,VCFSOFUFTͷΈ͞·͟·ͳతʹԠ༻Ͱ͖Δ w ,VCFSOFUFT0QFSBUPS ΞϓϦέʔγϣϯݻ༗ͷӡ༻ૢ࡞Λ,VCFSOFUFTʹͤΔ
w $MVTUFS"1* LTΫϥελͰLTΫϥελΛͭ͘Δ એݴతͳ"1*Ͱ͞·͟·ͳΫϥυڥΫϥελΛσϓϩΠ ʮϓϥοτϑΥʔϜΛͭ͘ΔͨΊͷϓϥοτϑΥʔϜʯ ͱͯ͠,VCFSOFUFTΛ׆༻͍ͯ͜͠͏ʂ