Kubernetesマスターノードを1つとワーカーノードを2つ設定しました。 kubectl
を使用して、2つのWebアプリケーションをポッドとしてデプロイしました。 nginx-ingress-controller
(画像:gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.6
)をデプロイし、nodeportオプションを使用して同じサービスを作成しました。 nginx-ingress-controller
のエラーログにアクセスするにはどうすればよいですか? error.log
の下に/var/log/nginx/
が表示されていますが、/dev/stderr
にリンクされています。
ほとんどの場合、コンテナー化されたアプリケーションはログをstdout/stderrに吐き出します。つまり、コンテナーログとして使用できます。 Kubernetesでは、ieを使用してこれらのログにアクセスできます。 kubectl logs <pod>
更新:ログCLIを参照するための非常に優れたツール- https://github.com/wercker/stern
TL; DR
kubectl logs -n <<ingress_namespace>> <<ingress_pod_name>>
Ingressコントローラーが現在実行されている名前空間を確認します。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
helloworld-deployment-7dc448d6b-5zvr8 1/1 Running 1 3d20h
helloworld-deployment-7dc448d6b-82dnt 1/1 Running 1 3d20h
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
kube-apiserver-minikube 1/1 Running 1 3d20h
nginx-ingress-controller-586cdc477c-rhj9z 1/1 Running 1 3d21h
私にとっては、kube-system
ポッドの名前空間nginx-ingress-controller-586cdc477c-rhj9z
。
今、あなたと同じようにログを取得するか、他のポッドを使用して
kubectl logs -n kube-system nginx-ingress-controller-586cdc477c-rhj9z
私の好み:kubectl logs -lapp=nginx-ingress
(ラベルnginx-ingressが付いたすべてのポッドのログを取得します)