Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GKE始めるにあたって 最初に知っておきたかったこと - 酔いどれGCPUG 2018/03/02

K.Himeno
March 04, 2018

GKE始めるにあたって 最初に知っておきたかったこと - 酔いどれGCPUG 2018/03/02

ブログに話しきれなかったことを書いています。
https://goo.gl/h7V2gT

2018/03/02(金) 酔いどれGCPUGでLTした内容になります。
https://gcpug-tokyo.connpass.com/event/78667/presentation/

K.Himeno

March 04, 2018
Tweet

More Decks by K.Himeno

Other Decks in Technology

Transcript

  1. • 姫野 滉盛 • Github@Himenon • Twitter@himenoglyph • レバレジーズ株式会社 新卒1年目

    • WEBエンジニア • データ収集・分析基盤作ってる(Python) ← GCPでやった! • 趣味 • カメラ • イベント参加(今年度だけで36個に参加) 自己紹介 2 あなたは誰?
  2. 1 Helm 2 組み合わせ 3 周辺ツール 4 情報源 アジェンダ 3 はじめに ランキングにGCP周りのサービス名が入っていませんが、それぞれの説明の中でGCPのサー ビスが登場します。 注意書き

    ・GCPを触って4ヶ月目に入るのですが、間違っている箇所があればコメントをいただけれ ば幸いです。 ・また、もっといいやり方があれば、ぜひ教えてください。大歓迎です!!! ・大事なことですが、このスライドの情報は筆者が2018年の3月2日までの情報を整理した ものになっているので、これのスライドを未来に呼んだ場合情報が古くなっている可能性が 極めて高いです。 ・誤植などありましたら、Twitter(@himenoglyph)までご連絡下さい。
  3. デフォルト設定では、 kubectl config set-context helm init helm create postgres とするだけで、postgresが

    GKE上に立ち上がる。 設定値を変更するときは helm upgrade -f value.yaml とする Kubernetesのパッケージマネージャ 5 https://docs.helm.sh/ https://github.com/kubernetes/helm https://github.com/kubernetes/charts
  4. bitnamiというパッケージ管 理システムがあります。 パッケージ化されたアプリ ケーションのデプロイを簡 単にやってくれます。 Cabinというアプリに関して は、自分でホスティングし たhelm chartsを呼び出すこ とで、自作のContainerを

    Kubernetesに載せることが できます。 bitnamiとは? 6 https://bitnami.com/ Cabin - Manage Kubernetes https://kubeapps.com/ 追記:bitnamiはcncfのメンバーだそうです。
 https://www.cncf.io/about/members/
  5. 例 Githubにpushしたタイミン グで、Container Builderで コンテナをビルドしたら、 Slackに通知する。 コレだけのために3つサービ スを使います。 ・Cloud Functions

    ・Cloud Pub/Sub ・Container Engine 幸い、チュートリアルがある ので、やることをおすすめ! Container Builder x Cloud Function x Pub/Sub 8 https://cloud.google.com/container-builder/docs/tutorials/configuring-third-party-notifications?hl=ja
  6. helmはWEB上にホスティングす ることができます。 helm repo add [name] [url] ただ、PublicのURLだと、誰もが 見れてしまう状態になってしまい ます。

    Cloud Storageに保管すると、 Privateにホスティングできます。 アクセスするときは、SAを発行し て、gcloudコマンドで認証を通し てから行います。 helmのPrivateホスティング 9 https://github.com/viglesiasce/helm-gcs 非公式ではありますが、helm-gcsという非公式ではありますが、 helmの拡張機能があります。これを参考にシェルスクリプトを作れ ます。 ※100行もないので、さくっと読めます。
  7. 公式チュートリアルとしては 「Google Kubernetes Engineから接続する」があり ます。 もっと楽な方法で、helmで提 供されているgcloud-sqlproxy を使うと非常に楽です。 ※Cloud SQLの罠

    WEBインター フェースから作っ たユーザーはroot権限と同等 (MySQLで確認) KubernetesとCloud SQLの連携 10 https://github.com/kubernetes/charts/tree/master/stable/gcloud-sqlproxy helmを使うと、インストールは $ helm install -f values.yaml stable/gcloud-sqlproxy でGKE上にProxyが立ち上がります。values.yamlは設定ファイル。
  8. GCPが提供しているチュー トリアルと、Kubernetes が提供しているチュートリア ルがあります。 GCPで注意すべきことは hl=en で学んだほうが確実だとい うことです。 Kubernetes Tutorial

    17 https://cloud.google.com/kubernetes-engine/docs/quickstart?hl=en https://cloud.google.com/kubernetes-engine/docs/quickstart?hl=en https://kubernetes.io/docs/tutorials/
  9. KubernetesのAPI OVERVIEWというページが 有ることは知っていたのです が、 kubect patch -h でヘルプに書いてあったTop Level API

    Objectsというペー ジが ・軽くて ・検索しやすく ・端的にまとまっている のでおすすめします。 全体感の把握にも使えます。 k8s: マニフェストのパラメータを全部確認したい 18 https://htmlpreview.github.io/?https://github.com/kubernetes/kubernetes/blob/HEAD/docs/api-reference/v1/definitions.html https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/