3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【GCP】GKEでロードバランサーサービスをデプロイ、スケールを試し

Last updated at Posted at 2020-02-20

このガイドについて

Kubernetesは

  • クバネティス/クバネテス/クーべネティス、K8sと略記されます
  • IaaSサービスと似てる、PaaSサービスにも似ています
  • コンテナを管理するサービス

今回、GKEを使ってみよう。まずGCP Consoleで必要なAPIが有効であることを確認します
そこから、GKEクラスタを作成してそこにLoadBalancer Serviceをデプロイします、次にServiceをスケールします
始めましょう。。。

ノードの自動修復

以前実行、サービス一覧
kubectl get services or kubectl get svc
image.png

目的のゾーンで Kubernetesクラスタを起動します
gcloud container clusters create webfrontend --zone us-central1-a --num-nodes 2
「--num-nodes 2」とはクラスタは2つのノードからなり
image.png

コンソルでクラスタとノードが作成された確認できます。
Clusters
image.png

Nodes
image.png

Pods
image.png

サービス作成された確認します
kubectl get services
image.png

デプロイメント

クラスタで「nginx」ウェブサーバー実行します(K8s Deploymentというものを作成します )
kubectl run nginx --image=nginx:1.10.0
image.png

:spy_tone1: K8sは勝手に空いてるPodを選びます。(だからロードバランサータイプだよね X.X)
このDeploymentは1つのポッドからなり、ポッドは実行されている確認します
kubectl get pods
image.png

スケール

Kubernetesの外部のクライアントがアクセスできるようにこのDeploymentを公開します
kubectl expose deployment nginx --port 80 --type LoadBalancer
image.png

**「nginx」という「LoadBalancer Service」**を作成します、サービスは提供している確認します
外部IPアドレス(EXTERNAL-IP)の割り当されるまで、ちょっと時間がかかります
kubectl get services
image.png

Deployment内部で実行中の「Nginx」ウェブサーバーにインターネットからアクセスできる外部IPアドレス
image.png

負荷が増加した場合、Deploymentをスケールアップします
kubectl scale deployment nginx --replicas 3
image.png

更新後のポッド数を確認します
kubectl get pods
image.png

また、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さん

では、又ね!!!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?