Submit Search
Upload
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
•
5 likes
•
1,181 views
YASUKAZU NAGATOMI
Follow
Cloud-Native Online #03 https://cnjp.connpass.com/event/142769/
Read less
Read more
Technology
Report
Share
Report
Share
1 of 48
Recommended
コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
YASUKAZU NAGATOMI
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
YASUKAZU NAGATOMI
ざっくり始めるCloud Native開発
ざっくり始めるCloud Native開発
YASUKAZU NAGATOMI
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
Kazuto Kusama
Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会
Hiroshi Hayakawa
新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた
Kazuto Kusama
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したい
zaru sakuraba
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
Recommended
コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
YASUKAZU NAGATOMI
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
YASUKAZU NAGATOMI
ざっくり始めるCloud Native開発
ざっくり始めるCloud Native開発
YASUKAZU NAGATOMI
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
Kazuto Kusama
Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会
Hiroshi Hayakawa
新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた
Kazuto Kusama
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したい
zaru sakuraba
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
Spring native について
Spring native について
Takamasa Mitsuji
知って欲しいPaaSの話
知って欲しいPaaSの話
Kazuto Kusama
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
Kazuto Kusama
Lattice深掘り話
Lattice深掘り話
Kazuto Kusama
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
Infrastrucure as a CodeにおけるJenkinsの役割
Infrastrucure as a CodeにおけるJenkinsの役割
Takashi Honda
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
Tsukasa Kato
クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?
Kazuto Kusama
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
Yuji Oshima
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
Yuji Oshima
はじめてのCF buildpack
はじめてのCF buildpack
Kazuto Kusama
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!
Samir Hammoudi
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
Kazuto Kusama
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Kazuto Kusama
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
祐磨 堀
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
CFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service Broker
Kazuto Kusama
Fcp
Fcp
Naoto TAKAHASHI
runC概要と使い方
runC概要と使い方
Yuji Oshima
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019 Winter version and Knative
Masahito Zembutsu
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
More Related Content
What's hot
Spring native について
Spring native について
Takamasa Mitsuji
知って欲しいPaaSの話
知って欲しいPaaSの話
Kazuto Kusama
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
Kazuto Kusama
Lattice深掘り話
Lattice深掘り話
Kazuto Kusama
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
Infrastrucure as a CodeにおけるJenkinsの役割
Infrastrucure as a CodeにおけるJenkinsの役割
Takashi Honda
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
Tsukasa Kato
クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?
Kazuto Kusama
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
Yuji Oshima
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
Yuji Oshima
はじめてのCF buildpack
はじめてのCF buildpack
Kazuto Kusama
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!
Samir Hammoudi
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
Kazuto Kusama
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Kazuto Kusama
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
祐磨 堀
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
CFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service Broker
Kazuto Kusama
Fcp
Fcp
Naoto TAKAHASHI
runC概要と使い方
runC概要と使い方
Yuji Oshima
What's hot
(20)
Spring native について
Spring native について
知って欲しいPaaSの話
知って欲しいPaaSの話
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
Lattice深掘り話
Lattice深掘り話
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Infrastrucure as a CodeにおけるJenkinsの役割
Infrastrucure as a CodeにおけるJenkinsの役割
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
はじめてのCF buildpack
はじめてのCF buildpack
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
CFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service Broker
Fcp
Fcp
runC概要と使い方
runC概要と使い方
Similar to Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019 Winter version and Knative
Masahito Zembutsu
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
SpringベースのCloud Native Application
SpringベースのCloud Native Application
土岐 孝平
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
VirtualTech Japan Inc.
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Etsuji Nakai
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
Koto Shigeru
クラウド+コンテナで作る簡単Webアプリケーション
クラウド+コンテナで作る簡単Webアプリケーション
Tsukasa Kato
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, Network
Kuma Arakawa
Spinnakerを使ったk8s自動化
Spinnakerを使ったk8s自動化
Satoru Yamamoto
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
Developers Summit
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)
Takayoshi Tanaka
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
Go Chiba
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Hiroshi Hayakawa
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
bitbank, Inc. Tokyo, Japan
少人数チームでのkubernetesへの移行事例
少人数チームでのkubernetesへの移行事例
Rakuten Group, Inc.
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
whywaita
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷
KLab Inc. / Tech
Azure Antenna AI 概要
Azure Antenna AI 概要
Miho Yamamoto
Similar to Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
(20)
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019 Winter version and Knative
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
SpringベースのCloud Native Application
SpringベースのCloud Native Application
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
クラウド+コンテナで作る簡単Webアプリケーション
クラウド+コンテナで作る簡単Webアプリケーション
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, Network
Spinnakerを使ったk8s自動化
Spinnakerを使ったk8s自動化
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
少人数チームでのkubernetesへの移行事例
少人数チームでのkubernetesへの移行事例
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷
Azure Antenna AI 概要
Azure Antenna AI 概要
More from YASUKAZU NAGATOMI
RancherとGitOps的な話
RancherとGitOps的な話
YASUKAZU NAGATOMI
コンテナイメージの脆弱性スキャンについて
コンテナイメージの脆弱性スキャンについて
YASUKAZU NAGATOMI
オンプレ Rancher Server × ML基盤 をはじめます
オンプレ Rancher Server × ML基盤 をはじめます
YASUKAZU NAGATOMI
オンプレでPrivate Registry使ったDockerイメージの運用について
オンプレでPrivate Registry使ったDockerイメージの運用について
YASUKAZU NAGATOMI
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
YASUKAZU NAGATOMI
データ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみた
YASUKAZU NAGATOMI
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
YASUKAZU NAGATOMI
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
YASUKAZU NAGATOMI
redashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレや
YASUKAZU NAGATOMI
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
YASUKAZU NAGATOMI
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
YASUKAZU NAGATOMI
PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実
YASUKAZU NAGATOMI
プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!
YASUKAZU NAGATOMI
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?
YASUKAZU NAGATOMI
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
YASUKAZU NAGATOMI
More from YASUKAZU NAGATOMI
(15)
RancherとGitOps的な話
RancherとGitOps的な話
コンテナイメージの脆弱性スキャンについて
コンテナイメージの脆弱性スキャンについて
オンプレ Rancher Server × ML基盤 をはじめます
オンプレ Rancher Server × ML基盤 をはじめます
オンプレでPrivate Registry使ったDockerイメージの運用について
オンプレでPrivate Registry使ったDockerイメージの運用について
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
データ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみた
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
redashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレや
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実
プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
1.
Cloud Native をやっていくには どう学んでいくかをみんなで考えてみる Cloud
Native JP Online #03 やっさん @yassan168
2.
Profile: Name: 'やっさん' Company: 'MicroAd,inc.' Location:
'Kyoto' Role: - 'Infrastructure Engineer (Hadoop/Container)', - 'Rancher JP Organizer', - 'Cloud Native JP Organizer', Favorites: [ '美味い日本酒', 'Craft Beer', 'Terrarium'] SocialMedia: - Twitter: '@yassan168' - GitHub: 'yassan'
3.
#cnjp 想定している人 以下な開発者 • docker-composeならまぁ使ってるよって人 • Kubernetes
とか Cloud Nativeな開発にピンと来ない • それ美味しいの?
4.
Cloud Nativeってなんだろう?
5.
#cnjp Cloud Native って何? Cloud
Native = Kubernetes Cloud Native = Microservice
6.
#cnjp 詳しくはこの辺を読むと分かります(ぁ 『コンテナ疲れ』と戦う、 k8s・PaaS・Serverlessの活用法 飛び込もう、Cloud Nativeの世界
7.
#cnjp Cloud Native って何? Cloud
Native ≠ Kubernetes Cloud Native ≠ Microservice
8.
#cnjp Cloud Nativeって何?~ CNCFによるCloud
Nativeの定義~ Cloud Native技術は、Public Cloud、Private Cloud、Hybrid Cloud等の 近代的でダイナミックな環境において、スケーラブルなアプリケーション を 構築 及び 実行する為 の能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、 マイクロサービス、イミューダブルインフラストラクチャ、 および宣言型APIがあります。 これらの手法により、回復性、管理力、および可観測性のある疎結合シス テムが実現します。 これらを堅牢な自動化と組み合わせる事で、 エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測通りに 行う事が出来ます。
9.
#cnjp Cloud Native技術がもたらすもの Cloud Native技術により以下を実現。 →回復性、管理力、及び可観測性のある疎結合システム 更に、 Cloud
Native技術+堅牢な自動化 インパクトのある変更を 最小限の労力で頻繁 かつ予測通りに行う事が出来る
10.
#cnjp Cloud Native技術がもたらすもの Cloud Native技術により以下を実現。 →回復性、管理力、及び可観測性のある疎結合システム 更に、 Cloud
Native技術+堅牢な自動化 インパクトのある変更を 最小限の労力で頻繁 かつ予測通りに行う事が出来る ここ大事
11.
#cnjp Cloud Native技術がもたらすもの Cloud Native技術により 近代的でダイナミックな環境(インフラ)で、 スケーラブルな開発が出来る能力を組織にもたらす。
12.
#cnjp Cloud Native技術がもたらすもの Cloud Native技術により 近代的でダイナミックな環境(インフラ)で、 スケーラブルな開発が出来る能力を組織にもたらす。 これが前提 つまり、いわゆる、クラウド。 もしくは、それに相当するオンプレのインフラ。
13.
#cnjp つまり。。。 人間の関与を排除したクラウド(又はそれに近い)環境で Cloud Native技術を用いる事で、 1日に10回20回リリース出来るようになります。
14.
#cnjp 「人間の関与を排除する」? Kubernetes 完全ガイド(P.424)でも以下の記述があります。 実際に運用を行う際には手動でのkubectlコマンドの実行は、可能な限り 避けるべきです。それは、ヒューマンエラーの発生や管理できる規模が スケールしないといった課題があるからです。 そのため、一般的には自動でCD/CIを行う一連の流れ(パイプライン)を 構築する方法が推奨されてます。 ファイルベースで運用する時点でGitなどで管理が必要なのは自明だと思 います。
15.
#cnjp 「人間の関与を排除する」? 例えば、Kubernetesは、YAMLで記述したmanifestファイルを元に kubectlコマンド用いてAPIに登録する事でインフラ構成を更新します。 つまり、クラスタ構成をコードで管理する。 • バージョン管理して、更新履歴を追跡可能にする • クラスタへのオペレーションはコードの変更により実施する事で環境 を一意に保つ manifest (YAML) kubectl
16.
#cnjp 例えば、GitOpsとか • Weaveworks社が提唱するk8sの継続的デリバリ手法の一つ • Gitでバージョン管理されたManifestをSingle
Source Of Truth(信頼 できる情報源)とする cf. Kubernetes anti-patterns: Let’s do GitOps, not CIOps!
17.
GitOps? Kubernetesで作るコンテナベース CI★CDの夕べ /
ochacafe#1 - Speaker Deck とても分かりやすい のでオススメです!
18.
#cnjp GitOps Tools 個人的には Argo CD推し Continuous
Delivery | Argo CI/CDツール • Jenkins、CircleCI、Wercker、Concourse manifestのテンプレートエンジン・manifest管理ツール • Helm、Ksonnet、Kustomize CD特化(差分検出と反映) • ArgoCD、Weave Flux、Spinnaker
19.
#cnjp Secretはどうするか? GitOpsする場合、接続情報などのクレデンシャルを平文でGitリポジトリ にコミット!何て訳にもいかないし、デフォルトなのはBase64だし。。 例えば、以下で解決とか? • bitnami-labs/sealed-secrets • SecretをGitHubに登録したくないのでSealedSecretを使う
- Qiita • Vault by HashiCorp • Kubernetesクラスタの自動管理システムのつくりかた - Speaker Deck
20.
どうやって始めるか?
21.
#cnjp どこから始めるか? Cloud Native Trail
Map を 参考に段階的に始めていくと良いです。 一足飛びでk8sなんて無理です。 ダメ。絶対。 どんなものがあるかは以下を参照 cf. Cloud Native プロダクト 1000本ノック cf. CNCF サンドボックスプロダクト17本ノック!
22.
#cnjp 本から学ぶには みんな観点が違うので全部読もう(1→2or3の順で読んで4・5を並列で読むと良さそう) 1. Docker/Kubernetes 実践コンテナ開発入門(段階的に理解できるのでむっちゃオススメ) 2.
Kubernetes完全ガイド(k8sの説明書) ※Kindle版が今50%OFF 3. Kubernetes実践ガイド(k8sの説明書&実践的な内容まで幅が広い) 4. みんなのDocker/Kubernetes(事例や本番運用する際にありがちな疑問点の解説) 5. Kubernetes実践入門(実際に開発する為に必要になってくる話題を深堀) すぐに陳腐化するのでやるなら今! 現状の内容は書籍化されていても、後からでは中身が古くなってしまい、差分を確認しながらになってしまう可能 性がある。以下の良書がすぐにアップデートされる保証は無いので…。
23.
どう設計するか?
24.
#cnjp アプリの実装はどうするか? モノリシックなアーキテクチャのままDockerfileを書くと 巨大なDockerイメージが出来てしまい、デプロイやアプリの立ち上がり に支障をきたします。 その為、 DockerのMulti-Stage Buildを使ってアプリの生成を分けたり、 ベースのイメージをより小さいものを選択する事でイメージの最小化に努 め、更にTwelve-Factor Appを参考にアプリ設計も作り変える必要があり ます。
25.
Twelve-Factor Appのおさらい 1. コードベース バージョン管理されている1つのコードベースと複数のデプロイ 2.
依存関係 依存関係を明示的に宣言し分離する 3. 設定 設定を環境変数に格納する 4. バックエンドサービス バックエンドサービスをアタッチされたリソースとして扱う 5. ビルド、リリース、実行 ビルド、リリース、実行の3つのステージを厳密に分離する 6. プロセス アプリケーションを1つもしくは複数のステートレスなプロセスとし て実行する 7. ポートバインディング ポートバインディングを通してサービスを公開する 8. 並行性 プロセスモデルによってスケールアウトする 9. 廃棄容易性 高速な起動とグレースフルシャットダウンで堅牢性を最大化する 10. 開発/本番一致 開発、ステージング、本番環境をできるだけ一致させた状態を保つ 11. ログ ログをイベントストリームとして扱う 12. 管理プロセス 管理タスクを1回限りのプロセスとして実行する The Twelve-Factor App (日本語訳)
26.
#cnjp Twelve-Factor Appのおさらい CloudNativeDays Tokyo
2019では、自社のk8s向けに独自の原則の紹介 もありました。 k8s - Kubernetes 8 Factors (Kubernetesクラスタのポータビリティを保つための8原則)- Speaker Deck
27.
#cnjp Cloud Nativeな設計とは? コンテナベースの開発向け デザインパターンがあります。 Designing Distributed
Systems E-Book | Microsoft Azure (無料でDL可能) 日本語訳もあります! 分散システムデザインパターン ―コンテナを使ったス ケーラブルなサービスの設計
28.
#cnjp Cloud Nativeな設計とは? また、Brendan BurnsさんのGithubリポジトリ brendandburns/designing-distributed-systems-labsに、 各パターンの一部をAzureでお試し出来る手引きまであります。
29.
Designing Distributed Systems •
Single-Node Patterns • The Sidecar Pattern • Ambassadors • Adapters • Serving Patterns • Replicated Load-Balanced Services • Shared Services • Scatter/Gather • Functions and Event-Driven Processing • Ownership Election • Batch Computational Patterns • Work Queue Systems • Event-Driven Batch Processing • Coordinated Batch Processing 書籍で紹介されているパターンは以下
30.
そのうち良く見聞きするパターン Single-Node Patterns
31.
#cnjp Sidecar Pattern Sidecar Pattern
は、共有Volumeを中継して、Sidecarが主コンテナを補 助する。 例えば、外部とSidecarが同期して 変更があれば、App側の更新をかける 利点:AppとSidecarで責務を分離 AppはAppの責務だけに集中出来る Config Manager Sidecar Cloud Config Service App 共有Volume Config File 1. 同期 3. シグナル 2. Update 4. Read
32.
#cnjp Ambassadors 主コンテナの代わりに通信を 肩代わりするコンテナを配置。 利点: Appは自分の責務に集中 通信はAmbassadorに丸投げOK MySQL Service Broker Ambassador App 接続 localhost:3306 Service Brocker MySQL Service Broker Ambassador App 接続 localhost:3306 MySQL サービスへ Service
Brocker MySQL インスタンス MySQL Service Broker Ambassador App 接続 localhost:3306 接続
33.
#cnjp コンテナグループ Adapters Ambassadorとは違い、 Appに合わせたAdapterを用意し、 Adapterは共通の外部I/Fと橋渡しを行 う。 Adapterはモニタリングのみ行う。 モニタ対象となるAppは複数種類でも良 い。 利点: • 外部I/Fを共通化 • Appは自分の責務に集中 外部 Consumer Adapter App 2 外部 I/F コンテナグループ AdapterApp 外部 I/F
34.
#cnjp Kubernetesで実装するには? Kubernetes完全ガイドの以下の章が該当 第09章 リソース管理とオートスケーリング 第10章 ヘルスチェックとコンテナのライフサイクル 第11章 メンテナンスとノードの停止 第12章 高度で柔軟なスケジューリング 第13章 セキュリティ もしくはKubernetes実践入門を丸っと。 本番環境のKubernetesマニフェストに 最低限必要な 7
のこと Kubernetes完全ガイドの方はダイジェスト版もあるよ
35.
どっから情報集めるか問題
36.
#cnjp 詳しい人雇うの大変ですよね 有償サポートと言う手も。 ただ、サポート範囲はどこを使うかで異なるので確認が必要です。 例えば • Rancher Labs
Support and Maintenance • OpenShift Enterprise Support Policy - Red Hat Customer Portal • VMware Enterprise PKS | FAQ | VMware Cloud 詳しい人雇ったと思えば安いし(月で割って考える)、 雇うのも大変なので検討の余地はあると思います。
37.
#cnjp コンテナ関連コミュニティで出会う 挙がっている資料だけでも知見の塊。 コミュニティに参加してアンテナを張ったりネットワークを広げる!
38.
#cnjp Edgeな情報が欲しい人には、、 k8sのSIGを集約したリポジトリがあります。 kubernetes/community: Kubernetes community content 議事録も公開されているのでEdgeな情報の宝庫。 他にも、毎週Kubernetesに関する興味深い ニュースを集めたKubeWeeklyの日本語訳とか KubeWeekly
- Qiita 後は、Google提供のPodcastとか Kubernetes Podcast from Google
39.
#cnjp 関連イベントに参加する スライドや動画も上がってるのでそこから今の情報を取得 • 海外 • KubeConとか KubeCon
+ CloudNativeCon Events - Cloud Native Computing Foundation • 国内 • Cloud Native Days • (終了)CloudNative Days Fukuoka 2019 • (終了)CloudNative Days Tokyo 2019 • (11/27-28)CloudNative Days Kansai 2019
40.
#cnjp 結局、どう学べば? • 本を読む • 関連カンファレンス・イベントに参加して情報を収集 •
手を動かして試す 一人でやってて辛くないですか?
41.
#cnjp 結局、どう学べば? オススメなのは、「発表する」とかどうですか? メリット 1. 下手な事話せないので、下調べするので整理出来る 2. 悩みや課題を共有して、フィードバックもらえる 3.
懇親会で話すきっかけになる(ボッチにならない) 4. 1人じゃなくてみんなで出来るのでモチベ維持 デメリット 1. みんなの前で話すのが辛い 2. 準備に時間かかる
42.
#cnjp 何話して良いか分からないって人には… 以下の流れで一度、話してみませんか? • どんな課題を抱えていたのか? • どのように解決しようとしたのか? •
結果どうだったのか? 課題の大小 や 結果の成否 などは、関係無いです! 自身で取り組んだ事を整理してみて、一度、共有してみませんか?
43.
Appendix
44.
#cnjp 資料:KubernetesやDocker ● Cloud Nativeの定義 ●
Cloud Native Trail Map ● CNCF Cloud Native Interactive Landscape ● Cloud Native プロダクト 1000本ノック ● CloudNative Days Fukuokaで、クラウドネイティブについて考え直してみた ● インフラエンジニアとしてのわたしの研究開発とこれから注目のコンテナ技術 ● 今話題のいろいろなコンテナランタイムを比較してみた ● コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう ● Docker Compose 徹底解説 ● Dockerfileを改善するためのBest Practice 2019年版 ● やさしくわかる「Kubernetes基礎」/やさしくわかる「Docker基礎」 ● 【翻訳】Operator の紹介:運用の知見をソフトウェアに入れる ● OperatorHub.io | The registry for Kubernetes Operators ● 7 best practices for building containers | Google Cloud Blog ● Best practices for writing Dockerfiles | Docker Documentation ● Istio / What is Istio? ● Istioサービスメッシュ入門 ● コンテナイメージの脆弱性スキャンについて(私のですがTrivyの紹介)
45.
#cnjp 資料:設計関連 ● The Twelve-Factor
App (日本語訳) ● Kubernetes、コンテナ技術を活用した開発アジリティー向上にインフラアーキテクトはどう貢献したのか ● 「Kubernetesで運用する」その前に Kubernetesを本番環境で利用する際のポイント ● Brendan Burns, David Oppenheimerらの論文:Design Patterns for Container-based Distributed Systems ○ その書籍:Designing Distributed Systems E-Book | Microsoft Azure ○ 実装のお試しリポジトリ:brendandburns/designing-distributed-systems-labs ○ その日本語訳版:分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計 ● コンテナのデザインパターンを学べる論文「Design patterns for container-based distributed systems」を 読んだ - kakakakakku blog ● Web Developer も知っておきたい Kubernetes における Sidecar Pattern と Ambassador Pattern - Quipper Product Team Blog ● I will tell you the passion of Kubernetes - Speaker Deck ● コンテナ・デザイン・パターンの論文要約 - Qiita ● k8s - Kubernetes 8 Factors (Kubernetesクラスタのポータビリティを保つための8原則)- Speaker Deck
46.
#cnjp 資料:GitOps関連 • Weaveworks社のGitOpsに関する記事一覧 • GitOps — Operations
by Pull Request – gavin.zhou – Medium • Kubernetesで作るコンテナベースCI★CDの夕べ / ochacafe#1 • GitOpsでKubernetesのManifest管理 • GitOpsではじめるKubernetes CI/CD Pipeline • jenkinsci/jenkins • Continuous Integration and Delivery - CircleCI • wercker/wercker • concourse/concourse • Helm Docs | Helm • Home ⋅ ksonnet • Kustomize - Kubernetes native configuration management • Argo CD • Weave Flux • Spinnaker
47.
#cnjp 資料:k8sやdocker(書籍) • Docker/Kubernetes 実践コンテナ開発入門 •
プログラマのためのDocker教科書 第2版 • Kubernetes完全ガイド • Kubernetes実践ガイド • みんなのDocker/Kubernetes • Kubernetes実践入門 • しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識 • RancherによるKubernetes活用完全ガイド
48.
#cnjp 資料:関連コミュニティ&イベント ● Cloud Native
JP ● Cloud Native Meetup Tokyo ● Cloud Native Developers JP ● Rancher JP ● Container Build Meetup ● Kubernetes Meetup Tokyo ● JAZUG (Japan Azure User Group) ● GCPUG ● JAWS-UG(AWS Users Group – Japan) ● Oracle Cloud Hangout Cafe ● Docker Meetup Tokyo ● Docker Meetup Kansai ● CloudNative Days Fukuoka 2019 - #CNDF2019 ※当日のスライドや動画あります ● CloudNative Days Tokyo 2019 - #CNDT2019 ※当日のスライドあります。動画は CloudNative Days - YouTube ● CloudNative Days Kansai 2019 - #CNDK2019