2019/06/24

k8s(k3s)クラスターのノード再起動を無くしつつセキュリティパッチはあてたい?それ、Livepatchで出来るよ!

セキュリティパッチをあててもノードは再起動したくない!

自前でKubernetesクラスターを作って使うようになりました。

各ノードへのセキュリティパッチ適用や再起動はcronを使えば自動化できますが、この再起動によってKubernetes上で稼働するサービスにダウンタイムが発生してしまいます。なんとかこれを無くしたい。

そこで、Canonical Livepatch Serviceを使うことにしました。

Livepatch is 何?

まずはトップページから引用します。

Apply critical kernel patches without rebooting.

  • Fixes are applied automatically, without restarting your system
  • Reduces downtime, keeping your Ubuntu LTS systems secure and compliant
  • Included as part of all Ubuntu Advantage for Infrastructure support packages

https://ubuntu.com/livepatch

再起動不要で修正パッチを適用できそうです。素晴らしい仕組み万歳!ヽ(=´▽`=)ノ

Livepatch使ってみるよ!

準備

Ubuntu Oneのアカウントが必要とのことなので、まずアカウントを作ります。

次に、LivepatchのTokenを生成します。今回は個人用途なので、Free for 3 machinesの方を選択します。

Subscribe to Livepatch

Ubuntu userを選んでGet your Livepatch tokeボタンを押せば、自分用のLivepatchトークンが生成されます。メモしときましょう。

Get your Livepatch token

インストール

snapを使って簡単にインストールできます。

sudo snap install canonical-livepatch

さきほど生成したトークンを使って登録します。

sudo canonical-livepatch enable {your_token}

余談ですが、snapってdockerprometheusも超簡単にインストールできるから大好きです! 😆

確認

Livepatchの稼働状況は、以下のコマンドで確認できます。

canonical-livepatch status

まとめ

Kubernetesクラスターのノードに対して、Livepatchによって再起動無しでセキュリティパッチが適用されるようにしました。

これで少し楽ができますね〜 (:3[ふとん]