SlideShare a Scribd company logo
1 of 52
Download to read offline
Kubernetesのワーカーノードを

自動修復するために必要だったこと

CyberAgent - Hiroki Kawahara

CloudNative Days Tokyo 2021

自己紹介

● 川原 大輝(かわはら ひろき)

● 2021年4月入社

● CyberAgent group Infrastructure Unit所属

● 自宅ラック勢

○ Kubernetes

○ ZFS

○ Minio

○ MySQL

○ Elastic Cloud on Kubernetes

○ Harbor

○ 僕の考える最強のクラウドストレージ


2
AKE

● 社内向けKubernetes as a Service

● CIUのチームでGKE互換を目指して開発中

● 2017年4月にリリースしたv1をへて、v2を新規開発中

3
v1 v2
構成管理 OpenStack Heat ClusterAPI Provider OpenStack
マルチDC 非対応 対応
参考資料:
https://speakerdeck.com/masayaaoyama/cabasenext2021-k8s-amsy810
Kubernetesの全体像

4
https://kubernetes.io/ja/docs/concepts/overview/components/
ClusterAPI

5
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
Workload Cluster : ユーザーが利用するクラスタ

Management Cluster : Workload Clusterを管理するためのクラスタ

ClusterAPI

6
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
MachineDeploymentのreplicasをもとに

Machineリソースを作成

Workload Cluster : ユーザーが利用するクラスタ

Management Cluster : Workload Clusterを管理するためのクラスタ

ClusterAPI

7
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
Workload Cluster : ユーザーが利用するクラスタ

Management Cluster : Workload Clusterを管理するためのクラスタ

MachineリソースをもとにVMを立ち上げ、

kubeadmを使ってWorkload Clusterに

ジョインさせる

そもそもNodeの障害とは?

8
KubernetesにおけるNodeのNotReady

9
主にこれ

※ NodeがReadyでも障害状態であることはありますが、今回は対象外です 

  弊社でも、つい最近もありました :innocent: 

NodeのCondition

● Nodeの状態を示す

○ Type ReadyはPodが配置可能であること


○ Type DiskPressureはディスクの残容量が低下


● Type ReadyがFalse / Unknown

⇒ kubectlにおいてNotReadyと表示される

10
https://kubernetes.io/ja/docs/concepts/architecture/nodes/#condition
NodeのCondition

● Nodeの状態を示す

○ Type ReadyはPodが配置可能であること


○ Type DiskPressureはディスクの残容量が低下


● Type ReadyがFalse / Unknown

⇒ kubectlにおいてNotReadyと表示される

11
https://kubernetes.io/ja/docs/concepts/architecture/nodes/#condition
状態を確認した最後の時間

NodeのCondition

12
https://kubernetes.io/ja/docs/concepts/architecture/nodes/#condition
● Nodeの状態を示す

○ Type ReadyはPodが配置可能であること


○ Type DiskPressureはディスクの残容量が低下


● Type ReadyがFalse / Unknown

⇒ kubectlにおいてNotReadyと表示される

最後に状態遷移した時間

NodeのCondition

13
https://kubernetes.io/ja/docs/concepts/architecture/nodes/#condition
Ready な Node は True

kubeletを人為的に落としたNodeは

Unknownとなっている

なぜNodeがNotReadyになるの?

14
ノード上のコンポーネント

15
Node
kubelet
container runtime
kube-apiserver
1. kubeletがkube-apiserverに対して

自分のあるべき姿をWatchする

2. kubeletがcontainer runtimeに指示を出す

3. container runtimeがcontainerを立ち上げる

container
container
container
Linux Kernel
Type ReadyをFalseにしている実装

16
https://github.com/kubernetes/kubernetes/blob/0cd75e8fec62a2531637e80bb950ac9983cac1b0/pkg/kubelet/nodestatus/setters.go#L510-L539
Type ReadyをFalseに設定する実装

17
https://github.com/kubernetes/kubernetes/blob/0cd75e8fec62a2531637e80bb950ac9983cac1b0/pkg/kubelet/nodestatus/setters.go#L510-L539
container runtimeのエラーの確認

Type ReadyをFalseに設定する実装

18
https://github.com/kubernetes/kubernetes/blob/0cd75e8fec62a2531637e80bb950ac9983cac1b0/pkg/kubelet/nodestatus/setters.go#L510-L539
ノードがシャットダウン中かどうか

Type ReadyをFalseに設定する実装

19
https://github.com/kubernetes/kubernetes/blob/0cd75e8fec62a2531637e80bb950ac9983cac1b0/pkg/kubelet/nodestatus/setters.go#L510-L539
キャパシティの確認

NodeがNotReadyになる要因

● StatusがUnknown

○ kubeletがkube-apiserverに到達できていない


● StatusがFalse

○ container runtimeが異常

○ ノードがシャットダウン中

○ キャパシティの設定が間違っている


20
kubeletがkube-apiserverに到達できていない

21
Node
kubelet
container runtime
kube-apiserver ● kubeletが起動できていない

○ kubeletの設定ミス

● kubeletがハングアップ

○ kubeletの一時的な不具合

● ネットワーク的に到達できない

○ OS側の設定ミス

■ ストレージで永続化されている設定

■ ipコマンドなどの一時的な設定

○ kubeletの設定ミス

○ 外部要因

● 想定外

container
container
container
Linux Kernel
container runtimeが異常

22
Node
kubelet
container runtime
kube-apiserver
● container runtimeが起動できない

○ container runtime設定ミス

● container runtimeがハングアップ

○ container runtimeの一時的な不具合

● kubeletがcontainer runtimeを見つけられない

○ kubeletの設定ミス

● 想定外

container
container
container
Linux Kernel
障害の要因まとめ

23
Node
kubelet
container runtime
kube-apiserver
container
container
container
Linux Kernel
アプリケーションのハングアップ
永続化されていない設定のミス
永続化された設定のミス
外部要因
想定外
原因がだいたいわかったところで、

自己修復する手法を考える

24
自動修復の方法

25
Node
kubelet
container runtime
kube-apiserver
container
container
container
Linux Kernel
アプリケーションのハングアップ
永続化されていない設定のミス
永続化された設定のミス
外部要因
想定外
アプリケーションの再起動
OSの再起動
filesystemのロールバック 

必要なノード数を確保
自動修復機能の対応表

26

 AKEv2
 AKEv1
 GKE

アプリケーションの再起動
 ○
 ○
 ○

OSの再起動
 ○
 ○
 ○

filesystemのロールバック
 ○
 ×
 ○

必要なノード数を確保

(Cluster Autoscaler)

○
 ○
 ○

https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair
https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler
アプリケーションの再起動

● Liveness Probeのような形で、ヘルスチェックした上で再起動

● GKEの手法がkubernetesリポジトリに含まれているので採用

27
https://github.com/kubernetes/kubernetes/blob/master/cluster/gce/gci/health-monitor.sh 

アプリケーションの再起動

● Liveness Probeのような形で、ヘルスチェックした上で再起動

● GKEの手法がkubernetesリポジトリに含まれているので採用

● 公式はCRIとDockerに対応

○ CRIに対応しているruntimeに使えるため、ContainerdとCRI-Oに対応


28
https://github.com/kubernetes/kubernetes/blob/master/cluster/gce/gci/health-monitor.sh 

OSの再起動

● 基本的にはGKEの振る舞いをまねた動きを目指す

29
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Controller
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair
OSの再起動

● 基本的にはGKEの振る舞いをまねた動きを目指す

30
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Controller
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair
① 10分NotReadyが継続したNodeをドレイン
② NotReadyなNodeに紐付いているVMを再起動
OSの再起動

● 基本的にはGKEの振る舞いをまねた動きを目指す

● 復旧できないノード・フラッピングするノードはどうする?

⇒ 現在進行形で試行錯誤中

31
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Controller
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair
① 10分NotReadyが継続したNodeをドレイン
② NotReadyなNodeに紐付いているVMを再起動
filesystemをロールバックするにあたって

● 再起動によって間違った設定が消える必要がある

● 一部のディレクトリはロールバックしない

○ /var/log : ログは調査に利用するため、残しておく


○ /var/lib/containerd : emptyDirなどが格納されるため、可能な限り残したい


32
GKEの場合

33
https://cloud.google.com/container-optimized-os/docs/concepts/disks-and-filesystem?hl=ja (一部抜粋)
/home

/var

/etc

/tmp

/usr

その他

GKEの場合

34
https://cloud.google.com/container-optimized-os/docs/concepts/disks-and-filesystem?hl=ja (一部抜粋)
/dev/dm-0 (ro)

/dev/sda1 (rw)
 tmpfs (rw)

再起動後に消失

/home

/var

/etc

/tmp

/usr

その他

GKEの場合

35
https://cloud.google.com/container-optimized-os/docs/concepts/disks-and-filesystem?hl=ja (一部抜粋)
/dev/dm-0 (ro)

/dev/sda1 (rw)
 tmpfs (rw)

再起動後に消失

● OverlayFSはファイルシステム(FS)をかぶせることができる 

● 参照は、上のFSから行い、なければ下のFSを参照 

● 変更は上のFSに適用される 

● コンテナの基礎技術 

ルートファイルシステムを

リードオンリーにするのは大変

36
逆に消えてもいいところだけ、

tmpfsでオーバーレイしよう!!

37
/etc/cni.net.d

/home

/var

/etc

/usr

その他

AKEv2の場合

38
/dev/vda1 (rw)

tmpfs (rw)

再起動後に消失

/dev/vda1 (bind)

起動時の動き

39
オーバーレイするtmpfs

(upper dir)を用意

起動時の動き

40
各ディレクトリを

オーバーレイしていく

起動時の動き

41
upper dirを削除

これで動くのは謎だけど、ディレクトリがきれいになる

起動時の動き

42
rootfsをリマウント

起動時の動き

43
書き込み可能にしたいディレクトリにバインド

起動時の動き

44
掃除

起動時の動き

45
このスクリプトを

いい感じのタイミングで

実行する

いいタイミングってなんだよ

46
systemdとの戦い

● 結論は以下の通り

○ local-fs.targetが完了してから各種アプリケーションが実行される


⇒ local-fs.targetの一環として先ほどのスクリプトを実行


● systemd-analyze plotで起動時の動きを確認できる

47
初回起動時

● Kubernetesの設定(/etc/kubernetes)は...

○ 永続化する必要がある

○ 書き換えられると障害につながりやすい


● kubeadmの実行後にオーバーレイする必要がある

48
⇒ cloudinitのkubeadm実行後に、

スクリプトとsystemd serviceを差し込む

オーバーレイできない一部ディレクトリについて

CNIのディレクトリ(/opt/cni/bin, /etc/cni/net.d, /usr/libexec/kubernetes) 

● kubeadmによって構成が終了したあとに、オーバーレイとCNIのインストー
ルのどちらがさきに実行されるかコントロールできない

⇒ 永続化で統一

sssd(/usr/lib/x86_64-linux-gnu/ldb/modules/ldb) 

● カーネルのバグのため、カーネルアップグレードまでの暫定措置

● SSSD on docker container (Ubuntu) - Stack Overflow 

49
Cluster Autoscaler(ClusterAPI)

● Clusterに必要なNodeを確保するようにClusterAPIを操作

● リソースの抽象度がうまいので、ちゃんと動く

50
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Cluster Autoscaler
Controller
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
MachineDeploymentをWatch
● annotationsからノード数の
上限・下限を取得
PodとNodeをWatch
● Podのrequestsの総数に対してNodeが
足りているか確認
● 足りていなければMachineDeploymentの
replicasを増やす
障害時のCluster Autoscalerの挙動

● NotReadyなNodeはCluster Autoscalerにおいて

有効なキャパシティとして計算されない

⇒ replicasを増やして新しいNodeをデプロイする

51
Management Cluster Workload Cluster
Core Cluster API
Cluster API Provider
OpenStack
OpenStack
VM
Node
Cluster Autoscaler
Controller
Machine
Deployment
Machine
Deployment
Machine
Deployment
Machine
まとめ

52
● GKEの手法はkubernetesのリポジトリに結構眠っている

○ Autopilotは全然わかりませんでした


● Nodeの再起動をするコントローラは奥が深い

● cloud-init + OverlayFSで手軽にfilesystemのロールバックを実現

● Cluster Autoscalerがあればクラスタのキャパシティは確保可能

ぜひ皆さんもNodeの自動修復を!!!!


More Related Content

What's hot

BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021whywaita
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)NTT DATA Technology & Innovation
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術までAkihiro Suda
 

What's hot (20)

BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 

Similar to Kubernetesのワーカーノードを自動修復するために必要だったこと

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
 
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkInfra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkKuma Arakawa
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門Yuto Takei
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengewhywaita
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?IIJ
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送Google Cloud Platform - Japan
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMMasanori Nara
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとはKoto Shigeru
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016By_taka_23
 
k8sクラスタ構築
k8sクラスタ構築k8sクラスタ構築
k8sクラスタ構築asuka y
 
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster ImportRancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster ImportBMXUG
 
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-cyberblack28 Ichikawa
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeYoshio Terada
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Takashi Kanai
 
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版][old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]オラクルエンジニア通信
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたHideaki Aoyagi
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドMasanori Nara
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌A AOKI
 
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Hiroshi Hayakawa
 

Similar to Kubernetesのワーカーノードを自動修復するために必要だったこと (20)

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 を調べてみた
 
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkInfra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, Network
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VM
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
 
k8sクラスタ構築
k8sクラスタ構築k8sクラスタ構築
k8sクラスタ構築
 
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster ImportRancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
 
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual Node
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版][old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
Kubernete超概要
Kubernete超概要Kubernete超概要
Kubernete超概要
 
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会
 

More from h-otter

自作クラウド基盤 n0stack in ICTSC 2018
自作クラウド基盤 n0stack in ICTSC 2018自作クラウド基盤 n0stack in ICTSC 2018
自作クラウド基盤 n0stack in ICTSC 2018h-otter
 
自作クラウド基盤 n0stack と開発自動化の気持ち
自作クラウド基盤 n0stack と開発自動化の気持ち自作クラウド基盤 n0stack と開発自動化の気持ち
自作クラウド基盤 n0stack と開発自動化の気持ちh-otter
 
自作クラウド基盤 n0stack と ソフトウェア開発の気持ち
自作クラウド基盤 n0stack と ソフトウェア開発の気持ち自作クラウド基盤 n0stack と ソフトウェア開発の気持ち
自作クラウド基盤 n0stack と ソフトウェア開発の気持ちh-otter
 
自宅サーバラックの勧め 〜ファシリティ編〜
自宅サーバラックの勧め 〜ファシリティ編〜自宅サーバラックの勧め 〜ファシリティ編〜
自宅サーバラックの勧め 〜ファシリティ編〜h-otter
 
Openflowの気持ち
Openflowの気持ちOpenflowの気持ち
Openflowの気持ちh-otter
 
NiFiの紹介
NiFiの紹介NiFiの紹介
NiFiの紹介h-otter
 
ICTSC8 Backboneの紹介
ICTSC8 Backboneの紹介ICTSC8 Backboneの紹介
ICTSC8 Backboneの紹介h-otter
 
給料の気持ち
給料の気持ち給料の気持ち
給料の気持ちh-otter
 
自宅サーバラックの勧め ~In osc nagoya~
自宅サーバラックの勧め ~In osc nagoya~自宅サーバラックの勧め ~In osc nagoya~
自宅サーバラックの勧め ~In osc nagoya~h-otter
 
自宅サーバラックの勧め 簡易版
自宅サーバラックの勧め 簡易版自宅サーバラックの勧め 簡易版
自宅サーバラックの勧め 簡易版h-otter
 
透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT透過 L2 BRIDGE NAT
透過 L2 BRIDGE NATh-otter
 
自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編h-otter
 
MMA Tech:Talk 2017-1 仮想化技術的なあれ
MMA Tech:Talk 2017-1 仮想化技術的なあれMMA Tech:Talk 2017-1 仮想化技術的なあれ
MMA Tech:Talk 2017-1 仮想化技術的なあれh-otter
 

More from h-otter (13)

自作クラウド基盤 n0stack in ICTSC 2018
自作クラウド基盤 n0stack in ICTSC 2018自作クラウド基盤 n0stack in ICTSC 2018
自作クラウド基盤 n0stack in ICTSC 2018
 
自作クラウド基盤 n0stack と開発自動化の気持ち
自作クラウド基盤 n0stack と開発自動化の気持ち自作クラウド基盤 n0stack と開発自動化の気持ち
自作クラウド基盤 n0stack と開発自動化の気持ち
 
自作クラウド基盤 n0stack と ソフトウェア開発の気持ち
自作クラウド基盤 n0stack と ソフトウェア開発の気持ち自作クラウド基盤 n0stack と ソフトウェア開発の気持ち
自作クラウド基盤 n0stack と ソフトウェア開発の気持ち
 
自宅サーバラックの勧め 〜ファシリティ編〜
自宅サーバラックの勧め 〜ファシリティ編〜自宅サーバラックの勧め 〜ファシリティ編〜
自宅サーバラックの勧め 〜ファシリティ編〜
 
Openflowの気持ち
Openflowの気持ちOpenflowの気持ち
Openflowの気持ち
 
NiFiの紹介
NiFiの紹介NiFiの紹介
NiFiの紹介
 
ICTSC8 Backboneの紹介
ICTSC8 Backboneの紹介ICTSC8 Backboneの紹介
ICTSC8 Backboneの紹介
 
給料の気持ち
給料の気持ち給料の気持ち
給料の気持ち
 
自宅サーバラックの勧め ~In osc nagoya~
自宅サーバラックの勧め ~In osc nagoya~自宅サーバラックの勧め ~In osc nagoya~
自宅サーバラックの勧め ~In osc nagoya~
 
自宅サーバラックの勧め 簡易版
自宅サーバラックの勧め 簡易版自宅サーバラックの勧め 簡易版
自宅サーバラックの勧め 簡易版
 
透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT
 
自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編
 
MMA Tech:Talk 2017-1 仮想化技術的なあれ
MMA Tech:Talk 2017-1 仮想化技術的なあれMMA Tech:Talk 2017-1 仮想化技術的なあれ
MMA Tech:Talk 2017-1 仮想化技術的なあれ
 

Kubernetesのワーカーノードを自動修復するために必要だったこと