kubenetesクラスタに突然接続できなくなった (証明書の期限切れ)

前ふり kubernetes 1.18.x tl;dr; 証明書の期限切れ 流れ 2020/07/28 の昼頃から、kubectlを使ってpodに処理を実行させる系のジョブがすべてコケる 自分のPCからkubectlコマンドを打つと error: You must be logged in to the server (Unauthorized) がでる...

kubernetes 1.16 -> 1.18 アップグレードメモ

前提として知っておくべき知識 kubernetes のマイナーバージョンを飛ばしたアップグレードは不可能 マスターとワーカーのノードのマイナーバージョンは 1 違いまで許される なので、1.16 -> 1.17 、1.17 -> 1.18 と2回のバージョンアップが必要 1.16 -> 1.17...

FreeNASのNFSをkubernetesストレージとして使う設定

ただのメモ FreeNASのNFSをkubernetesストレージとして使うときに、デフォルト設定だと動きません。(動かない可能性があります) 何をどうすれば良いかメモします。 使用しているFreeNASは 11.2 です 設定 設定は二箇所あります。 設定1 poolの権限設定 左側メニューの Storage→Pools を選択し、一覧の右端の ・・・ をクリックして、 edit permission を選択します。 ポイントは、 Mode を全部チェックすることです。ようするにパーミッション...

Docker上で動いているMastodonをkubernetesクラスタに移動した作業メモ

本稿のスコープ外 Kubernetes(以下 k8s)クラスタの構築方法 Mastodonの初期設定 kustomizeのインストール ※ 多少読み替えて頂ければ、dockerではないMastodonも移行できるはず 前提条件 kubectlが実行可能なこと kustomize が使用可能なこと 以降元dockerコンテナのファイルを持ってこれること 作業手順 実は移行自体はそれほど難しくありません。 移行が必要なのは、PostgreSQLのDBだけです。redisのデータも移行した方がよいですが、 移行しなくてもその時点のSidekiqのジョブが失われる程度で、恐らく誰も気づきません。 ※ 管理者的には、Sidekiq画面のジョブ数がリセットされるのが残念かな?程度 kubernetesクラスタ上にPodを生成 Deployment定義をgithubに公開しています。...

障害記録:podにはできるだけrequestsに使用するメモリ量を書いた方が良い

tl;dr; podにrequestsを書いた方がいい。特にメモリ量。 さもないと、Out Of Memory(OOM)が発生してエライことになる可能性がある。 事故事例 requestsが書かれていない状態で起きた。 requestsがないのでメモリが逼迫したノードに新しいコンテナが配置された OOMが発生してワーカーノードがマスターノードと疎通できなくなった ワーカーノードがダウンしたと判断され、他のノードにpodが移動を始めた 他のノードもメモリ量がそれほどあるわけではないのでOOM発生 ギリギリだったノードにさらに割り振られてOOM発生 ワーカーノード全滅 requestsに書くメモリ量が分からない とりあえず稼働させてみて、そのpodが動作しているpodにSSHでログインし、 docker stats [containerID] を実行することで使用中のメモリ量がわかる。...