クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

GKEのコンテナをDatadogで監視


3-datadog-docker

※glcoud compoents updateでCloud SDKを最新にしておきます。

GKEクラスタを作成

 

gcloud container clusters create test-cluster --zone asia-east1-a --machine-type g1-small --num-nodes 1 --network stage-network

指定しないと、n1-standard-1とクラスタノード数3で起動します。

gcloud containers コマンドのデフォルトクラスタを「test-cluster」に設定します。

gcloud config set container/cluster test-cluster

kubectlとの連携

gcloud container clusters get-credentials

作成したクラスタの確認

gcloud container clusters describe test-cluster --zone asia-east1-a

作成するコンテナ用jsonを作成します。jsonだけでなく、yamlでも作成可能です。

{
 "kind": "Pod",
 "apiVersion": "v1",
 "metadata": {
 "name": "nginx",
 "namespace": "default"
 },
 "spec": {
 "containers": [
 {
 "name": "nginx",
 "image": "nginx",
 "imagePullPolicy": "Always",
 "ports": [
 {
 "containerPort": 22,
 "name": "ssh",
 "protocol": "TCP"
 }
 ]
 }
 ]
 }
}

Pods (Containers)を作成します。

kubectl create -f nginx.json
kubectl describe pods nginx

コンテナを削除する場合は、以下コマンドで完了。

kubectl delete -f nginx.json

作成したコンテナを確認します。Node Clusterも確認できます。Datadog Agentをインストールする際、sshログインする必要があります。

kubectl get pods nginx -o wide
NAME READY STATUS RESTARTS AGE NODE
nginx 1/1 Running 0 -340s gke-test-cluster-919cf59d-node-zgrc

Containerが起動すれば、Runningになるかと思います。内部的にイメージになんらか問題が生じて、Containersが起動できなくなっているケースもあります。Node Cluseterにログイン後、docker ps -aで、Containerは確認できます。(Datadogを使えば、コンテナの状態も確認できると思われます。)

Datadogに登録

Datadogの登録は割愛します。


 

ホストサーバーにDatadog Agentをインストール

Datadogのダッシュボードにある左メニューのIntegrationのAgentを選んで、「Debian」を選択します。 すると1行ペラっとコマンド出てきますから、それをコピーします。

DD_API_KEY=XXXXXXXXXXXXXXXXXXXXXXX bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)"

 

ホストサーバーからDocker Agentをインストール

IntegrationのAgentを選んで、「CoreOS」を選択します。

docker run -d --name dd-agent -h `hostname` -v /var/run/docker.sock:/var/run/docker.sock -v /proc/mounts:/host/proc/mounts:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY=XXXXXXXXXXXXXXXXXXXXXXX datadog/docker-dd-agent

Docker 用監視ファイルの設定

サンプルのdocker用yamlファイルが置かれているので、リネームして、agentを起動します。


cp /etc/dd-agent/conf.d/docker.yaml.example /etc/dd-agent/conf.d/docker.yaml
dd-agent start

コメントは受け付けていません。