SlideShare a Scribd company logo
Kubernetes Meetup Tokyo #50(2022/04/27)
SUDA Kazuki, Preferred Networks, Inc.
@superbrothers
独断と偏⾒で選んだ
Kubernetes 1.24 の注⽬機能と今後!
@superbrothers
!
SUDA Kazuki / @superbrothers
▶ Preferred Networks, Inc. / エンジニア
▶ Scalar, Inc. / 技術アドバイザ
▶ Kubernetes Meetup Tokyo 共同主催者
▶ Cloud Native Ambassador (CNCF)
▶ 技術評論社「Kubernetes実践⼊⾨」、「みんなのDocker/Kubernetes」共著書
▶ オライリー「⼊⾨ Prometheus」、「Kubernetes で実践するクラウドネイティブ DevOps」監訳書
2
@superbrothers
!
もくじ
▶ Kubernetes 1.24 で削除される機能と注⽬機能!
+ [KEP 2221] kubelet からの Dockershim の削除
+ [KEP 281] DynamicKubeletCon
fi
g の削除
+ [KEP 2307] JobTrackingWithFinalizer のデフォルト無効化
+ [KEP 3136] ベータ API がデフォルトで有効にならなくなる
+ [KEP 2799][beta] Secret-based ServiceAccount トークンの⾃動⽣成の停⽌
+ kubectl create token コマンドの追加
+ [KEP 2727][beta] gRPC プローブがベータに昇格
+ [KEP 3140][alpha]CronJob のタイムゾーンサポート
+ [KEP 961][alpha] StatefulSets で maxUnavailable のサポート
+ kubelet が OOM メトリクスを開⽰
+ [KEP 2590][alpha] kubectl でサブリソースをサポート
▶ Kubernetes 1.24 に⼊らなかった今後の注⽬機能
3
!"#$%&%'()%*++,-./012


%%%%%%$(!3%*++,-456&789:;01<=>
%%%%?@%!"!A"!%++,-BC0DEFG45HI:J
@superbrothers
!
Kubernetes 1.24 で


削除される機能と注⽬機能!
@superbrothers
!
[KEP 2221] kubelet からの Dockershim の削除
▶ 1.20 から廃⽌予定となった Dockershim が 1.24 の kubelet で完全に削除された
▶ これまでコンテナランタイムに Docker Engine を使⽤している場合は、他の CRI ランタイム
(containerd や CRI-O)のいずれかに移⾏する必要がある
▶ 1.24 からの引き続き Docker Engine を使⽤したい場合は、Mirantis 社がメンテする


Dockershim フォークの cri-dockerd を使⽤できる
+ Mirantis社はKubernetesのdockershimサポートを引き継ぎます - クリエーションライン株式会社
詳しくは Updated: Dockershim Removal FAQ | Kubernetes を参照
5
K@LMNOLPQR%*STI:UV=W-X0%R@KYPQ%Z[%]^_:_`a%LPQRKMb%<^c62
@superbrothers
!
[KEP 281] DynamicKubeletCon
fi
g の削除
▶ この機能は kubelet の⼀部の設定を kubelet の再起動なしに反映できるというものだったが、


「永続的なベータを避ける」のルールから削除されることになった
+ GA に向けて開発を続けるという⽅が出てこなかったようにみえる
▶ 代替機能は提供されていない
6
defg&=1hie%YjkPbPM%el/<mn*`op*qrIi_:sU0&`t9::u=>
del/<vw0V5<xw`et<sty*z_{_|}~<•yHI:<=h;y0&•yHI:
@superbrothers
!
[KEP 2307] JobTrackingWithFinalizer のデフォルト無効化
▶ JobTrackingWithFinalizer 機能が未解決のバグによりデフォルト無効に変更された
+ 1.23 でベータに昇格し、デフォルトで有効化された
▶
fi
nalizer を利⽤して Job の完了済み Pods 数を追跡するという機能
▶ Job が backo
ff
limit に到達した場合に、Pods に
fi
nalizer が残り続け削除されないことがあることが
分かり、v1.24 で無効化されることになった
これから 1.23 にアップグレードする⽅は、この機能をあらかじめ無効化することを推奨!
7
--feature-gates=JobTrackingWithFinalizer=false
!"#)%*€•‚ƒ,X45„|`e0=!"#)"…%0&xw†456t‡I5`_
ˆOLNbO‰PQ%&Š‹qŒ{`9:•Ž••‚X]‘’*Š‹16“*>
%%%%%”/e•–]—:1H0Š‹I`_˜|*16fg01
@superbrothers
!
[KEP 3136] ベータ API がデフォルトで有効にならなくなる
▶ API はこれまでベータに昇格するとデフォルトで有効化されていた
▶ ベータへの昇格で有効化されることは、機能の採⽤を加速させる良い⾯がある⼀⽅で


⼗分に実績のない API がほぼすべてのクラスタで有効化され問題があった場合の影響が⼤きかった
▶ 注意点として、すでに有効化されているものは無効化されない、またはこれは "API" に限ったこと
で Feature gate に影響はなくは変わらずベータに昇格するとデフォルトで有効化される
8
今後、ベータ API を使⽤したい場合、⾃⾝でクラスタを構築してるなら設定を変更するだけでいい。
マネージドの場合、今後ベータ API を有効にするかどうかはプロバイダ次第で、
アップストリームのデフォルトに従うことになった場合は機能提供まで最短でも4ヶ⽉伸びることになる。
%%%™,š%›œ%&3•že‚Ÿ-š0>
vw†45i_6{e ¡¢£<•6
YjkP¤N¥O¦PQ§PQ%e%¤¤QjLMO¨P¤K@LˆO©%ªŸ«01
@superbrothers
!
[KEP 2799][beta] Secret-based ServiceAccount トークンの⾃動⽣成の停⽌
Feature gate: LegacyServiceAccountTokenNoAutoGeneration, デフォルト有効
▶ これまで ServiceAccount を作成すると⾃動的に⽣成されていたトークンを含む


Secret オブジェクトが作成されなくなる
▶ 有効期限のないトークンが必要な場合は Token Request API を使⽤してBound ServiceAccount


トークンを⽣成するか、いくつかのステップを踏んで Secret-based トークンを⽣成できる
▶ Bound ServiceAccount Token を⽣成するのに直接 Token Request API を使うのは⾯倒なので


1.24 で kubectl にトークンを⽣成を作成するコマンドが追加された
▶ Bound ServiceAccount Token の詳細は Bound Service Account Tokenとは何か - Qiita を参照。
9
@superbrothers
!
kubectl create token コマンドの追加
▶ Bound ServiceAccount トークンを発⾏するコマンドで、トークンのスコープ、有効期限、


紐付けるオブジェクトを指定して発⾏できる
▶ トークンの発⾏には TokenRequest API の権限が必要
10
# Request a token with a custom expiration


kubectl create token myapp --duration 10m
@superbrothers
!
[KEP 2727][beta] gRPC プローブがベータに昇格
Feature gate: GRPCContainerProbe, デフォルト有効
▶ これまで gRPC サービスのヘルスチェックには grpc-health-probe を使うか、


追加で HTTP エンドポイントを公開する⼿段が取られていたが今後は不要になる
▶ この機能は startup、live、readiness のすべての Probe で使⽤できる
▶ gRPC Probe は gRPC のヘルスチェックプロトコルを使⽤するため、


サービスにはヘルスサービスが登録されていなければならない
11
apiVersion: v1


kind: Pod


...


spec:


containers:


- name: app


...


livenessProbe:


grpc:


port: 2379


initialDelaySeconds: 10
@superbrothers
!
[KEP 3140][alpha]CronJob のタイムゾーンサポート
Feature gate: CronJobTimeZone, デフォルト無効
▶ CronJob でタイムゾーンの指定がサポートされた
▶ よく勘違いされているが、これまで CronJob のタイムゾーンは UTC に固定ではなく


kube-controller-manager プロセスのタイムゾーンが使われるようになっている
+ kube-controller-manager がコンテナとして実⾏されている場合は、


ホストのタイムゾーンではなくコンテナのタイムゾーンになることに注意が必要
12
apiVersion: batch/v1


kind: CronJob


metadata:


name: hello


spec:


schedule: "0 0 * * *" # daily


timeZone: Asia/Tokyo


...
D¬*&-®%¯°Z%0^s5i_6{±s56


%%%%%%%%%%%%%%%%²oci_6³]´_:d{<`_µ
@superbrothers
!
Feature gate: MaxUnavailableStatefulSet, デフォルト無効
▶ ロールアウト時に利⽤できなくなることを許容する


Pod レプリカ数を1以上に設定できるようになる
▶ StatefulSet が使われるユースケースのなかには


⼀意な名前がほしいだけの理由から使われていることがあり、


⼀度に複数の Pod が利⽤できなくなることを許容できることがある
▶ 上記のケースではこの機能によりロールアウトが⾼速化されてうれしい
13
apiVersion: apps/v1


kind: StatefulSet


metadata:


name: web


spec:


updateStrategy:


type: RollingUpdate


rollingUpdate:


maxUnavailable: 2


...
[KEP 961][alpha] StatefulSets で maxUnavailable のサポート
@superbrothers
!
kubelet が OOM メトリクスを開⽰
▶ OOM のメトリクスは kubelet にビルドインされている cAdvisor v0.40.0 で実装され、


kubelet 1.23.0 から使われていたものの、kubelet で利⽤できるようにしていなかった
14
# HELP container_oom_events_total Count of out of memory events observed for the container


# TYPE container_oom_events_total counter


container_oom_events_total{id="testcontainer",image="test",name="test"} 0 1395066363000
@superbrothers
!
[KEP 2590][alpha] kubectl でサブリソースをサポート
▶ kubectl の get, patch, edit, replace サブコマンドに --subresource フラグが追加された
▶ このフラグを使⽤することでサブリソースを操作できるようになった
15
# list status subresource for a single pod.


kubectl get pod web-pod-13je7 --subresource status
--subresource='':


If specified, gets the subresource of the requested object. Must be one of [status scale].


This flag is alpha and may change in the future.
defg¶·e:u*%KbO¤QjLMO¨P%Ÿ¸ŽŸ+*>
%%%%%%%%%%%¦jkQP¦@jQKP%]¹º16:ue»¼•½<¾¿45:À
@superbrothers
!
おまけ情報
@superbrothers
!
TIP: リリース前に機能検証したい
▶ リリース前に機能検証するためにクラスタを構築したいことがある
▶ kind ツールを使うと特定のコミットからクラスタを構築することができて便利
▶ 例えば Kubernetes にバグっぽい挙動を⾒つけて当たりを付けて printf デバッグしたいみたいなとき
にもソースコードを編集してから kind ⽤のイメージをビルドすればよい
17
$ git clone -b v1.24.0-rc.0 --depth 1 https://github.com/kubenetes/kubernetes.git && cd kubernetes


$ kind build node-image --image kindest/node:$(git describe --always --tags --dirty)


$ kind create cluster --image kindest/node:$(git describe --always --tags --dirty)
@superbrothers
!
etcd 3.5.0 - 3.5.2 にはデータ⼀貫性に関するバグがあるので避ける
▶ ⼀部の処理がトランザクション外で処理されてしまっていたことが問題
+ ポストモーテムによると実際の本番環境でこの問題が報告されたケースはないとのこと
▶ 問題が修正された etcd 3.5.4 が 4/24 にリリースされている
▶ EKS 1.22 は当初 etcd 3.5.2 を使う予定だったが、このバグにより 3.4 を使うようにしたとのこと
+ 安定した時点で 3.5.3 以上にアップグレードする計画になっている
+ Amazon EKS now supports Kubernetes 1.22 | Containers
▶ kubeadm では 1.22 から etcd 3.5.0 以上がデフォルトになっている
+ 1.22, 1.23 へのアップグレードを予定している⼈は 3.5.4 または 3.4 を明⽰的に指定することを推奨
18
apiVersion: kubeadm.k8s.io/v1beta3


kind: ClusterConfiguration


etcd:


local:


imageTag: 3.5.4-0


...
¸»,•š«]Á/
ÂÂÃ%Ä0e.GI`_ÅÆÇ-eÈÉ0·Ê16ËgÌ<•6
@superbrothers
!
Kubernetes 1.24 に⼊らなかった


今後の注⽬機能
@superbrothers
!
Kubernetes 1.24 に⼊らなかった今後の注⽬機能
▶ マイナーバージョンのリリースには、"Enhancements Freeze" というフェイズがあり、


次期リリースに⼊れる予定の KEP を申告しておくことになっている
+ リリースフェイズの詳細は https://github.com/kubernetes/sig-release/blob/master/releases/
release_phases.md
+ しかしながらすべての KEP が順調に実装されるわけでもなく、間に合わないものもある
▶ リリースチームが取り込まれる予定の KEP をトラックするためのスプレッドシートがあり、


今回はそこから⼊る予定だったけど、なんらかの理由で⼊らなかった機能の⼀部を紹介
https://bit.ly/k8s124-enhancements
20
@superbrothers
!
これから紹介する機能は導⼊される可能性のあるものです。


⼊るかもしれないし、⼊らないかもしれません。


少し先の Kubernetes の姿を想像して楽しむことが


⽬的のコンテンツです。
21
⚠ 注意
@superbrothers
!
▶ [KEP 127] User Namespaces
+ Linux userns のサポートで特権を持つユーザ ID をノード上の⾮特権な ID にマッピングできる
+ プロセスがホストに侵⼊できたとしても⾮特権ユーザとして実⾏されるため、影響を限定できる
▶ [KEP 1287] In-place Pod Vertical Scaling
+ Pod の resource requests/limits が再起動なしに更新できる
+ 特にバッチワークロードはリソースが⾜りなくなって停⽌するコストが⼤きくて⽌めたくない
▶ [KEP 2008] Container Checkpointing (CRIU)
+ 分析を⽬的に実⾏中のコンテナのスナップショットを取得する機能
+ https://github.com/checkpoint-restore/criu
+ 特定のコンテナのスナップショットを取得することがターゲットで、


完全な Pod のスナップショットを対象としていないが、将来的には実現できるかもしれない
▶ [KEP 2091] AdminNetworkPolicy support
+ クラスタレベルの NetworkPolicy 機能の追加
+ 現状、NetworkPolicy は開発者がアプリケーションを安全にすることを⽬的としており、


クラスタ管理者がクラスタをスコープとして制御する⼿段がない
22
@superbrothers
!
▶ [KEP 2258] Use kubectl to view logs of system services on nodes
+ kubectl でノード上のシステムサービスのログを⾒えるようにする
+ kubelet を含むシステムコンポーネントのログを⾒るために現状 SSH が必要になっているが、
kubectl で完結したいというニーズ
+ kubelet にはすでに /var/log のログを表⽰する機能を持っているが、クライアントが存在しない
+ 今後 journald サポートが追加で実装される予定
+ kubectl logs nodes という形が予定されている
▶ [KEP 2593] Enhancing NodeIPAM to support multiple ClusterCIDRs
+ 複数の ClusterCIDR (Pod ネットワーク) がサポートされる
+ これまで ClusterCIDR は1つの⼤きなものを指定するしかなく、あとから変更しにくい、


⼤きな CIDR を確保できない等の問題があった
+ これに加えてノードによって CIDR とマスクサイズを変更できる機能も加わる
+ ヘテロなクラスタでノードのサイズが異なっても同じマスクサイズを使うしかなかった
+ 1.24 に実装がマージされていたが、新しい API が追加される際はドキュメンテーションが必須の
ルールを満たしていないという理由でリバートされてしまった
23
@superbrothers
!
▶ [KEP 2837] Pod level resource limits
+ Pod レベルでリソース制限を設定できるようになる
+ 個々のコンテナ毎にリソース制限を細かく制御するではなく Pod 単位でざっくり制限できるよう
にすることでリソース管理が⽤意になる
+ Pod のデザインは Pod を VM、コンテナをプロセスを⾒ることができるが、VM の場合


サイズが固定でプロセスは制限なしも多いと思うので、同じことができるようになるという理解
▶ [KEP 2872] Keystone Containers
+ Job でアプリケーションコンテナが停⽌してもサイドカーコンテナが停⽌せず


Pod が終了しないというのサイドカー問題への対応
+ この KEP はアプリケーションコンテナが終了したらサイドカーが実⾏されていても kubelet によ
る Pod の終了処理が開始されることに注⼒している
+ 別に "[KEP 753] Sidecar Containers" が存在するが、これはコンテナの起動/終了順序の制御も
ターゲットに含まれており変更範囲が広く開発がうまく進んでいない
+ Keystone Containers はスコープを絞ったことが変更範囲を最⼩化できている
24
@superbrothers
!
▶ [KEP 3017] PodHealthyPolicy for PodDisruptionBudget
+ PDB で新たに Pod が Ready になったらが古い Pod の削除が開始されるようにできる機能追加
+ 現状は Pod が Running になったら古い Pod の削除が開始されるが、


Ready になるまでに時間がかかる Pod で問題がある
▶ [KEP 3101] 1:1 pod to node assignment
+ 1つの Pod のみを 1つの ノードに割り当てる機能
+ ノードのリソースを専有したいという HPC のワークロードで特に要望が多い
+ リソース要求をノードサイズに設定してやればよいように⾒えるが、実際にはヘテロなクラスタ
だと異なるサイズのノードが存在するため、事前にリソース要求を決めることが困難
+ spec.CoexistPolicy=DaemonsetAndStaticPods | Any のスペックになる予定
▶ [KEP 3162] Add Deallocate and PostStopContainer to device plugin API
+ デバイスプラグインの API に PostStopContainer と Deallocate の API コールが追加される
+ 使い終わったら初期化処理が必要なデバイスだったり、電⼒消費が激しいデバイスが使い終わっ
たら省電⼒モードに切り替えるとか、セキュリティ関連の HW アクセラレータの場合は内部メモ
リ上のデータが使⽤後にクリアされるとは限らないため、使⽤後に毎回クリーンアップしないな
どなどのユースケースが想定されている
25
Kubernetes 変更内容共有会 (v1.24) 近⽇開催予定
d9C0&˜yÍt_³<ζ45H1222
機械学習プラットフォームエンジニア
▶ ⾃由度・拡張性・使いやすさのトレードオフが取れた⼤規模機械学習
プラットフォームの機能設計と開発
+ 例: 機械学習ワークフローツール、実験管理ツール、


GPUやMN-Core向け統合開発環境の構築
▶ ⼤規模機械学習プラットフォームの運⽤と運⽤改善(⾃動化等)
+ 例: ⾃動サーバプロビジョニング、パブリッククラウド連携による
運⽤効率化、インフラ健全性の⾃動診断と保守省⼒化
▶ ⼤規模機械学習プラットフォーム上での計算資源


(GPU, MN-Coreを含む)配分の最適化
+ 例: Kubernetes Schedulerの機能拡張、


リソース利⽤量制限拡張の開発
▶ 最先端の分散計算基盤技術の Proof of Concept 構築及び


プラットフォームでの実⽤化
+ 例: Kubernetes上での分散強化学習実⾏ツール
We're hiring!
https://www.preferred.jp/ja/careers/
@superbrothers
!
"先週の Kubernetes" 毎週⽊曜⽇20時からライブトークしてます
▶ 直近⼀週間のアップストリームの注⽬の変更をまとめている


「Last Week in Kubernetes Development (LWKD)」を⾒ながら @everpeace とワイワイしています
▶ アップストリームの動きに興味ある⽅はぜひ聞いてみてください!
YouTube: https://www.youtube.com/channel/UCTG9cMe2XKep8Fj1ujt5lCw
Show Note: bit.ly/lwk8sjp
28
d9C0&ÏÐuCÑzCÑÍt_³<ζ45H1222
@superbrothers
!
Appendix
▶ https://sysdig.com/blog/kubernetes-1-24-whats-new/
▶ https://github.com/kubernetes/sig-release/blob/master/releases/release-1.24/release-notes/release-
notes-draft.md
▶ https://github.com/kubernetes/website/blob/8b1c51c431d7854738b0dcfc61e92e5a6c43bc16/content/
en/blog/_posts/2022-4-26-kubernetes-release-1.24.md
▶ http://lwkd.info/
▶ https://bit.ly/k8s124-enhancements
▶ https://github.com/etcd-io/etcd/blob/main/Documentation/postmortems/v3.5-data-inconsistency.md
29

More Related Content

Similar to 独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50

20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
beyond Co., Ltd.
 
Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...
Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...
Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...
JUNICHI YOSHISE
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VM
Masanori Nara
 
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
Motohiro OTSUKA
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Akihito Inoh
 
20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft
Hyperleger Tokyo Meetup
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
 
qmake入門
qmake入門qmake入門
qmake入門
hermit4 Ishida
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4
openrtm
 
130329 04
130329 04130329 04
130329 04
openrtm
 
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
Takehara Ryo
 
EchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptxEchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptx
keink
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
Takayoshi Tanaka
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
Google Cloud Platform - Japan
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
Katsutoshi Nagaoka
 
Mercurial入門
Mercurial入門Mercurial入門
Mercurial入門
You&I
 

Similar to 独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50 (20)

20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
 
Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...
Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...
Recap: Modern CI/CD with Tekton and Prow Automated via Jenkins X - Kubernetes...
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VM
 
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
 
20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
qmake入門
qmake入門qmake入門
qmake入門
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4
 
130329 04
130329 04130329 04
130329 04
 
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
 
EchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptxEchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptx
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
Mercurial入門
Mercurial入門Mercurial入門
Mercurial入門
 

More from Preferred Networks

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
Preferred Networks
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Preferred Networks
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Preferred Networks
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
Preferred Networks
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Preferred Networks
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Preferred Networks
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Preferred Networks
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Preferred Networks
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
Preferred Networks
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
Preferred Networks
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
Preferred Networks
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Preferred Networks
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
Preferred Networks
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
Preferred Networks
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
 
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
Preferred Networks
 

More from Preferred Networks (20)

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
 
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
 

独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50

  • 1. Kubernetes Meetup Tokyo #50(2022/04/27) SUDA Kazuki, Preferred Networks, Inc. @superbrothers 独断と偏⾒で選んだ Kubernetes 1.24 の注⽬機能と今後!
  • 2. @superbrothers ! SUDA Kazuki / @superbrothers ▶ Preferred Networks, Inc. / エンジニア ▶ Scalar, Inc. / 技術アドバイザ ▶ Kubernetes Meetup Tokyo 共同主催者 ▶ Cloud Native Ambassador (CNCF) ▶ 技術評論社「Kubernetes実践⼊⾨」、「みんなのDocker/Kubernetes」共著書 ▶ オライリー「⼊⾨ Prometheus」、「Kubernetes で実践するクラウドネイティブ DevOps」監訳書 2
  • 3. @superbrothers ! もくじ ▶ Kubernetes 1.24 で削除される機能と注⽬機能! + [KEP 2221] kubelet からの Dockershim の削除 + [KEP 281] DynamicKubeletCon fi g の削除 + [KEP 2307] JobTrackingWithFinalizer のデフォルト無効化 + [KEP 3136] ベータ API がデフォルトで有効にならなくなる + [KEP 2799][beta] Secret-based ServiceAccount トークンの⾃動⽣成の停⽌ + kubectl create token コマンドの追加 + [KEP 2727][beta] gRPC プローブがベータに昇格 + [KEP 3140][alpha]CronJob のタイムゾーンサポート + [KEP 961][alpha] StatefulSets で maxUnavailable のサポート + kubelet が OOM メトリクスを開⽰ + [KEP 2590][alpha] kubectl でサブリソースをサポート ▶ Kubernetes 1.24 に⼊らなかった今後の注⽬機能 3 !"#$%&%'()%*++,-./012 %%%%%%$(!3%*++,-456&789:;01<=> %%%%?@%!"!A"!%++,-BC0DEFG45HI:J
  • 5. @superbrothers ! [KEP 2221] kubelet からの Dockershim の削除 ▶ 1.20 から廃⽌予定となった Dockershim が 1.24 の kubelet で完全に削除された ▶ これまでコンテナランタイムに Docker Engine を使⽤している場合は、他の CRI ランタイム (containerd や CRI-O)のいずれかに移⾏する必要がある ▶ 1.24 からの引き続き Docker Engine を使⽤したい場合は、Mirantis 社がメンテする 
 Dockershim フォークの cri-dockerd を使⽤できる + Mirantis社はKubernetesのdockershimサポートを引き継ぎます - クリエーションライン株式会社 詳しくは Updated: Dockershim Removal FAQ | Kubernetes を参照 5 K@LMNOLPQR%*STI:UV=W-X0%R@KYPQ%Z[%]^_:_`a%LPQRKMb%<^c62
  • 6. @superbrothers ! [KEP 281] DynamicKubeletCon fi g の削除 ▶ この機能は kubelet の⼀部の設定を kubelet の再起動なしに反映できるというものだったが、 
 「永続的なベータを避ける」のルールから削除されることになった + GA に向けて開発を続けるという⽅が出てこなかったようにみえる ▶ 代替機能は提供されていない 6 defg&=1hie%YjkPbPM%el/<mn*`op*qrIi_:sU0&`t9::u=> del/<vw0V5<xw`et<sty*z_{_|}~<•yHI:<=h;y0&•yHI:
  • 7. @superbrothers ! [KEP 2307] JobTrackingWithFinalizer のデフォルト無効化 ▶ JobTrackingWithFinalizer 機能が未解決のバグによりデフォルト無効に変更された + 1.23 でベータに昇格し、デフォルトで有効化された ▶ fi nalizer を利⽤して Job の完了済み Pods 数を追跡するという機能 ▶ Job が backo ff limit に到達した場合に、Pods に fi nalizer が残り続け削除されないことがあることが 分かり、v1.24 で無効化されることになった これから 1.23 にアップグレードする⽅は、この機能をあらかじめ無効化することを推奨! 7 --feature-gates=JobTrackingWithFinalizer=false !"#)%*€•‚ƒ,X45„|`e0=!"#)"…%0&xw†456t‡I5`_ ˆOLNbO‰PQ%&Š‹qŒ{`9:•Ž••‚X]‘’*Š‹16“*> %%%%%”/e•–]—:1H0Š‹I`_˜|*16fg01
  • 8. @superbrothers ! [KEP 3136] ベータ API がデフォルトで有効にならなくなる ▶ API はこれまでベータに昇格するとデフォルトで有効化されていた ▶ ベータへの昇格で有効化されることは、機能の採⽤を加速させる良い⾯がある⼀⽅で 
 ⼗分に実績のない API がほぼすべてのクラスタで有効化され問題があった場合の影響が⼤きかった ▶ 注意点として、すでに有効化されているものは無効化されない、またはこれは "API" に限ったこと で Feature gate に影響はなくは変わらずベータに昇格するとデフォルトで有効化される 8 今後、ベータ API を使⽤したい場合、⾃⾝でクラスタを構築してるなら設定を変更するだけでいい。 マネージドの場合、今後ベータ API を有効にするかどうかはプロバイダ次第で、 アップストリームのデフォルトに従うことになった場合は機能提供まで最短でも4ヶ⽉伸びることになる。 %%%™,š%›œ%&3•že‚Ÿ-š0> vw†45i_6{e ¡¢£<•6 YjkP¤N¥O¦PQ§PQ%e%¤¤QjLMO¨P¤K@LˆO©%ªŸ«01
  • 9. @superbrothers ! [KEP 2799][beta] Secret-based ServiceAccount トークンの⾃動⽣成の停⽌ Feature gate: LegacyServiceAccountTokenNoAutoGeneration, デフォルト有効 ▶ これまで ServiceAccount を作成すると⾃動的に⽣成されていたトークンを含む 
 Secret オブジェクトが作成されなくなる ▶ 有効期限のないトークンが必要な場合は Token Request API を使⽤してBound ServiceAccount 
 トークンを⽣成するか、いくつかのステップを踏んで Secret-based トークンを⽣成できる ▶ Bound ServiceAccount Token を⽣成するのに直接 Token Request API を使うのは⾯倒なので 
 1.24 で kubectl にトークンを⽣成を作成するコマンドが追加された ▶ Bound ServiceAccount Token の詳細は Bound Service Account Tokenとは何か - Qiita を参照。 9
  • 10. @superbrothers ! kubectl create token コマンドの追加 ▶ Bound ServiceAccount トークンを発⾏するコマンドで、トークンのスコープ、有効期限、 
 紐付けるオブジェクトを指定して発⾏できる ▶ トークンの発⾏には TokenRequest API の権限が必要 10 # Request a token with a custom expiration kubectl create token myapp --duration 10m
  • 11. @superbrothers ! [KEP 2727][beta] gRPC プローブがベータに昇格 Feature gate: GRPCContainerProbe, デフォルト有効 ▶ これまで gRPC サービスのヘルスチェックには grpc-health-probe を使うか、 
 追加で HTTP エンドポイントを公開する⼿段が取られていたが今後は不要になる ▶ この機能は startup、live、readiness のすべての Probe で使⽤できる ▶ gRPC Probe は gRPC のヘルスチェックプロトコルを使⽤するため、 
 サービスにはヘルスサービスが登録されていなければならない 11 apiVersion: v1 kind: Pod ... spec: containers: - name: app ... livenessProbe: grpc: port: 2379 initialDelaySeconds: 10
  • 12. @superbrothers ! [KEP 3140][alpha]CronJob のタイムゾーンサポート Feature gate: CronJobTimeZone, デフォルト無効 ▶ CronJob でタイムゾーンの指定がサポートされた ▶ よく勘違いされているが、これまで CronJob のタイムゾーンは UTC に固定ではなく 
 kube-controller-manager プロセスのタイムゾーンが使われるようになっている + kube-controller-manager がコンテナとして実⾏されている場合は、 
 ホストのタイムゾーンではなくコンテナのタイムゾーンになることに注意が必要 12 apiVersion: batch/v1 kind: CronJob metadata: name: hello spec: schedule: "0 0 * * *" # daily timeZone: Asia/Tokyo ... D¬*&-®%¯°Z%0^s5i_6{±s56 %%%%%%%%%%%%%%%%²oci_6³]´_:d{<`_µ
  • 13. @superbrothers ! Feature gate: MaxUnavailableStatefulSet, デフォルト無効 ▶ ロールアウト時に利⽤できなくなることを許容する 
 Pod レプリカ数を1以上に設定できるようになる ▶ StatefulSet が使われるユースケースのなかには 
 ⼀意な名前がほしいだけの理由から使われていることがあり、 
 ⼀度に複数の Pod が利⽤できなくなることを許容できることがある ▶ 上記のケースではこの機能によりロールアウトが⾼速化されてうれしい 13 apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: updateStrategy: type: RollingUpdate rollingUpdate: maxUnavailable: 2 ... [KEP 961][alpha] StatefulSets で maxUnavailable のサポート
  • 14. @superbrothers ! kubelet が OOM メトリクスを開⽰ ▶ OOM のメトリクスは kubelet にビルドインされている cAdvisor v0.40.0 で実装され、 
 kubelet 1.23.0 から使われていたものの、kubelet で利⽤できるようにしていなかった 14 # HELP container_oom_events_total Count of out of memory events observed for the container # TYPE container_oom_events_total counter container_oom_events_total{id="testcontainer",image="test",name="test"} 0 1395066363000
  • 15. @superbrothers ! [KEP 2590][alpha] kubectl でサブリソースをサポート ▶ kubectl の get, patch, edit, replace サブコマンドに --subresource フラグが追加された ▶ このフラグを使⽤することでサブリソースを操作できるようになった 15 # list status subresource for a single pod. kubectl get pod web-pod-13je7 --subresource status --subresource='': If specified, gets the subresource of the requested object. Must be one of [status scale]. 
 This flag is alpha and may change in the future. defg¶·e:u*%KbO¤QjLMO¨P%Ÿ¸ŽŸ+*> %%%%%%%%%%%¦jkQP¦@jQKP%]¹º16:ue»¼•½<¾¿45:À
  • 17. @superbrothers ! TIP: リリース前に機能検証したい ▶ リリース前に機能検証するためにクラスタを構築したいことがある ▶ kind ツールを使うと特定のコミットからクラスタを構築することができて便利 ▶ 例えば Kubernetes にバグっぽい挙動を⾒つけて当たりを付けて printf デバッグしたいみたいなとき にもソースコードを編集してから kind ⽤のイメージをビルドすればよい 17 $ git clone -b v1.24.0-rc.0 --depth 1 https://github.com/kubenetes/kubernetes.git && cd kubernetes $ kind build node-image --image kindest/node:$(git describe --always --tags --dirty) $ kind create cluster --image kindest/node:$(git describe --always --tags --dirty)
  • 18. @superbrothers ! etcd 3.5.0 - 3.5.2 にはデータ⼀貫性に関するバグがあるので避ける ▶ ⼀部の処理がトランザクション外で処理されてしまっていたことが問題 + ポストモーテムによると実際の本番環境でこの問題が報告されたケースはないとのこと ▶ 問題が修正された etcd 3.5.4 が 4/24 にリリースされている ▶ EKS 1.22 は当初 etcd 3.5.2 を使う予定だったが、このバグにより 3.4 を使うようにしたとのこと + 安定した時点で 3.5.3 以上にアップグレードする計画になっている + Amazon EKS now supports Kubernetes 1.22 | Containers ▶ kubeadm では 1.22 から etcd 3.5.0 以上がデフォルトになっている + 1.22, 1.23 へのアップグレードを予定している⼈は 3.5.4 または 3.4 を明⽰的に指定することを推奨 18 apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration etcd: local: imageTag: 3.5.4-0 ... ¸»,•š«]Á/ ÂÂÃ%Ä0e.GI`_ÅÆÇ-eÈÉ0·Ê16ËgÌ<•6
  • 20. @superbrothers ! Kubernetes 1.24 に⼊らなかった今後の注⽬機能 ▶ マイナーバージョンのリリースには、"Enhancements Freeze" というフェイズがあり、 
 次期リリースに⼊れる予定の KEP を申告しておくことになっている + リリースフェイズの詳細は https://github.com/kubernetes/sig-release/blob/master/releases/ release_phases.md + しかしながらすべての KEP が順調に実装されるわけでもなく、間に合わないものもある ▶ リリースチームが取り込まれる予定の KEP をトラックするためのスプレッドシートがあり、 
 今回はそこから⼊る予定だったけど、なんらかの理由で⼊らなかった機能の⼀部を紹介 https://bit.ly/k8s124-enhancements 20
  • 22. @superbrothers ! ▶ [KEP 127] User Namespaces + Linux userns のサポートで特権を持つユーザ ID をノード上の⾮特権な ID にマッピングできる + プロセスがホストに侵⼊できたとしても⾮特権ユーザとして実⾏されるため、影響を限定できる ▶ [KEP 1287] In-place Pod Vertical Scaling + Pod の resource requests/limits が再起動なしに更新できる + 特にバッチワークロードはリソースが⾜りなくなって停⽌するコストが⼤きくて⽌めたくない ▶ [KEP 2008] Container Checkpointing (CRIU) + 分析を⽬的に実⾏中のコンテナのスナップショットを取得する機能 + https://github.com/checkpoint-restore/criu + 特定のコンテナのスナップショットを取得することがターゲットで、 
 完全な Pod のスナップショットを対象としていないが、将来的には実現できるかもしれない ▶ [KEP 2091] AdminNetworkPolicy support + クラスタレベルの NetworkPolicy 機能の追加 + 現状、NetworkPolicy は開発者がアプリケーションを安全にすることを⽬的としており、 
 クラスタ管理者がクラスタをスコープとして制御する⼿段がない 22
  • 23. @superbrothers ! ▶ [KEP 2258] Use kubectl to view logs of system services on nodes + kubectl でノード上のシステムサービスのログを⾒えるようにする + kubelet を含むシステムコンポーネントのログを⾒るために現状 SSH が必要になっているが、 kubectl で完結したいというニーズ + kubelet にはすでに /var/log のログを表⽰する機能を持っているが、クライアントが存在しない + 今後 journald サポートが追加で実装される予定 + kubectl logs nodes という形が予定されている ▶ [KEP 2593] Enhancing NodeIPAM to support multiple ClusterCIDRs + 複数の ClusterCIDR (Pod ネットワーク) がサポートされる + これまで ClusterCIDR は1つの⼤きなものを指定するしかなく、あとから変更しにくい、 
 ⼤きな CIDR を確保できない等の問題があった + これに加えてノードによって CIDR とマスクサイズを変更できる機能も加わる + ヘテロなクラスタでノードのサイズが異なっても同じマスクサイズを使うしかなかった + 1.24 に実装がマージされていたが、新しい API が追加される際はドキュメンテーションが必須の ルールを満たしていないという理由でリバートされてしまった 23
  • 24. @superbrothers ! ▶ [KEP 2837] Pod level resource limits + Pod レベルでリソース制限を設定できるようになる + 個々のコンテナ毎にリソース制限を細かく制御するではなく Pod 単位でざっくり制限できるよう にすることでリソース管理が⽤意になる + Pod のデザインは Pod を VM、コンテナをプロセスを⾒ることができるが、VM の場合 
 サイズが固定でプロセスは制限なしも多いと思うので、同じことができるようになるという理解 ▶ [KEP 2872] Keystone Containers + Job でアプリケーションコンテナが停⽌してもサイドカーコンテナが停⽌せず 
 Pod が終了しないというのサイドカー問題への対応 + この KEP はアプリケーションコンテナが終了したらサイドカーが実⾏されていても kubelet によ る Pod の終了処理が開始されることに注⼒している + 別に "[KEP 753] Sidecar Containers" が存在するが、これはコンテナの起動/終了順序の制御も ターゲットに含まれており変更範囲が広く開発がうまく進んでいない + Keystone Containers はスコープを絞ったことが変更範囲を最⼩化できている 24
  • 25. @superbrothers ! ▶ [KEP 3017] PodHealthyPolicy for PodDisruptionBudget + PDB で新たに Pod が Ready になったらが古い Pod の削除が開始されるようにできる機能追加 + 現状は Pod が Running になったら古い Pod の削除が開始されるが、 
 Ready になるまでに時間がかかる Pod で問題がある ▶ [KEP 3101] 1:1 pod to node assignment + 1つの Pod のみを 1つの ノードに割り当てる機能 + ノードのリソースを専有したいという HPC のワークロードで特に要望が多い + リソース要求をノードサイズに設定してやればよいように⾒えるが、実際にはヘテロなクラスタ だと異なるサイズのノードが存在するため、事前にリソース要求を決めることが困難 + spec.CoexistPolicy=DaemonsetAndStaticPods | Any のスペックになる予定 ▶ [KEP 3162] Add Deallocate and PostStopContainer to device plugin API + デバイスプラグインの API に PostStopContainer と Deallocate の API コールが追加される + 使い終わったら初期化処理が必要なデバイスだったり、電⼒消費が激しいデバイスが使い終わっ たら省電⼒モードに切り替えるとか、セキュリティ関連の HW アクセラレータの場合は内部メモ リ上のデータが使⽤後にクリアされるとは限らないため、使⽤後に毎回クリーンアップしないな どなどのユースケースが想定されている 25
  • 26. Kubernetes 変更内容共有会 (v1.24) 近⽇開催予定 d9C0&˜yÍt_³<ζ45H1222
  • 27. 機械学習プラットフォームエンジニア ▶ ⾃由度・拡張性・使いやすさのトレードオフが取れた⼤規模機械学習 プラットフォームの機能設計と開発 + 例: 機械学習ワークフローツール、実験管理ツール、 
 GPUやMN-Core向け統合開発環境の構築 ▶ ⼤規模機械学習プラットフォームの運⽤と運⽤改善(⾃動化等) + 例: ⾃動サーバプロビジョニング、パブリッククラウド連携による 運⽤効率化、インフラ健全性の⾃動診断と保守省⼒化 ▶ ⼤規模機械学習プラットフォーム上での計算資源 
 (GPU, MN-Coreを含む)配分の最適化 + 例: Kubernetes Schedulerの機能拡張、 
 リソース利⽤量制限拡張の開発 ▶ 最先端の分散計算基盤技術の Proof of Concept 構築及び 
 プラットフォームでの実⽤化 + 例: Kubernetes上での分散強化学習実⾏ツール We're hiring! https://www.preferred.jp/ja/careers/
  • 28. @superbrothers ! "先週の Kubernetes" 毎週⽊曜⽇20時からライブトークしてます ▶ 直近⼀週間のアップストリームの注⽬の変更をまとめている 
 「Last Week in Kubernetes Development (LWKD)」を⾒ながら @everpeace とワイワイしています ▶ アップストリームの動きに興味ある⽅はぜひ聞いてみてください! YouTube: https://www.youtube.com/channel/UCTG9cMe2XKep8Fj1ujt5lCw Show Note: bit.ly/lwk8sjp 28 d9C0&ÏÐuCÑzCÑÍt_³<ζ45H1222
  • 29. @superbrothers ! Appendix ▶ https://sysdig.com/blog/kubernetes-1-24-whats-new/ ▶ https://github.com/kubernetes/sig-release/blob/master/releases/release-1.24/release-notes/release- notes-draft.md ▶ https://github.com/kubernetes/website/blob/8b1c51c431d7854738b0dcfc61e92e5a6c43bc16/content/ en/blog/_posts/2022-4-26-kubernetes-release-1.24.md ▶ http://lwkd.info/ ▶ https://bit.ly/k8s124-enhancements ▶ https://github.com/etcd-io/etcd/blob/main/Documentation/postmortems/v3.5-data-inconsistency.md 29