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 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
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
190
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
170
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
140
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
230
SDDの運用にめげずに向き合った話
sansantech
PRO
0
110
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
240
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
14k
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
6
2.1k
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
770
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
170
FinTech 1-2 : Overview of FinTech
ks91
PRO
0
130
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
First, design no harm
axbom
PRO
2
1.3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Documentation Writing (for coders)
carmenintech
77
5.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Designing for humans not robots
tammielis
254
26k
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ͱͳΔΑ͏Ͱ͢