Kubernetes
こんにちは、株式会社はてなでアプリケーションエンジニアとしてアルバイトをしている id:walnuts1018 です。 この記事は はてなエンジニア Advent Calendar 2025 の28日目です。昨日の記事は、 id:k1s1eee さんの 複数AIプロバイダを一元管理できる LiteLLM…
私が管理しているwalnuts1018/cloudflare-tunnel-operator というKubernetes Operatorでは、DeploymentやSecretだけではなく、ServiceMonitorも自動的に作られるようになっています。 しかし、Deploymentなどと違ってServiceMonitorはCustom Resourceなので…
Grafana LokiのCacheとしてRedisを使い始めた。 Redisは、OT-CONTAINER-KIT/redis-operator を使ってRedis Clusterとして構築した。 あとはLokiのcache_config.redisにエンドポイントを指定すればOK。 github.com しかし、動かしてみるとlevel=error ts=2025…
自宅のKubernetesクラスタのArgo CDは100以上のApplicationを管理しており、1core / 1GB程度のリソースを常時占有しています。 特に、全てのManifestをJsonnetで記述しているため、Manifestの生成が重く、Reconcileの遅延も大きい状況が続いています。 リソ…
KUINS (Kyoto University Integrated information Network System)内でcert-managerを使ってDNS-01 Challengeを動かした時にハマったのでメモ。 KUINSでは、Port 53のUDPをブロックしているため、1.1.1.1などの外部DNSにアクセスできず、内部DNSのみ利用でき…
目的 自宅 k8s の manifest を管理するリポジトリであるwalnuts1018/infraでは、renovate を用いて、HelmRelease の自動更新を行っています。 FluxCD の HelmRelease リソースには、Chart の Version を指定する項目があるのでそこが更新されていきます。 し…
目的 FluxCD には、Manifest 中の Image フィールドを自動的に更新してくれる機能があります。 とても便利な機能なのですが、公式ドキュメントの通りに ImageUpdateAutomationを設定すると、mainブランチに直接コミットされていきます。 そうではなくて、Ren…
目的 walnuts.devのk8sクラスタは、FluxCDを使って管理されています。 github.com 多くのアプリケーションはFluxCD特有のHelm用設定ファイルやdeployment.yamlなどのManifestをコミットすることで本番環境に自動適用される、という運用になっています。 しか…
Walnuts.dev を支える技術 (物理環境/ネットワーク編)