Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes v1.19 変更点調査のまとめ / k8s-v119-updates
Search
uesyn
September 30, 2020
Technology
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes v1.19 変更点調査のまとめ / k8s-v119-updates
uesyn
September 30, 2020
More Decks by uesyn
See All by uesyn
PodSecurityPolicyの安全な移行の道のり / On the safe migration of PodSecurityPolicy
uesyn
1
1.2k
PodSecurityPolicyの廃止に備えて、 一足先にPodSecurity Admissionを試してみよう! / from-psp-to-podsecurity
uesyn
4
1.9k
そのクラスタ本当にアップグレードして大丈夫? Storage Version の更新も忘れずにしよう! / k8s-storage-version-migration
uesyn
2
4k
次世代のログ基盤 Grafana Lokiを始めよう! / prometheus-meetup-tokyo-3-lets-start-the-loki
uesyn
7
15k
kindでも"type LoadBalancer"を使いたい! / kubernetes-meetup-tokyo-24-kind-with-type-loadbalancer
uesyn
0
1.8k
Loki入門
uesyn
8
2.8k
Cortexの話をKubeConで聞きたかったっていう話
uesyn
4
2.2k
kubernetesでGPUを 管理するために スケジューラをいじってみた
uesyn
2
3k
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
470
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
150
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
100
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
300
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
12
8.4k
ホームラボ紹介
y_sera15
0
140
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
140
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
Bash Introduction
62gerente
615
220k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
So, you think you're a good person
axbom
PRO
2
2.1k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
Practical Orchestrator
shlominoach
191
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Transcript
Kubernetes Meetup Tokyo #34 (2020/9/30) Shunya Murata @shmurata_ Shinya Uemura
@uesyn Kubernetes v1.19 มߋௐࠪͷ·ͱΊ
Shinya Uemura / @suemura ▶ θοτϥϘגࣜձࣾ ιϑτΣΞΤϯδχΞ ▶ 2019θοτϥϘגࣜձࣾʹೖࣾ ▶
Prometheus Meetup Tokyo, Cloud Native Meetup TokyoͷӡӦͬͯ·͢
θοτϥϘגࣜձࣾ / Z Lab Corporation ▶ 2015ʹઃཱ͞ΕͨϠϑʔגࣜձࣾͷ100%ࢠձࣾ ▶ Πϯϑϥج൫ٕज़ͷௐࠪɾݚڀ։ൃ ▶
Ϡϑʔגࣜձ͚ࣾͷϚωʔδυ Kubernetes αʔϏεͷ։ൃ ▶ https://zlab.co.jp/
ΞδΣϯμ ▶ มߋௐࠪͷऔΓΈʹ͍ͭͯ ▶ @uesynͷؾʹͳͬͨมߋͷհ ▶ @shmurata_ ͷؾʹͳͬͨมߋͷհ
มߋௐࠪʹ͍ͭͯ
มߋௐࠪͱʁͳ࣮ͥࢪ͢Δͷ͔ʁ ▶ มߋௐࠪͱʁ + Z LabͰKubernetesͷCHANGELOGΛௐࠪɾຊޠ༁ͷهࣄΛ࡞͍ͯ͠·͢ + ϚΠφʔόʔδϣϯͷϦϦʔεຖʹ࣮ࢪ + v1.19Z
Labͱ@superbrothers͞ΜͰ࣮ࢪ + SIG (Special Interest Group) ຖʹ୲Λ୲͠ɺSIGʹؔ࿈ͨ͠༰Λ·ͱΊΔ ▶ ͳ࣮ͥࢪ͢Δͷ͔ʁ + ίϛϡχςΟͷߩݙͷͨΊ + CaaSΛར༻͍ͯ͠ΔϢʔβӨڹศརͳػೳͷհ + Kubernetesͷมߋ͔Βɺఏڙ͍ͯ͠ΔCaaSͷӨڹΛѲ͢ΔͨΊ + ެ։͍ͯ͠ΔͷϚΠφʔόʔδϣϯ͚ͩͰ͕͢ɺύονόʔδϣϯͷมߋ֬ೝ
มߋௐࠪͱʁͳ࣮ͥࢪ͢Δͷ͔ʁ ▶ มߋௐࠪͱʁ + Z LabͰKubernetesͷCHANGELOGΛௐࠪɾຊޠ༁ͷهࣄΛ࡞͍ͯ͠·͢ + ϚΠφʔόʔδϣϯͷϦϦʔεຖʹ࣮ࢪ + v1.19Z
Labͱ@superbrothers͞ΜͰ࣮ࢪ + SIG (Special Interest Group) ຖʹ୲Λ୲͠ɺSIGʹؔ࿈ͨ͠༰Λ·ͱΊΔ ▶ ͳ࣮ͥࢪ͢Δͷ͔ʁ + ίϛϡχςΟͷߩݙͷͨΊ + CaaSΛར༻͍ͯ͠ΔϢʔβӨڹศརͳػೳͷհ + Kubernetesͷมߋ͔Βɺఏڙ͍ͯ͠ΔCaaSͷӨڹΛѲ͢ΔͨΊ + ެ։͍ͯ͠ΔͷϚΠφʔόʔδϣϯ͚ͩͰ͕͢ɺύονόʔδϣϯͷมߋ֬ೝ
@uesyn ͷؾʹͳͬͨมߋ
͔͜͜Βࢲ͕͢༰ 1. Expanded CLI support for debugging workloads and nodes
2. Deprecation warnings 3. Avoiding permanent beta 4. Increase the Kubernetes support window to one year 5. Structure Logging 6. EndpointSlices are now enabled by default
Expanded CLI support for debugging workloads and nodes
Expanded CLI support for debugging workloads and nodes ▶ ”kubectl
alpha debug” ৽ͨʹ2ͭͷػೳ͕Ճ 1. NodeͷͨΊͷdebugػೳ + Nodeͷσόοά༻ίϯςφΛ࡞ + /host Nodeͷ / ΛϚϯτ͠ɺNodeͷPID,IPCNWωʔϜεϖʔεͰىಈ 2. PodͷͨΊͷdebugػೳ + debugରͷPodΛίϐʔ͠debug༻PodΛ࡞ + debug༻ίϯςφΛૠೖͨ͠ΓɺίϯςφΠϝʔδҾͳͲΛมߋͨ͠ͷΛ࡞ ▶ ͲͪΒFeatureGatesͷEphemeralContainersΛ༗ޮʹ͢Δඞཁͳ͠ + alphaػೳ͕༗ޮʹͰ͖ͳ͍ڥͰར༻Մೳ
Ճ͞ΕͨNodeͷͨΊͷdebugػೳ(1/2)
Ճ͞ΕͨNodeͷͨΊͷdebugػೳ(2/2) /hostʹNodeͷ/͕Ϛϯτ͞Ε͍ͯΔ NodeͷPID,IPCNWωʔϜεϖʔεͰ࣮ߦ debug༻ͷPod໊
Ճ͞ΕͨPodͷͨΊͷdebugػೳ(1/2) ͜ͷ໊લͰdebug༻Pod͕࡞͞ΕΔ share-processͰdebug༻ίϯςφΛىಈՄೳ
Ճ͞ΕͨPodͷͨΊͷdebugػೳ(2/2) share-processͰdebug༻ίϯςφΛىಈՄೳ ▶ ͬ͟ͱ֬ೝͨ͠ײ͡ؾΛ͚ͨํ͕ྑͦ͞͏ͳࣄ + labelίϐʔ͞Εͳ͍ + ServiceԼͷPodΛdebug͢Δͱ͖ɺಉ͡τϥϑΟοΫྲྀΕͯ͜ͳ͍ + Volume,
VolumeMountsίϐʔ͞ΕΔ + hostPortίϐʔ͞ΕΔ ʑ… ▶ ىಈॱংͷ੍εέʔϧͰ͖ͳ͍ΞϓϦέʔγϣϯҙ͢Δඞཁ
Ճ͞Εͨdebugػೳʹ͍ͭͯ ▶ Ճ͞ΕͨೋͭͷػೳڞʹɺศརPodΛ࡞ΔͨΊͷίϚϯυ ▶ ৄ͍࣮͠ҎԼΛࢀর + https://github.com/kubernetes/kubectl/blob/v0.19.2/pkg/cmd/debug/debug.go#L478-L522 + https://github.com/kubernetes/kubectl/blob/v0.19.2/pkg/cmd/debug/debug.go#L413-L476
Deprecation warnings
Deprecation warnings ▶ APIར༻࣌ʹWarningΛฦ͢ػೳ͕Ճ + ഇࢭ༧ఆͷAPIΛୟ͍ͨ࣌ + Admission WebhooksͷϨεϙϯεͰࢦఆ (ϢʔβఆٛՄೳ)
+ CRDͷϑΟʔϧυͰࢦఆ (ϢʔβఆٛՄೳ)
ValidatingWebhookΛ༻͍ͨWarningͷσϞ ▶ ԿͷK8sϦιʔεͷValidationͤͣɺWarning͚ͩฦ͢ValidatingWebhookͷσϞΛ͠·͢ + https://github.com/uesyn/sample-warning-admission-webhook + ↑ޙ΄Ͳͪ͜ΒͰެ։͓͖ͯ͠·͢ + ϦιʔεͷValidation͠·ͤΜ͕ɺۈ࣌ؒͷValidationͯ͘͠Ε·͢ +
ۈ࣌ؒ֎ʹಇ͘͜ͱΛېࢭ͠·ͤΜ͕ɺWarningͱͯ͠ग़ྗ ▶ Admission WebhookͷWarningʹ͍ͭͯҎԼΛࢀর͍ͩ͘͞ + https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#admissionreview-response-warning
Avoiding permanent beta
Avoiding permanent beta ▶ ͣͬͱvXbetaYͰ͢ʂͱͳΒͳ͍ͨΊͷϙϦγʔΛద༻ + Ingress2015ʹbetaʹͳ͍ͬͯͨΑ͏Ͱ͢ ▶ ৽͍͠API͕betaʹͳΔͱɺͦͷAPI9ϲ݄ҎͰҎԼͷΞΫγϣϯ͕ඞཁ +
GAΛग़͠ɺbetaͷͷΛඇਪͱ͢Δ + ৽͍͠betaΛग़͠ɺݹ͍ͷΛඇਪͱ͢Δ ▶ 9ϲ݄ܦաͯ͠͠·ͬͨ߹ + ࣍ͷϦϦʔεͰͦͷAPIͷόʔδϣϯඇਪͱͳΔ + ಉ͡betaόʔδϣϯͰଓߦͱ͍͏બࢶͳ͍ ▶ ৄࡉҎԼ + https://kubernetes.io/blog/2020/08/21/moving-forward-from-beta/
Increase the Kubernetes support window to one year
Increase the Kubernetes support window to one year ▶ Kubernetes
v1.19͔Βɺόάमਖ਼ͷαϙʔτ͕9ϲ݄͔Β1 ▶ ͜Ε͔ΒؤுͬͯΫϥελͷΞοϓάϨʔυ͍͖ͯ͠·͠ΐ͏ʂ
Structure Logging
Structure Logging ▶ ߏԽϩΪϯά͕ಋೖ͞Εͨ + ରԠ͍ͯ͠ΔkubernetesͷίϯϙʔωϯτͰ͋Ε—logging-formatΦϓγϣϯͰࢦఆՄೳ + json ·ͨ text
Λࢦఆ ▶ k8s.io/klog ͕v2ͱͳΓInfoSErrorSͳͲͷߏԽ͞ΕͨϩάΛग़ྗ͢Δ͕ؔՃ + jsonͰग़ྗ͢Δ࣮klogʹͳ͍ + SetLogger ؔͰgithub.com/go-logr/logr Λ࣮ͨ͠ͷΛηοτ͢Δ + K8sίϯϙʔωϯτ͕ར༻͍ͯ͠Δ্ه࣮ k8s.io/component-base ʹଘࡏ
EndpointSlices are now enabled by default
EndpointSlices are now enabled by default ▶ EndpointsͷΘΓʹEndpointSlice͕kube-proxyͰσϑΥϧτͰར༻͞ΕΔΑ͏ʹ ▶ EndpointSliceϦιʔεࣗମv1.18͔Β࡞͞ΕΔ
▶ EndpointsϦιʔεΛ୯ମͰ࡞͢ΔͱɺରԠ͢ΔEndpointSliceϦιʔε͕࡞͞ΕΔ + EndpointSliceMirrorling controllerʹΑΓੜ͞ΕΔ + labelͰendpointslice.kubernetes.io/skip-mirror: “true" ͱ͢Δ͜ͱͰϛϥʔϦϯά͞Εͳ͘ͳΔ + ࡞͞ΕΔEndpointSliceOwnerReference͕ͦͷEndpointsͱͳΔΑ͏Ͱ͢