環境
macbook(gcloudインストール済み)
kubectlのインストール(すでに入っている方は飛ばしてください)
以下を実行
gcloud components install kubectl
また、computeEngineゾーンのデフォルト値を設定しておくことで、のちの作業を楽にしておきます。
gcloud config set project [PROJECT_ID]
gcloud config set compute/zone [ZONE_NAME]
KubernetesのAPIを有効化
GCPの管理コンソールから「APIとサービス」を開きます。
ライブラリで「Kubernetes」と検索し、「Kubernetes Engine API」を有効化します。
クラスターノードの作成
ここではtestという名前でノードを作成します。
gcloud container clusters create test --num-nodes=1
無事にノードが作成したことを以下のコマンドで確認します。
gke***みたいなのがいればOK。
gcloud compute instances list
WordpressをPodで起動
ノードの作成が完了したので、ノード内にPodを立ち上げ、Wordpressを起動します。
kubectl run wordpress --image=tutum/wordpress --port=80
デプロイされた情報は以下で確認できます。
kubectl describe deployments
Name: wordpress
Namespace: default
CreationTimestamp: Sun, 14 Oct 2018 22:29:34 +0900
Labels: run=wordpress
Annotations: deployment.kubernetes.io/revision=1
Selector: run=wordpress
Replicas: 1 desired | 1 updated | 1 total | 0 available | 1 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
・
・
・
ロードバランサの作成
Wordpressの起動したPodの作成は完了しましたが、このままではWordpressには同一コンテナ内のPodからしかアクセスすることができないので、ロードバランサを作成し、アクセス可能状態にします。
kubectl expose deployment wordpress --type=LoadBalancer
以下のコマンドで、ロードバランサが準備OKかどうかを確認します。
EventsのMessageに「Ensured load balancer」が表示されたら準備OKです。
kubectl describe services
「LoadBalancer Ingress」にあるIPアドレスにアクセスするとWordpressの画面が出てくるかと思います。
Wordpressの削除
残念ながらこのまま放置しておくと誰かに使われかねないので、以下のコマンドで
サービスとDeploymentsを削除しておきます。
kubectl delete services wordpress
kubectl delete deployment wordpress
本編は以上です。
補足
- 複数のPodを作る場合
最後のxに任意の整数をいれてください
gcloud container clusters create test --num-nodes=x
- Pod数の確認
kubectl get pods
- ノードの削除
gcloud container clusters delete [NODE_NAME]