Posts
2022
Kubernetes で StatefulSet の Volume を resize する
Kubernetes
Kubernetes で StatefulSet に volumeClaimTemplates を指定して Persistent Volume を使用している環境で volume のサイズを変更する方法。 素直に StatefulSet の manifest を変更して apply しようとすると次のように StatefulSet で更新可能なのは replicas, template, updateStragety だけだよとエラーに
DNS over HTTPS 通信の中身を確認する
DNS
DOH
Python
iPhone の HTTP(S) 通信を OWASP ZAP で覗いてみたたら 8.8.8.8, 8.8.4.4 に対して DNS over HTTPS の通信を見つけたのでどんなやり取りをしているのか確認してみた。 DNS over HTTPS でのリクエスト # リクエストは HTTP の GET メソッド
apt-key is deprecated への対応
Debian
Linux
Debian 系の Linux で古いインストール手順なんかを見てコマンドをコピペしていると出くわすこのメッセージ Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). package 署名の公開鍵の管理方法が変わったみたいです リ
iPhone の通信を覗く
tcpdump
iPhone
先日 iPhone のアプリが https で通信している内容を覗いてみようと HTTP プロキシに OWSAP ZAP を指定して覗いてみました。 OWASP ZAP が動的に証明書を発行してくれるので、その発行元となる CA を iPhone に登
Graceful Node Shutdown で Terminated 状態で残る Pod を削除する cronjob
Kubernetes
GKE (GKE 限定な話ではないけれども) で Preemptible な node を使用していると Graceful Node Shutdown により停止させられた Pod が Failed 状態でどんどん溜まっていって結構邪魔です。 できれば消えて欲しい。 ということ
envoy-sidecar-helper で Job の終了後に istio-proxy を停止させる
Istio
Kubernetes
Istio を導入した環境で Job (CronJob) を実行すると、sidecar としての istio-proxy コンテナを Job 本来の処理が終わった後に istio-proxy コンテナを終了させないといつまで経っても Pod が終了しないという課
GKE Service の NEG を Terraform で作成する
GKE
Terraform
GKE の Ingress で Load Balancer を作成すると、同一 namespace 内の Service にしか振り分けられないとか、単一の Cluster でしか使えないとか不都合な場合があります。その場合 Load Balancer 関連のリソースは Terraform で作成したくな
istio-proxy の log level を変更する
Istio
Kubernetes
Istio でよくわからない通信の問題が発生した際、Envoy の access log だけでは何が起きているのかわからない場合があります。そんなとき、当該 Pod の LogLevel を debug に変更することで得られる
Mizu で kubernetes 内の通信を覗く (part 1)
Kubernetes
Mizu - API Traffic viewer for Kubernetes というものの存在を知ったので試してみます。 サイトには次のように書いてあります。気になります。 Mizu offers a real-time view of all HTTP requests, REST and gRPC API calls, as well as Kafka, AMQP (activeMQ / RabbitMQ), and Redis. HTTP も gRPC
istio sidecar の停止を connection がなくなるまで遅らせる
Envoy
Istio
Kubernetes
新機能 EXIT_ON_ZERO_ACTIVE_CONNECTIONS # 以前、「 Istio 導入への道 – sidecar の調整編」という記事で、Istio の sidecar (istio-proxy) が、アプリの終了を待たずに停止してしまってアプリ側が通信できなくなるという問題に対して
telepresence 入門 (2)
Kubernetes
telepresence
前回の telepresence 入門 (1) の続きです。今回は Kubernetes クラスタの Service へのアクセスをインターセプトして手元の環境に転送することを試します。Kubernetes 側の volume も手元で mount させるし、
Docker on Lima
Docker
以前、「 Lima で nerdctl」という記事を書きました。その後、lima の VM 上で docker daemon を実行し、ホスト側から docker コマンドでアクセスするという方法があることを知りました。
2021
telepresence 入門 (1)
Kubernetes
telepresence
telepresence というツールがあります。手元の端末が Kubernetes クラスタ内にいるかのような通信を可能にし、Kubernetes の Pod の Container への通信をインターセプトして手元の端末に流すことが
CloudFront のレスポンスに Security Headers を追加する
AWS
「 Amazon CloudFront が設定可能な CORS、セキュリティ、およびカスタム HTTP レスポンスヘッダーをサポート」で Lambda@Edge なしで Response にカスタムヘッダーを追加することが可能になりました。 これを使
EKS の node で inotify の上限
AWS
KES
https://github.com/awslabs/amazon-eks-ami/pull/589/files inotify の上限に引っかかり、ssm でログインできなくなったりする。あまり古い EKS AMI を使っていなければ大丈夫
mac で podman
Docker
Podman
Docker Desktop 代替シリーズ第三部、Podman です。( 第一部 minkikube 編、 第二部 Lima + nerdctl 編) Podman については Red Hat さんのブログが大変参考になります。 今回の Docker 社によるライセンス周りの変更が
Lima で nerdctl
Docker
Docker Desktop の代わりに docker cli + Minikube ってのを試しただけど、Kubernetes は docker を非推奨にしてるし、kubernetes は不要な場合は無駄が多いしなあ… ってこ
Docker Desktop の代わりに Minikube を使ってみる
Docker
Kubernetes
minikube
Docker のおかげで今の便利なコンテナがあります、ありがとうございます。でもどうなるのかやってみたかったんです。 Goodbye Docker Desktop, Hello Minikube! を参考に試してみます。 環境は Intel Mac の Big Sur です。M
Google 認証でクライアント証明書発行のセルフサービス化
TLS
smallstep
以前、 caddy について調べてて発見した smallstep でクライアント証明書発行を便利にできないかなということで調査です。( Hashicorp Vault でもできるっぽいけど用途的にわざわざクラスタ組むの面倒
Terraform でカスタム provider を使うための dev_overrides 設定
Terraform
healthchecks.io が大変便利なので Self-hosted なサーバーを用意して、設定を terraform で管理したいなあということがありまして、 terraform-provider-healthchecksio の接続先サーバーを指定可能にしようと思いました。provider のコ