血と汗となみだを流す

クラウドエンジニアになるための修業の場

Kubernetes Meetup Tokyo #10に参加して気になったことまとめ

個人の、気になったことのメモ書きなので正しくない部分が大いにあります。

間違っている点など、ご指摘頂けると助かります!


Open Service Broker APIKubernetes Service Catalog

データベースどのように作成しているか

  • managed service
  • vm上に自前に立てるなど
  • etc...

Service Broker

  • DBAとdeveloperの仲介をするAPIサーバ

Open Service Broker API

  • Cloud ControllerとService Brokerの間?
  • Cloud FoundaryとService Brokerの間?にあるAPI
    • Service Instance
      • developerが書く
    • Service Binding
      • Credentialsがsecretが格納されている

Kubernetes Service Catalog

  • APIserver Service Brokerの間にある
  • Service Bindingに対してsecret(credential)を渡す

Demo

  • Service Broker経由で

Kubernetesセキュリティベストプラクティス

トークンの奪取

ホストを攻撃

  • seccomp/AppArmor/SELinux
  • kubeletの権限を制限する
  • PodSecurityPolicy

トラフィックを傍受

  • サービス菅野プロキシ
  • 暗号化
  • 証明書の自動更新
  • ポリシーをセントラルサーバで集中管理

Debugging Applications in Kubernetes

発表資料

kubectlでのデバッグの基本

kubectl run

  • runコマンドでシェルをアタッチ
  • alpineならwgetが入っている(curlは無い)
  • --serviceaccount
  • --overrides
    • なんでも出来るオプション
    • JSON値での上書きが出来る
    • ホストのDockerを操作してrootにもなれる

      kubectl logs

  • ログの表示
  • --timestamp
    • ログをタイムスタンプつきで表示
  • wercer/stern
    • 複数のPodのログをまとめて表示できるツール

kubectl exec

  • コンテナ内で任意のコマンドを実行できる

kubectl port-foward

  • デバッグ用のポートなど、ローカルのみListenしているポートにアクセスできる
  • v1.10で、Service/Deploy指定もサポート

kubectl top nodes

  • ノード上のCPU,メモリ使用量が見える

PodとLinux名前空間

  • PIDはPod内で分離されている
  • デバッグにはNetwork,PIDの教諭が便利
  • 名前空間はpauseコンテナが保持
  • /proc/[PID]/rootでそのPIDがマウントしているルートが見れる
  • PID名前空間を共有していればアクセス可能

デバッグツールが含まれない場合

  • (資料に表がある)
  • docker runで他のコンテナと名前空間を共有

将来入りそうな便利機能

  • Pod間のPID名前空間を共有を設定可能にする機能

LT


『入門Kubernetes』の紹介 - dblmkt

  • 2018/3/22発売
  • 初めての人に向けた題目も有る
    • コンテナ/マイクロサービスのメリット
    • kubernetesの経緯など
  • 日本版独自の改善点
    • 原著は1.5、日本版は1.9に対応
    • サンプルファイルのリポジトリも1.9対応
  • オライリーから提供された本3冊プレゼント
    • まだ印刷されていないので来週お届け

PodでわかるPreemption - y_taka_23

  • 登壇者に猫耳がついてる
  • Priority/Preemptionの意義
    • 重要なPodがブロックされない
    • コストが予測可能になる

Amazon EKSデモ - riywo

  • コンテナを使う上でCodePipelineが重要
  • EKSはpreview
  • Tenet
  • PrivateLinkなどを利用して完全にクローズドな環境で作れる
  • kubectlの認証にIAMを使える
  • EFSをPersistent Volumeに使える

other ingress voyager - gavinzhm


DockerでHelmを使おう - ShoutaYoshikai

  • ローカルで開発でHelmを使うのよくない?
  • ミドルウェア管理がよい
  • ワンコマンドでシュッと入る
  • 本番がkubernetesでも本番にもHelmいれればよさそう