wantedly / microservices_monday

Monday is a good day to talk about Microservices
30 stars 1 forks source link

2018-06-04 Microservices Monday #3

Closed luvtechno closed 6 years ago

luvtechno commented 6 years ago

2018-06-04 19:00~20:00

Microservices Mondayは、マイクロサービスに関連する話を気軽に共有する会です。毎週月曜日に開催されます。

社外からの参加を想定しているため、レポジトリはpublicになっています。

次のようなポリシーを掲げて開催しています。

話したい・聞きたいネタを書いていきます ✏️

ハッシュタグ #microservices_monday

bgpat commented 6 years ago

Container SIG Meet-up 2018 Summer まとめ

Kubernetes/OpenShiftのServiceとかIngressとかRouteとかのお話 https://drive.google.com/file/d/1ZuJiUY2MppzzTLjHRMF3L93-Emd5Yh5V/view

おすすめ記事らしい → https://developers.cyberagent.co.jp/blog/archives/14477/

ノードダウン時
ダウン検知までデフォルト40秒
ハズレpodに当たった -> refused だったり 無応答だったり
kubelet が pod のヘルスチェック
ノードダウンするとヘルスチェックも止まる
 **ノードが死んでもロードバランスされ続ける**
serviceIPの障害検知
=> **短いコネクションのタイムアウトと複数回リトライを実装する** or **サービスメッシュを使う**
1, 2 回つながらない程度でservice down になるとリソースがもったいない
circuit breaker の設定に注意
serviceIP の前に load balancer => 503
HAProxyはserviceIP使わない、直接podに

Istioが拓く次のフェーズ 〜KubernetesもCloud FoundryもIstioで〜(仮)

20分でわかる gVisor 入門

Docker カーネルは共有
ネームスペースを切っているだけ
container != sandbox

DirtyCow コンテナから脱獄
Spectre/Meltdown ホストカーネルメモリ漏洩

rule base access control
- seccomp
- SELinux
- AppArmor
オーバーヘッドは0だが正確なポリシー設定が必要

VM
セキュリティ性能は高い、オーバーヘッドが大きい

gVisor
user land guest kernel
trace, KVM が使える
Docker or Kubernetes, runs

runs -> runsc に置き換える
up overhead 150ms
memory overhead 15MB
seccomp でフィルタリング + Sentry で変換
filesystem: Gofer

- セキュリティ面は向上
    - VM相当のプロセス隔離
- エミュレーションによるパフォーマンス劣化
    - アプリケーションの互換性が低下
    - 頻繁にシステムコールを呼ぶアプリケーションでは使いにくい

trace -> KVM に置き換えようとしている
が、まだパフォーマンスに差はない

未実装のシステムコールも多い
SOCK_RAW (ping) が動かない
SystemV 共有メモリ 使えない
GPU非対応

LT

rootlessコンテナについて

rootlessコンテナについて

コンテナはほんとに安全?
ランタイムとかオーケストレータのバグの話
- Kubernetes
- Docker
- runc

- コンテナに複数のUID/GIDを割り当てる
  - SUIDビット
  - ptrace
- ルーティング
- cgroupsの設定
- CoW fs
  - overlayfs は ubuntu なら動く

=> https://github.com/rootless-containers

systemd-nspawn の話

systems-nspawn
SysV -> 物理

rsync 使ってファイルシステムの同期
iptables の LOG は使えない -> nflog
machinectl -> nsenter で無理やりログインする

Docker と make の話

docker build に make を使う
LABELつかってる?
inspect でメタデータ見れる
log-out でログに出力できる
k8sではサポートされていない
cAdvisor は label に対応しているのでかろうじて使える?

使い方
—build-arg でわたす

makeの実行環境としてDockerを使う
makeはコンテナの中で行う
jenkins

メリット:
- 環境構築が楽
- 環境差分抑えられる(CI、エンジニア)
- 置き換えも楽そう(きっと)

Rancher2.0 リリース

RancherJP
Rancher2.0
k8s ベースになった
luvtechno commented 6 years ago

ツイートして盛り上がってる感だしたい #microservices_monday (長い)

izumin5210 commented 6 years ago

https://hackernoon.com/the-microservice-weekly-134-may-30-2018-2d160f4e0a33

bgpat commented 6 years ago

CNCF Meetup #2

SkaffoldでKubernetesネイティブな開発環境を作ってみた Hiroshi Hayakawa

(Oracle) scaffold k8s に載せるアプリの開発を省力化してくれるCLIツール near: draft, keel docker push 省略できる fg でログを垂れ流してくれる 中でhelm を使っている devサーバーみたいにサーバーを hot reload してくれる kubectl も使える デプロイする manifests: [“k8s-*”] みたいにファイルを指定できる kaniko 対応 サーバーサイドエンジニアがマニフェスト書かないといけない ドキュメントが見つけづらい、exampleみるしかない?

コンテナネイティブなワークフローエンジン Argo Wataru Matsui

(さび開発) Argo いろんなワークフローエンジンがある CRDで構築されている project

Introduction to Kubeflow 0.1 and future Masaya Aoyama

https://speakerdeck.com/masayaaoyama/introduction-to-kubeflow-0-dot-1-and-future-at-cloud-native-meetup-tokyo-number-2 (CyberAgent) kubeflow ML TensorFlow support 分散処理できる jupiterhub + TensorFlow (+ seldon) jupyterhub: 複数人で使えるように image は自分で用意する必要がある Argoと組み合わせれば幸せになれそう sonnet を使う

south37 commented 6 years ago

補足: google が kubeflow 0.1 のリリースを announce

https://techcrunch.com/2018/05/04/google-kubeflow-machine-learning-for-kubernetes-begins-to-take-shape/

luvtechno commented 6 years ago

kubeflowの文脈で話した

https://github.com/jupyterhub/jupyterhub 便利そう

Altech commented 6 years ago

Cloud Pub/Sub を使って大量の通知を安定的に送信する

koudaiii commented 6 years ago

Cherami: Uber Engineering’s Durable and Scalable Task Queue in Go

AWS SQS みたいなものを実装した話。同時書き込みや failover までも自分たちでハンドリングしている。

luvtechno commented 6 years ago

次回 → https://github.com/wantedly/microservices_monday/issues/4