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
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.1k
kubernetesでGPUを 管理するために スケジューラをいじってみた
uesyn
2
3k
Other Decks in Technology
See All in Technology
現場のトークンマネジメント
dak2
1
190
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
110
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
200
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
140
元銀行員がAIだけでアプリを量産!「バイブコーディング実演セミナー 」
tatsuya1970
0
110
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
120
水を運ぶ人としてのリーダーシップ
izumii19
4
990
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
860
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
0
110
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
220
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
160
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
610
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
860
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Prompt Engineering for Job Search
mfonobong
0
350
Site-Speed That Sticks
csswizardry
13
1.2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Making Projects Easy
brettharned
120
6.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Speed Design
sergeychernyshev
33
1.9k
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ͱͳΔΑ͏Ͱ͢