GoogleKubernetesEngine is very easy

GoogleKubernetesEngine is very easy

GoogleKubernetesEngine is very easy to try k8s

489c0cff8620fc1f932697702406989b?s=128

khdd-mks

May 29, 2019
Tweet

Transcript

  1. Google Kubernetes Engine でお手軽k8s生活 2019/05/29 fun-tech #10 @khdd-mks

  2. 自己紹介 ・北島久資 (@khdd-mks) ・オープンストリーム所属 アーキテクト ・ fun-tech 運営 ・ Kubernetes

    歴 1 年程度 Kubernetes 業務歴 0 日
  3. Google Kubernetes Engine ( 以下 GKE)

  4. の前に

  5. Google Cloud Platform ( 以下 GCP)

  6. None
  7. GCP ・ Google が提供しているクラウドサービス ・ Google という巨大サービスと同等の技術・インフラを用いているため 高可用性・高信頼性等が期待できる ・他のクラウドサービスにもあるような様々なサービスが存在するが、 特に自社のノウハウを生かしたビッグデータ分析基盤

    (BigQuery) 等が特徴
  8. GCPの簡易歴史 2008 GAE (Google App Engine) サービス開始 2010 〜 2012

    いくつかの IaaS, SaaS 等がサービス開始 2013 運営中のサービスを統一し、名称を GCP に変更 2014 Google が Kubernetes を発表し、そのマネージドサービスである Google Container Engine もサービス開始 2016 東京リージョン開設 2017 Google Container Engine の名称を Google Kubernetes Engine に変更
  9. あらためて本題の GKE

  10. None
  11. GKE ・ GCP 上で提供される Kubernetes のマネージドサービス ・マスター・ワーカーノード共に管理してくれる ( しかもマスターは課金されない! )

    ・通常の Kubernetes とほぼ同じように (kubectl で ) 操作可能
  12. GKE ・ GCP 上で提供される Kubernetes のマネージドサービス ・マスター・ワーカーノード共に管理してくれる ( しかもマスターは課金されない! )

    ・通常の Kubernetes とほぼ同じように (kubectl で ) 操作可能 最大のお手軽ポイント
  13. とりあえずクラスタを作成してみる

  14. None
  15. しばらく待つとクラスタ作成完了

  16. 作成したクラスタを使ってみる

  17. # kubectl 用の認証情報を保存 $ gcloud container clusters get-credentials [CLUSTER_NAME] #

    後は普通に kubectl で操作可能 $ kubectl get nodes NAME STATUS ROLES AGE VERSION gke-[cluster-name]-default-pool-0123456-abcdef Ready <none> 8m3s v1.12.7-gke.10 gke-[cluster-name]-default-pool-1234567-abcdef Ready <none> 8m v1.12.7-gke.10 gke-[cluster-name]-default-pool-2345678-abcdef Ready <none> 8m4s v1.12.7-gke.10 gke-[cluster-name]-default-pool-3456789-abcdef Ready <none> 8m1s v1.12.7-gke.10 gke-[cluster-name]-default-pool-4567890-abcdef Ready <none> 8m5s v1.12.7-gke.10 gke-[cluster-name]-default-pool-5678901-abcdef Ready <none> 8m7s v1.12.7-gke.10 ※ GKE の場合、マスターノードの情報が kubectl get nodes の結果に含まれていない
  18. 自力でクラスタ構築するのに比べて どのくらいお手軽なの?

  19. 自力で構築する場合 1. Docker のインストール 2. kubeadm, kubelet, kubectl のインストール 3.

    cgroup ドライバの設定 4. マスター用のロードバランサーを用意 5. マスターの 1 台で kubeadm init 6. マスターの残りに、 5. で作成された認証情報をコピー 7. マスターの残りで、 kubeadm join --experimental-control-plane ↑ここまででようやくマスターの構築完了 8. ワーカーノードで kubeadm join 9. Pod ネットワークのインストール
  20. 自力で構築する場合 1. Docker のインストール 2. kubeadm, kubelet, kubectl のインストール 3.

    cgroup ドライバの設定 4. マスター用のロードバランサーを用意 5. マスターの 1 台で kubeadm init 6. マスターの残りに、 5. で作成された認証情報をコピー 7. マスターの残りで、 kubeadm join --experimental-control-plane ↑ここまででようやくマスターの構築完了 8. ワーカーで kubeadm join 9. Pod ネットワークのインストール に加えて 全サーバーの死活監視を個別に実施し ダウン時等の自動復旧の仕組みを構築する必要がある
  21. GKE はこれを 自動でやってくれている ので 非常にお手軽

  22. その他自力構築との違い type: LoadBalancer の Service

  23. type: LoadBalancer の Service type: LoadBalancer の Service を作成しても、通常の Kubernetes

    では何も起きない。 GKE クラスタ上で作成した場合は、自動的に GCLB(Google Cloud Load Balancing) が作成され、紐付けが行われる。
  24. 時間があればデモ

  25. まとめ ・ GKE は構築も運用監視も全部よしなにやってくれるので非常にお手軽 ・操作方法も通常の k8s とほぼ同じなのでお手軽 ・とりあえず k8s やるときにオススメ

  26. ご清聴ありがとうございました