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
300
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
3.9k
次世代のログ基盤 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.1k
kubernetesでGPUを 管理するために スケジューラをいじってみた
uesyn
2
3k
Other Decks in Technology
See All in Technology
LLMを「主役」にしないための 3つの原則
techtekt
PRO
0
120
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.4k
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.7k
Cloud Run のアップデート 触ってみる&紹介
gre212
0
320
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
360
Agentic Defenseとともにセキュリティエンジニアが輝き続けるには / How Security Engineers Can Keep Excelling with Agentic Defense
yuj1osm
0
120
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
290
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
400
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
760
Mastering Ruby Box
tagomoris
3
150
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
210
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
Speed Design
sergeychernyshev
33
1.8k
Building the Perfect Custom Keyboard
takai
2
780
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
WENDY [Excerpt]
tessaabrams
11
38k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Deep Space Network (abreviated)
tonyrice
0
160
Between Models and Reality
mayunak
4
330
Color Theory Basics | Prateek | Gurzu
gurzu
0
360
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ͱͳΔΑ͏Ͱ͢