Pro Yearly is on sale from $80 to $50! »

GKE101

73c355d3b1a55fe34142791aa69c981e?s=47 chago
May 26, 2020

 GKE101

73c355d3b1a55fe34142791aa69c981e?s=128

chago

May 26, 2020
Tweet

Transcript

  1. GKE 101 2020 / 05 / 26 Kubernetes Novice Meetup

    on YouTube @it__chago
  2. Who am I ? chago (twitter: @it__chago) • Solution Architect

    ◦ Kubernetes関連 • Kubernetes歴: 1年未満 ◦ ほぼ全て独学 ◦ 今週末CKA受けます!! • 21:9ワイドモニター捗る
  3. 本日話すこと - What is GKE? - Step1: プロジェクトの作成 - Step2:

    GKEクラスタの作成 - Step3: Nginxの作成 - Step4: Monitoring 本日話さないこと - Cloud SDKのインストール
  4. 早速GKEを触ってみる

  5. What is GKE? • GKE:Google Kubernetes Engine • GCP(Google Cloud

    Platform)上で動作するマネージドKubernetesサービス。 • GCPの各種機能とインテグレーションが行われている。 - ex) GCLB(Google Cloud LoadBalancer) • GKEではKubernetes NodeにGCE(Google Compute Engine)が利用される。 • Masterの管理はGoogleが担当、Nodeはユーザが担当する。 - ユーザはノードの使用料金のみを負担する。 • ノード自動アップデート機能が用意されている。 - クラスタのバージョンアップが簡単。 • NodePool:ノードに対してラベル付けをする。 • GCPは無料利用枠として登録時から1年間で$300まで使える。
  6. Step0: Cloud SDKのインストール • GCPのリソースとアプリケーションの管理に使用できる一連のツール。 • gcloudコマンドラインツールはこのパッケージに含まれる。 • kubectlなどのApp Engine拡張機能は別途インストールする。

    • Python3.5以降、もしくは2.7.9以降が必須。 • 今回はCentOS7.7で検証。
  7. Step0: Cloud SDKのインストール yumでpython3.6をインストール。 # yum install -y https://centos7.iuscommunity.org/ius-release.rpm #

    yum install -y python36u python36u-libs python36u-devel python36u-pip # ln -s /usr/bin/python3.6 /usr/local/bin/python
  8. Step0: Cloud SDKのインストール アーカイブファイルをダウンロード。 # curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud- sdk-280.0.0-linux-x86_64.tar.gz #

    tar –zxvf google-cloud-sdk-280.0.0-linux-x86_64.tar.gz curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
  9. Step0: Cloud SDKのインストール インストールスクリプトの実行。 # ./google-cloud-sdk/install.sh curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz

  10. Step0: Cloud SDKのインストール インストールスクリプトの実行。 # ./google-cloud-sdk/install.sh curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz

  11. Step0: Cloud SDKのインストール インストールスクリプトの実行結果。 # cat /root/.bashrc ターミナルを再起動して変更を反映させる。 curl -O

    https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
  12. Step0: Cloud SDKのインストール SDKの初期化。 # gcloud init curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz

  13. Step0: Cloud SDKのインストール curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz

  14. Step1: プロジェクトの作成 • GCPには「プロジェクト」という概念が存在する。 • プロジェクト単位での課金やユーザー管理を行う事が出来る。 各プロジェクトで明確に環境を分けることが出来る。 • 以下を利用してプロジェクトを識別する。 1.プロジェクト名:

    人が読めるプロジェクト名 プロジェクト作成中や作成後に編集可能。一意である必要は無し。 2.プロジェクトID: カスタマイズ可能な一意のプロジェクトID 但しカスタマイズはプロジェクトの作成時のみ。 プロジェクト名とランダムに割り当てられた番号で構成される。 3.プロジェクト番号: 自動生成される一意のプロジェクト識別子。
  15. None
  16. Step1: プロジェクトの作成 • # gcloud projects list 自分のプロジェクトの一覧を表示 • #

    gcloud config set project プロジェクトの切り替え
  17. Step2: GKEクラスタの作成 CLIで作成する場合は以下のコマンドを実行すればよい。 • # gcloud container clusters create cluster-name

    GKEクラスタの作成 • # gcloud container clusters get-credentials cluster-name プロジェクトの切り替え
  18. None
  19. None
  20. • GUIベースだと細かい設定を視覚的に出来る。

  21. Step2: GKEクラスタの作成 設定項目 ・名前 クラスタの名前を入力。変更不可。 ・ロケーションタイプ - 単一ゾーン - マルチゾーン

    - リージョン ・default-pool ノードを幾つ用意するかを設定。 デフォルトでは ノード数=3 に設定されている。
  22. ゾーン リージョン

  23. • 「クラスタの接続」では Cloud Shell, Cloud Consoleダッシュボードが選択出来る。

  24. • Cloud Shellを使えばCLIでも操作が出来る。

  25. • Cloud Consoleダッシュボードへ接続。

  26. • Kubernetesのバージョンもワンクリックで変更が可能。

  27. Step3: Nginxの作成 • # kubectl run pod-name –image=image-name –restart=Never 気軽にPodを立ち上げる事が出来るコマンド。

  28. • 左のメニューから「ワークロード」を選択し、デプロイをクリック。

  29. • イメージでnginxを選択しデプロイする。

  30. • 続いて公開をクリックし、サービスを作成する。

  31. • サービスのタイプは全3種。今回はロードバランサを選択しました。

  32. Step4: Monitoring Google Cloudのオペレーションスイート (旧称: Stackdriver) インフラストラクチャとアプリケーションのパフォーマンスを モニタリングしてトラブルシューティングを行いパフォーマンスを向上する。 主な機能 -

    Cloud Monitoring - Cloud Logging
  33. 通常のVMインスタンスの場合

  34. None
  35. Step4: Monitoring ・Kubernetes Engine MonitoringはGKEバージョン1.14からデフォルトで有効。 ・Kubernetes専用のモニタリングダッシュボード。 GKEにはCloud MonitoringとCloud Loggingのネイティブ統合が含まれている。 (統合を完全に無効化することも可能)

    ・有効にしてあると、Cloud Monitoringのダッシュボードに Kubernetes Engine Newという名前で表示される。
  36. None
  37. None
  38. None
  39. Namespace単位で リソースの確認 readinessProbeの確認

  40. • https://cloud.google.com/kubernetes- engine/docs/concepts/kubernetes-engine-overview?hl=ja 参考リンク

  41. Thank you for Listening !