【Istio】istio-proxy(Envoy)のログを確認する
2022.01.03
2024.03.24
Kubernetes
EnvoyIstio
はじめに
Istioを利用してistio-proxy(Envoy)をPodのサイドカーとして追加している場合に、istio-proxyのログを確認する方法を紹介します。
コマンド
下記のコマンドでistio-proxy
のログが確認できます。
1kubectl logs <pod name> -c istio-proxy
実際にログを確認してみる
ここからは試しにサンプルアプリでログを確認してみます。
サンプルとして利用するアプリはIstioのリポジトリにある下記のアプリになります。
istio/samples/bookinfo at master · istio/istio
Connect, secure, control, and observe services. Contribute to istio/istio development by creating an account on GitHub.
まずはIstioをインストールします。
1istioctl install --set profile=demo -y
istio-proxyが追加される設定を有効化します。
1kubectl label namespace default istio-injection=enabled
マニフェストを適用して、アプリをデプロイします。
1kubectl apply -f bookinfo/platform/kube/bookinfo.yaml
2kubectl apply -f bookinfo/networking/bookinfo-gateway.yaml
ポートとURLの環境変数を設定します。
1export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
2export INGRESS_HOST=127.0.0.1
3export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
ポートフォワードしてローカルからアクセスできるようにします。
1kubectl -n istio-system port-forward svc/istio-ingressgateway $INGRESS_PORT:80
下記のコマンドで表示されるURLにブラウザやcurlコマンドでアクセスします。
1❯ echo "http://$GATEWAY_URL/productpage"
2"http://127.0.0.1:30939/productpage"
ログを確認するPodの名前を確認します。
1❯ kubectl get pod
2NAME READY STATUS RESTARTS AGE
3details-v1-79f774bdb9-4m6fx 2/2 Running 0 17m
4productpage-v1-6b746f74dc-jz5cw 2/2 Running 0 17m
5ratings-v1-b6994bb9-t7fb8 2/2 Running 0 17m
6reviews-v1-545db77b95-h795v 2/2 Running 0 17m
7reviews-v2-7bf8c9648f-sgjnt 2/2 Running 0 17m
8reviews-v3-84779c7bbc-576wv 2/2 Running 0 17m
確認したPod名でistio-proxyのログを確認すると先ほどアクセスした時のログが確認できます。
1❯ kubectl logs productpage-v1-6b746f74dc-jz5cw -c istio-proxy
2 :
3 :
4[2022-01-03T13:41:34.908Z] "GET /details/0 HTTP/1.1" 200 - via_upstream - "-" 0 178 122 120 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "ddf161ff-4e2a-92e6-a31a-6d394423ec33" "details:9080" "10.1.1.240:9080" outbound|9080||details.default.svc.cluster.local 10.1.1.245:40050 10.98.65.87:9080 10.1.1.245:55038 - default
5[2022-01-03T13:41:35.057Z] "GET /reviews/0 HTTP/1.1" 200 - via_upstream - "-" 0 295 1596 1594 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "ddf161ff-4e2a-92e6-a31a-6d394423ec33" "reviews:9080" "10.1.1.242:9080" outbound|9080||reviews.default.svc.cluster.local 10.1.1.245:33828 10.96.6.64:9080 10.1.1.245:38394 - default
6[2022-01-03T13:41:34.840Z] "GET /productpage HTTP/1.1" 200 - via_upstream - "-" 0 4183 1887 1860 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "ddf161ff-4e2a-92e6-a31a-6d394423ec33" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:49701 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
7[2022-01-03T13:41:36.853Z] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 - via_upstream - "-" 0 121200 89 55 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "1d84999b-a5cc-9b1a-8222-10074a7f7b9e" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:41127 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
8[2022-01-03T13:41:36.858Z] "GET /static/bootstrap/css/bootstrap-theme.min.css HTTP/1.1" 200 - via_upstream - "-" 0 23409 95 85 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "72a5fdd0-39ee-91f8-9e8a-6ce8054aed7a" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:60851 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
9[2022-01-03T13:41:36.966Z] "GET /static/bootstrap/js/bootstrap.min.js HTTP/1.1" 200 - via_upstream - "-" 0 37045 18 13 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "e4593f99-2738-919a-a10e-e97aba3e296d" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:35073 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
10[2022-01-03T13:41:36.975Z] "GET /static/jquery.min.js HTTP/1.1" 200 - via_upstream - "-" 0 89493 23 19 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "6e9cbe80-822f-944e-87c5-23c82db603db" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:51299 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
参考
Share
関連記事
【Kubernetes】Deploymentのロールアウト関連操作まとめ
2022.05.26
k9sでコンテキストとNamespaceの切り替える
2022.07.10