Kubernetes
kubectl に自動で namespaceや context を付与するような wrapper を作るとする。 そんなコマンドのインターフェースとして、 $ kubewrapper [...wrapper flags] [kubectl args / flags] (例) $ kubewrapper -p staging describe pod ... とすると $ kubec…
プライベートで Google Cloud を使っていて、今まではあまり IaC は使わずポチポチでやっていた。GKE ぐらいしかまともに使ってるリソースがなかったのでそれでよかったけど、最近 VPS をやめて各種クラウドに寄せるようにしており、クラウドのリソースが増…
久々に helmfile sync を行った結果、PodSecurityPolicy リソースなんか知らないという理由で Upgrade に失敗した。 $ helmfile dep && helmfile sync ... Error: UPGRADE FAILED: resource mapping not found for name: "descheduler" namespace: "" from "…
この記事は KMC アドベントカレンダー 14 日目の記事です。 adventar.org 前回の記事は id:crashrt さんでした。自分も百舌谷さん好きです! crashrt.hatenablog.com 背景 現在、Kubernetes クラスタに入れる Manifest を Flux (Fluxcd) を使って管理してい…
Kubernetes では kubernetes-dashboard という各種リソースを見るためのダッシュボードが提供されている。 ブラウザ上で色々確認できるので便利なのだが、ログイン時は下のように自身の token か kubeconfig ファイルをアップロードする必要がある。 Kuberne…
プライベートで GKE を Preemptible VM ベースで運用していた。だいぶ昔に Preemptible VM が Spot VM に変わるよという通知が GCP から来ていて 値段変わらないし 放置していたのだが、GKE のバージョンを上げるついでに Spot VM に変更した。 cloud.google…
Kubernetes で Node を Drain するとき、replicaCount: 1 な ReplicaSet (Service) はある程度のダウンダイムを許容せざるを得ない。 関連 issue は以下。 github.com 問題 ReplicaSet X があり、その replicaCount は 1 にしている また、同じ Selector で …
k8s の yaml を kustomize で管理している。ここからリソースを消しても kustomize はそれを感知しないためクラスタからは削除されない。 どうするか kpt を使う。これを見つけたのは deprecated になった inventory からリンクが貼られていたため。 kpt は…
Kubernetes で memory の requests を管理するのに Vertical Pod Autoscaler (VPA) を使っている。 github.com VPA はリソースの使用量の実績に基づいて良い感じに limits と requests を調整してくれるものだが、 limits の設定に関してちょっと困ったので…
Kubernetes で Service Account を特定のものから default に戻そうとして、Pod の Template から serviceAccountName を消して apply した。 spec: - serviceAccountName: old-service-account restartPolicy: Never containers: - ... しかし、適用しても…
個人で運用している VPS に Kubernetes を乗せて既存のシステム(Web アプリとか Slack Bot とか Cron ジョブとか)をガッと移行した。 もともとは itamae 使って Systemd でサービス立ち上げていたのだけど、ソフトウェア依存とか権限分離とか冪等性とか面…