Kubernetesクラスタ内のDNSの名前解決

Serviceの場合

my-svc.default.svc.cluster.local
  • my-svc はサービス名
  • default はNamespace



Podの場合

まずPodのIPアドレスを確認する。

kubectl get pod -o wide

上記で表示さる対象PodのIPアドレスをメモしておく。


例えば対象のPodのIPアドレスが、 10.0.0.1 の場合

10-0-0-1.default.pod.cluster.local
  • default はNamespace

docker run時にentrypointを上書き

概要

Dockerイメージを手元でrunさせる際にそのまま動かさず、試しにbashを実行してコンテナの中身を見たいときがあります。

Dockerビルドの際、entrypointが指定されているとCMDと違いbashを指定するとコマンドが上書きされず引数(オプション)扱いとなるためエラーとなってしまいます。

エラー例
$ docker run -it --rm aerospike/aerospike-tools bash
error: Unknown command: bash


entrypointを指定して上書き

$ docker run -it --rm --entrypoint "bash" aerospike/aerospike-tools


fluent-catでテスト

概要

td-agentでログが転送されるか確認したい場合のfluent-catコマンドを使うことで確認することが出来ます。

インストール

fluent-catコマンドはtd-agentをインストールすると使用することが出来ます。

実行

echo '{"foo":"bar"}' | /opt/td-agent/embedded/bin/fluent-cat hoge.fuga

上記のようにJson形式のログをパイプで渡し、
hoge.fugaとタグの指定を行うことが出来ます。