※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
