Posted at

Google Cloud Next 19のKubernetes Bootcamp に参加した

https://cloud.withgoogle.com/next/tokyo/sessions?session=D0-1-B11

に参加しました。メモとスピーカーの方への質問とその回答です。


メモ


  • Node: コンピューティングするやつ

  • MasterノードにPodを配置する

  • クラスタ: MasterとNodes

  • コンテナ:コンテナ

  • Pod:コンテナを束ねたもの

  • ReplicaSet: Podの数をコントロールする

  • Deployment: 複数のPodとその数を管理


    • ローリングデプロイ

    • カナリヤデプロイ

    • Blue Greenデプロイ




  • Service: k8sで提供されている機能LBとか


    • LB podにアクセス割り振る IPをノードと別に持つ

    • Nodeport Nodeのポートを開ける FWをOPENする必要あり



  • kubelet: 監視とかするやつ


  • Volume: mount可能なにか


  • ConfigMap: NginxのコンフィグとかおくVolume


  • Secret: Passwordとか秘匿したいものを管理するVolume



  • プリエンティブをONにすると安価に検証可能


    • 1/24 Hの頻度で削除される

    • GKEだと勝手に再起動されるので、使い方次第でとても安くなるよ




  • auto upgrade


    • 自動的にクラスタ更新



  • Helm: kubenetes Appのパケ―ジャー


  • spinnaker: 継続的デプロイの管理画面。GKEつかうなら必要そう



FAQ

監視メトリクスはどこで閲覧できる?


  • kubenetes monitoringをONにするといいよ

  • アラートに遅延があるよ

  • Datadogおすすめ

ログ集約は?


  • Logging はStackdriverがいいよ

Cloud SQLとはどうやって統合する?


  • Cloud SQL Proxy Container / IPでも通信可能

リージョンまたいだ管理は可能?


  • GKEではできない

  • kubeフェデレーションでできるかも

サービスによって公開されたIPをDNSに登録するには?


  • GKEから払い出された IPを付与する


    • IP自体を先に取得すべし



LB自体の冗長化考えなくていい?


  • 考えなくていい

  • RTPみたいな長いセッションの通信に対してAutoscaleさせるには?


    • セッションの長通信には向いていない-> スケールを諦めればできるよ



LetsEncryptで証明書取得したいけどどう対処すべき?


  • GKE上のCronjobでできるはずだよ

  • Secretに入れるのがいいよ

Blue Green デプロイではリソース使用量が一時的に大きくなりそうだけど?


  • NodeのAutoScaleで対応可能

  • Scaleinは時間時間かかるよ

argsはdocker runの引数と同じ?


  • そう

kubenetes.yamlに環境変数埋め込める?


  • ENVでしらべるとわかるよ

CLIを自動化する方法はある


  • Terraform

カナリヤデプロイの割合を変更できる?


  • istioつかうらしい

ヘルスチェックを利用するならばアプリケーションにエンドポイントを作成する必要がある?


  • ある

アプリケーションの性能が低下した場合k8sではどう対応するべき?


  • HorizontalPodAutoscaler

クラスタのインスタンスサイズは自動的に変更される?


  • 最初に決定されるらしい

  • auto provisioningで最適化されるよ

マスターとノードのインスタンスサイズはどう決定される?


  • 最初に設定されるらしい -> auto provisioning

開発とステージングとと本番はどう分けるべきか?


  • ラベルで制御するのが良いよ


    • env: production, staging




思いつき


  • docker コマンドとkubectlコマンドの比較表作ったらおもしろいか