このガイドについて
Kubernetesは
- クバネティス/クバネテス/クーべネティス、K8sと略記されます
- IaaSサービスと似てる、PaaSサービスにも似ています
- コンテナを管理するサービス
今回、GKEを使ってみよう。まずGCP Consoleで必要なAPIが有効であることを確認します
そこから、GKEクラスタを作成してそこにLoadBalancer Serviceをデプロイします、次にServiceをスケールします
始めましょう。。。
ノードの自動修復
以前実行、サービス一覧
kubectl get services
or kubectl get svc
目的のゾーンで Kubernetesクラスタを起動します
gcloud container clusters create webfrontend --zone us-central1-a --num-nodes 2
「--num-nodes 2」とはクラスタは2つのノードからなり
コンソルでクラスタとノードが作成された確認できます。
Clusters
サービス作成された確認します
kubectl get services
デプロイメント
クラスタで「nginx」ウェブサーバー実行します(K8s Deploymentというものを作成します )
kubectl run nginx --image=nginx:1.10.0
K8sは勝手に空いてるPodを選びます。(だからロードバランサータイプだよね X.X)
このDeploymentは1つのポッドからなり、ポッドは実行されている確認します
kubectl get pods
スケール
Kubernetesの外部のクライアントがアクセスできるようにこのDeploymentを公開します
kubectl expose deployment nginx --port 80 --type LoadBalancer
**「nginx」という「LoadBalancer Service」**を作成します、サービスは提供している確認します
外部IPアドレス(EXTERNAL-IP)の割り当されるまで、ちょっと時間がかかります
kubectl get services
Deployment内部で実行中の「Nginx」ウェブサーバーにインターネットからアクセスできる外部IPアドレス
負荷が増加した場合、Deploymentをスケールアップします
kubectl scale deployment nginx --replicas 3
更新後のポッド数を確認します
kubectl get pods
また、kubectl get services
のコマンドを実行して「Nginx」ホームページを再ロードして、外部IPアドレスが変わっていなくてウェブサーバーDeploymentが引き続き機能することが分かります。
おめでとうございます!
使うコマンドを集めます
kubectl version
export MY_ZONE=[choose-zone]
gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes [number-nodes]
kubectl get services
kubectl run nginx --image=nginx:1.10.0
kubectl get pods
kubectl expose deployment nginx --port 80 --type LoadBalancer
Note: サービスtypeは外部クラウド、Kubernetesの支援するサービスタイプです
kubectl scale deployment nginx --replicas [number-pods]
更に、
サービス削除:kubectl delete svc/nginx
Deployされたリスト:kubectl get deployments
関連サイト
Kubernetesさん
Kubernetes学習するKatacodaさん
では、又ね!!!