メインコンテンツへスキップ

Istio

2022

Anthos Service Mesh の Outbound Access Log を出力する
Istio GCP Anthos
Anthos Service Mesh のアクセスログはデフォルトでは Service への Inbound しか出力されません。 エラーが発生した場合は Outbound のログも出力されます。 出力先は Cloud Logging で HTTP の情報は Load Balancer などと同様に httpRequest という Object
envoy-sidecar-helper で Job の終了後に istio-proxy を停止させる
Istio Kubernetes
Istio を導入した環境で Job (CronJob) を実行すると、sidecar としての istio-proxy コンテナを Job 本来の処理が終わった後に istio-proxy コンテナを終了させないといつまで経っても Pod が終了しないという課
istio-proxy の log level を変更する
Istio Kubernetes
Istio でよくわからない通信の問題が発生した際、Envoy の access log だけでは何が起きているのかわからない場合があります。そんなとき、当該 Pod の LogLevel を debug に変更することで得られる
istio sidecar の停止を connection がなくなるまで遅らせる
Envoy Istio Kubernetes
新機能 EXIT_ON_ZERO_ACTIVE_CONNECTIONS # 以前、「 Istio 導入への道 – sidecar の調整編」という記事で、Istio の sidecar (istio-proxy) が、アプリの終了を待たずに停止してしまってアプリ側が通信できなくなるという問題に対して

2020

Istio で Downstream への TCP keepalive を送る方法
Istio advent calendar 2020
Advent Calendar 2020 全部オレシリーズ 14日目です。誕生日記念号です。おめでとうございます。ありがとうございます。 先日も gRPC と NLB での idle timeout の問題について触れましたが、今回は Istio の Ingress Gateway
Istio 1.8 で holdApplicationUntilProxyStarts 設定に変更がありました
Istio advent calendar 2020
Advent Calendar 2020 全部オレシリーズ 7日目です。もう完走は諦めました。 8月にリリースされた Istio 1.7 で追加され、「 メインコンテナの起動前に istio-proxy の起動を完了させる」で紹介した機能ですが
メインコンテナの起動前に istio-proxy の起動を完了させる
Istio Kubernetes
2020年8月21日に Istio 1.7 がリリースされました。その RELEASE NOTE の Production operability improvements 項に次の節を見つけました。 You can delay the application start until after the sidecar is started. This increases the reliability for deployments where the application needs to access resources via its proxy immediately upon its boot. 「サイ
Istio 導入への道 – sidecar の調整編
Istio Kubernetes
Istio シリーズ 第12回です。 Istio は各 Pod に sidecar として Envoy コンテナを差し込み、通信の受信も送信も Envoy を経由します。アプリの更新時などに旧バージョンの Pod の停止する時、先に Envoy コンテ
ArgoCD と Istio Ingress Gateway
ArgoCD Istio
ArgoCD という Kubernetes 用の CD ツールがあります。 Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. これを Istio Ingress Gateway と共に使う方法をまとめます。それだけでそこそこの量になったので。 ArgoCD の deploy # argocd という namespace を作って、
Istio 導入への道 – Ingress Gateway で TLS Termination 編
Istio Kubernetes
Istio シリーズ 第11回です。 TLS Termination # 外部からのアクセスを Istio Ingrress Gateway に TLS の Temination をさせたいことがありますね。今回はこれを試します。 TLS Termination の設定は Gateway で行います。 Gateway のドキュメントには
Istio 導入への道 – 図解
Istio Kubernetes
Istio シリーズ 第10回です。 そろそろ図解してみようと思ったのだが… 正確に描くのは非常に難しい、そのうち Argo CD + Argo rollouts についても書くので Argo CD が描画する図を見
Istio 導入への道 - gRPC でも Fault Injection 編
Istio
Istio シリーズ 第9回です。 Istio by Example に gRPC というのがあった。 gRPC に delay が挿入されている。できるんだねそれも。 ということで試してみます。gRPC については全然分かってないのだけ
Istio 導入への道 - 外部へのアクセスでも Fault Injection 編
Istio
Istio シリーズです。 前回の予告通り今回は「外部サービスでも Fault Injection したいぞ」編です。 「 Fault Injection 編」でその便利さを取り上げましたが、外部の API を使用している時にもそこに Inject したい
Istio 導入への道 - 外部へのアクセス / ServiceEntry 編
Istio
Istio シリーズです。 今回はクラスタ内から外部のサービスへのアクセスについてです。 ServiceEntry ってやつが登場です。(これを書く中でだいぶ自分の理解の誤りが訂正されました、良かっ
Istio 導入への道 - Ingress Gatway 編
Istio
Istio シリーズです。 いよいよ Ingress Gateway を試します。Istio でクラスタ外からのリクエストをサービスに流すためにはこれが必要です。 Ingress Gateway の確認 # Istio のインストール時に istio-system namespace に istio-ingressgateway と
Istio 導入への道 - OutlierDetection と Retry 編
Istio
Istio シリーズです。 そういえば Ingress Gateway になかなか辿りつかないな。 OutlierDetection 設定 # OutlierDetection は DestinationRule に設定するものでドキュメントもそこにあります。 一旦 VirtualService での転送先を v2 だけにします。 $ kubectl apply -f -
Istio 導入への道 - Fault Injection 編
Istio
Istio シリーズです。 今回は Fault Injection です。前回の VirtualService に設定を入れることでわざと 503 とか 500 エラーを返したり、delay を入れたりすることができます。 500 Internal Server Error を返す # 現在の設定を
Istio 導入への道 - VirtualService 編
Istio
Istio シリーズです。 今回は VirtualService です。これを利用することで、コネクションプーリングの設定をしたり、レートリミットを入れたり、振り分け方法を指定したり、同じホスト名でアク
Istio 導入への道 - サービス間通信編
Istio
前回の続きです。 Istio でのサービス間通信 # まあ、ただサービス間で通信するだけなら Istio は不要なわけだけれども、まずはここから。 httpbin をサービスとして deploy # httpbin.org のコンテナは Request Header を
Istio 導入への道 - インストール編
Istio
Istio 導入に向けて一歩一歩やっていき。リリースされたばかりの 1.5 を使ってみようと思います。 Minikube の起動 # まずは Kubernetes クラスタの作成。いつものように minikube です。 こちらのページによる