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

[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座Mikiya Okuno
 
Amazon EKS上の開発体験を最大化するプレビュー環境の作り方
Amazon EKS上の開発体験を最大化するプレビュー環境の作り方Amazon EKS上の開発体験を最大化するプレビュー環境の作り方
Amazon EKS上の開発体験を最大化するプレビュー環境の作り方理弘 山崎
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発Amazon Web Services Japan
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜Yoshiki Nakagawa
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へVirtualTech Japan Inc.
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOpsMariOhbuchi
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるMasatoshi Tada
 
わかる!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
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 

What's hot (20)

[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Amazon EKS上の開発体験を最大化するプレビュー環境の作り方
Amazon EKS上の開発体験を最大化するプレビュー環境の作り方Amazon EKS上の開発体験を最大化するプレビュー環境の作り方
Amazon EKS上の開発体験を最大化するプレビュー環境の作り方
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みる
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 

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のワーカーノードを自動修復するために必要だったこと