Slide 1

Slide 1 text

Masaya Aoyama CyberAgent amsy810 @amsy810

Slide 2

Slide 2 text

- Co-chair ੨ࢁ ਅ໵ + CREATIONLINE / DENSO - 技術アドバイザ + SAKURA Internet Research Center – 客員研究員 - Organizer - KaaS Product Owner - Publications Twitter: @amsy810

Slide 3

Slide 3 text

実際にはすべてが Kubernetes API 上のリソースとして表現されている Controllerの中⾝ = API の操作 + ロジック Controller の例 reconcile() { … } Controller ReplicaSet/Podの監視 Pod の制御 via API 運⽤のコード化

Slide 4

Slide 4 text

実際にはすべてが Kubernetes API 上のリソースとして表現されている Controllerの中⾝ = API の操作 + ロジック Controller の例 reconcile() { … } Controller ReplicaSet/Podの監視 Pod の制御 via API 運⽤のコード化 ๛෋ͳΤίγεςϜ ௥ՃϦιʔεͰ֦ுՄೳ

Slide 5

Slide 5 text

みなさん、 考えたことはありませんか︖

Slide 6

Slide 6 text

そしてすべてが Kubernetes マニフェストで 管理される

Slide 7

Slide 7 text

そしてすべてが Kubernetes-native になる

Slide 8

Slide 8 text

Kubernetes-native な CI/CD Kubernetes-native な Stateful App Kubernetes-native な Networking 1 2 3

Slide 9

Slide 9 text

課題 こうしたソフトウェアの使⽤感・運⽤感は ⼩規模なデモ環境だと予測しづらい

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

@zuiurs @amsy810

Slide 12

Slide 12 text

Kubernetes-native testbed for the future (still alpha release) https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 11 microservices

Slide 13

Slide 13 text

Kubernetes-native CI/CD Tekton, Kaniko, Harbor, Clair, ArgoCD

Slide 14

Slide 14 text

Kubernetes-native CI / CD

Slide 15

Slide 15 text

Kubernetes-native CI / CD Webhook を受ける Service が作成される

Slide 16

Slide 16 text

Kubernetes-native CI / CD Kubernetes. マニフェストで従来の CI ツールの yaml 相当の処理が記述可能

Slide 17

Slide 17 text

Kubernetes-native CI / CD CI では Kubernetes 上で コンテナイメージをビルドする Kaniko を利⽤

Slide 18

Slide 18 text

Kubernetes-native CI / CD Registry は Harbor を利⽤ Clair (Trivy) と連携した脆弱性スキャンに対応 Harbor Operator による管理も(TBR)

Slide 19

Slide 19 text

Kubernetes-native CI / CD Kubernetes 内部から 特定のリポジトリのマニフェストを適⽤

Slide 20

Slide 20 text

Kubernetes-native StatefulSet App by Operator Database, KVS, Message Queue, Storage

Slide 21

Slide 21 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Database - MySQL - PostgreSQL - TiDB - YugabyteDB - Cassandra - MongoDB - (Vitess)

Slide 22

Slide 22 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Database - MySQL - PostgreSQL - TiDB - YugabyteDB - Cassandra - MongoDB - (Vitess)

Slide 23

Slide 23 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 KVS - Memcached - Redis - TiKV

Slide 24

Slide 24 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 KVS - Memcached - Redis - TiKV

Slide 25

Slide 25 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Message Queue - NATS - Kafka - strimzi

Slide 26

Slide 26 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Message Queue - NATS - Kafka - strimzi

Slide 27

Slide 27 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Storages - Block - Shared FS - Rook/Ceph - Object - MinIO

Slide 28

Slide 28 text

Kubernetes-native stateful app by Operator https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Storages - Block - Shared FS - Rook/Ceph - Object - MinIO

Slide 29

Slide 29 text

Kubernetes-native Networking and gRPC-web / gRPC gRPC-web, gRPC, Contour, Cert-manager

Slide 30

Slide 30 text

gRPC-web and gRPC Communication https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 gRPC / gRPC-web では Server-Server / Client-Server 間を IDL で定義した Interface を利⽤可能 gRPC-web に対応している Envoy ベースの Contour を利⽤

Slide 31

Slide 31 text

Contour namespace delegation https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 各 Namespace (チーム) に 特定のパス以下の設定を委譲

Slide 32

Slide 32 text

Automated Certificate Management https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000 Cert-manager が Ingress リソースを⾃動作成して ACME HTTP Challenge を利⽤して 証明書を⾃動発⾏

Slide 33

Slide 33 text

そしてすべてが Kubernetes-native になる (管理系統・運⽤をKubernetesに寄せたいお気持ち) 詳細︓https://employment.en-japan.com/engineerhub/entry/2020/04/16/103000

Slide 34

Slide 34 text

Thank you for your attention Twitter: @amsy810