# プロジェクト情報の確認
$ gcloud config list
# 予めセットすると設定しやすい
$ gcloud config set project PROJECT_ID
$ gcloud config set compute/zone asia-east1-a
# クラスターの作成(数分かかる)
$ gcloud container clusters create hello-world --num-nodes 1 --machine-type g1-small
# Podの作成(1)
$ kubectl run wordpress --image=tutum/wordpress --port=80
# Podの作成(2)
$ kubectl create -f something.yaml
# 外部トラフィックの許可(転送ルールはYAMLで指定することも可能)
$ kubectl expose deployment wordpress --type=LoadBalancer
# ロードバランサが作成されるまで数分かかるため、下記で状態を確認できる
$ kubectl describe services wordpress
# 参照
$ kubectl get service ${NAME} # EXTERNAL-IPにアクセス可能
$ kubectl get services
$ kubectl get deployments
$ kubectl get pods
$ kubectl get pods -o wide
$ kubectl get rc # `rc` はreplicationController
$ kubectl get nodes
$ gcloud compute instances list # ワーカーノードの確認 (get nodesと同じ名前のインスタンスが確認できる)
$ gcloud container clusters list
# NodeにSSHで接続 (NODEはget pods -o wideで確認できる)
% gcloud compute ssh ${NODE}
# 削除
$ kubectl delete service ${NAME}
$ kubectl delete service --all
$ kubectl delete deployments ${NAME}
$ kubectl delete deployments --all
$ kubectl delete pods ${NAME}
$ kubectl delete pods --all
$ gcloud container clusters delete tensorflow-cluster001
minikubeやるより、下記から始めた方が分かりやすい。
Name | Content |
---|---|
Node | Dockerが動くマシンのこと |
Pod | コンテナを配置する入れ物。この単位でスケールさせたりします |
Proxy | コンテナとの通信を経由するプロキシ |
Name | Content |
---|---|
Deployments | Pod(コンテナ)を管理するもの |
Service | Pod(コンテナ)と通信を維持するためのポリシーなどを定義するもの |
- http://www.eggie5.com/82-rails-docker-app-deployment-kubernetes
- Deploying Rails on Kubernetes
- Rails + MySQL on Kubernetesを試す
- Containers, Docker, and Kubernetes Part 2 // Collective Idea | Crafting web and mobile software based in Holland, Michigan
2016年9月以前は古そう