Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
これから始める人のためのKubernetes&Cloud Native 2021
Search
cyberblack28
March 11, 2021
Technology
3
730
これから始める人のためのKubernetes&Cloud Native 2021
CloudNative Days Online 2021 Spring 資料
cyberblack28
March 11, 2021
Tweet
Share
More Decks by cyberblack28
See All by cyberblack28
インフラエンジニアBooks 30分でわかる「Dockerコンテナ開発・環境構築の基本」
cyberblack28
13
10k
What is Cloud Native ?
cyberblack28
6
2.3k
これから始める人のためのKubernetes&CloudNative入門
cyberblack28
10
4k
Read with author "Complete Guide to Utilizing Kubernetes by Rancher"
cyberblack28
2
1.3k
教えると学ぶ -Cloud Native Technology-
cyberblack28
3
510
What a Windows Container looks like ?
cyberblack28
5
5.8k
What a Runtime of Windows Container looks like ?
cyberblack28
2
2.1k
極める、伝える、教えるの調和 2020
cyberblack28
1
510
KubeCon CloudNativeCon 2019 SanDiego Recap 〜Vitess〜 English.ver
cyberblack28
1
140
Other Decks in Technology
See All in Technology
VPC間の接続方法を整理してみた #自治体クラウド勉強会
non97
1
840
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
4.6k
物価高なラスベガスでの過ごし方
zakky
0
380
いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜
horsewin
9
2.1k
新卒1年目が挑む!生成AI × マルチエージェントで実現する次世代オンボーディング / operation-ai-onboarding
cyberagentdevelopers
PRO
1
160
Jr. Championsになって、強く連携しながらAWSをもっと使いたい!~AWSに対する期待と行動~
amixedcolor
0
190
一休.comレストランにおけるRustの活用
kymmt90
3
580
いまさらのStorybook
ikumatadokoro
0
110
ガバメントクラウド先行事業中間報告を読み解く
sugiim
1
1.3k
マネジメント視点でのre:Invent参加 ~もしCEOがre:Inventに行ったら~
kojiasai
0
470
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
4
650
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Visualization
eitanlees
144
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Thoughts on Productivity
jonyablonski
67
4.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Transcript
CloudNative Days Online 2021 Spring Oracle Japan Yutaka Ichikawa これから始める人のための
Kubernetes & Cloud Native 2021
Certification & Community CKA CKAD 2018 2019 #CNDT2020 Name: Yutaka
Ichikawa Twitter/GitHub/Qiita: cyberblack28 Hatena Blog: https://cyberblack28.hatenablog.com/ Slides: https://speakerdeck.com/cyberblack28 Job Principal Solution Engineer Oracle Japan Profile #cnbfmeetup Cloud Native Bright Future
• I don't know what to start with. • Learn
Cloud Native Technology • Teach Cloud Native Technology • Summary Agenda
I don't know what to start with.
Myself 日々この3つの調和を目指して活動しています 極める = エンジニアとして技術を極める 伝える = エバンジェリスト・アドボケートとして技術を提唱する 教える =
技術教育者として技術を教える 極める、伝える、教えるの調和
Myself 「極める、伝える、教える」 の根底にあるもの
Myself それは、「学び」
Myself エンジニアとして技術を極められない... 自身が学ばないと 技 術 を 提 唱 で き
な い ... 技 術 を 教 え ら れ な い ...
Myself 「学び」をどうしているか?
Myself 「何から始めて良いのかわからない」 へのアプローチ
Learn Cloud Native Technology
Learn Cloud Native Technology Books Docker、Kubernetes、コンテナランタイムなどをイラストで解明!!
Learn Cloud Native Technology Books ここ数年にかけてDocker/Kubernetesに関連する書籍が多数出版されました。 DockerとKubernetesを合わせて学ぶことができます。
Learn Cloud Native Technology Books Kubernetesの詳細を学ぶことができます。
Learn Cloud Native Technology Books クラウドネイティブアプリケーションを支える技術としてのDocker/Kubernetesから関 連する技術まで、これからのエコシステムについて学ぶことができます。
Learn Cloud Native Technology Books Docker/Kubernetes上で稼働させるアプリケーションを プロダクションで利用するにはどうするべきかを学ぶことができます。
Learn Cloud Native Technology Web Informations Docker/Kubernetesの公式サイトでは、最新の情報や公式ドキュメントがあります。 https://kubernetes.io/ https://www.docker.com/
Learn Cloud Native Technology Web Training 無料でブラウザさえあればハンズオントレーニングを利用できます。 Docker/KubernetesだけでなくたくさんのCloud Native技術コンテンツがあります。 https://www.katacoda.com/
Learn Cloud Native Technology Web Training 無料で動画講義を受けることができます。 https://kube.academy/
Learn Cloud Native Technology Conference & Event 技術カンファレンスや技術コミュニティ主催のイベントに参加することで キャッチアップできます。 #CNDT2020
#KubeCon #CloudNativeCon #k8sjp KubeFest tokyo
Learn Cloud Native Technology Seminar & Training 有料/無料含め、Cloud Native Technologyのセミナーやトレーニングを
利用して学ぶことができます。 Docker Kubernetes
Learn Cloud Native Technology Contribute Cloud Native TechnologyはOSSがベースとなっているため ソースコードを読むことで勉強となり、修正をプルリクエストして貢献もできます。 海外のエンジニアともSlackなどで交流できます。
ソースコードは敷居が高い場合があるかもしれません。 公式ドキュメントの翻訳でコントリビュートにチャレンジもできます。
Learn Cloud Native Technology Writing 個人ブログ、QiitaなどのWeb執筆、zenn、技術書典などで自主的に書籍を執筆する ことで学びを得ることができます。
Learn Cloud Native Technology SNS Twitter、FacebookなどでCloud Native Technologyのインフルエンサーや情報源とな るアカウントをフォローして情報をキャッチアップすることから学びに繋がります。
Learn Cloud Native Technology Certificates 資格取得を目指して学ぶのも一つです。 CKA CKAD CKS New!
Learn Cloud Native Technology Main business & Side business 本業の仕事で個人またはチームで試行錯誤しながら、
副業で自分よりも優れた人たちと共に学ぶのも一つです。
Learn Cloud Native Technology Community 技術コミュニティのミートアップに参加または登壇することで学ぶことができます。 運営メンバーになることで人脈も広がります。
Myself コミュニティついて深堀
Learn Cloud Native Technology クラウドネイティブの状況は、 パブリッククラウドが騒がれ始めた時に似ています。 クラウドの時代にはコミュニティがエンジニアの成長を支えていくのではないか Publickey 2014.2.21 このクラウドをクラウドネイティブに置き換えると当てはまります。
Learn Cloud Native Technology クラウドネイティブ関連技術は、社内や仕事を通して学べる範囲を超えてます!! • 会社の上司が、こうした新技術を包括的に 教えてくれますか? • クラウドネイティブにおける
DevOps,IoT,Machine Learningなど、多岐 にわたる分野を教えられる人はいますか? • 「できます、やります、頑張ります!」 に限界がありませんか?
Learn Cloud Native Technology 実際の声 “社内に一人でも最新の技術をキャッチアップして、実践して、反映 できる人がいれば良いのですが、現状のIT企業、特に中小企業や最 新技術とは縁遠い部署などでは、最新技術のキャッチアップや技術 取得、社内育成において困難な状況にあります。”
Learn Cloud Native Technology コミュニティがエンジニアの成長のための大事な場所に クラウドネイティブ時代の様々な技術を学ぶために社外へ出て行 き、情報収集、情報発信、情報共有を実践してスキルアップや社内 にフィードバックして育成を計る。 • 国内外カンファレンス
• ミートアップ • 勉強会/もくもく会 • セミナー/トレーニング • コミュニティ運営 • 技術書籍 • Web情報/トレーニング • コントリビュート/Slack • 技術ブログ/執筆 • SNS イベントへの参加 情報収集、発信、共有
Learn Cloud Native Technology Cloud Native Technology’s Community #k8sjp #dockertokyo
#rancherjp #paasjp #cndjp #k8sinternal #k8snovice #cloudnativejp #envoytokyo #prometheustokyo #japanrook #openshiftjp
Learn Cloud Native Technology 参加者のメリット • 最新技術、事例等のキャッチアップ • 人とのつながり •
社内フィードバックからの育成 参加者のデメリット • レベルが高すぎて、ついていけない
Learn Cloud Native Technology 一部の声 “最新の技術をどんどん取り入れて、実践している人達の話は参考にな りますが、レベルが高くてついていけない。結局何から始めてよいのか 分からない。” “入門者向けのハンズオン勉強会は、入りやすく、有識者に質問や相談 することができるので非常にありがたい。自分のスキルアップだけでな
く、社内へのフィードバック、育成への良いきっかけとなる。”
Learn Cloud Native Technology Docker 入門ハンズオン勉強会 札幌、東京、名古屋、 大阪、京都、神戸、 広島、岡山、福岡、沖縄 全29回
1年 約400人 無料 #kujiraya
Learn Cloud Native Technology 心の奥底にある声 “できる人に教わりたい、 学びたい、一緒にやりたい”
Teach Cloud Native Technology
Teach Cloud Native Technology 学んで身に着けた技術を どう教えるか、どう教えてきたか?
Teach Cloud Native Technology もちろん、 教えることで学ぶこともあります
Teach Cloud Native Technology 技術面だけではなく、 教え方も考えなければならない
Teach Cloud Native Technology 伝えるから教える
Teach Cloud Native Technology 座学とハンズオン
Teach Cloud Native Technology 1. 主催者がPC、環境、教材もすべて準備 a. 受講者にとっては良いが、主催者としては準備労力とコストが発生 2. 受講者にPCも環境セットアップも準備してもらう(教材は主催者)
a. 主催者にとって準備労力やコストは抑えられるが、受講者のPC環境差異に よるトラブル率が高まる b. 受講者としては準備労力とコストが発生 ハンズオン環境ってどうしてます?
Teach Cloud Native Technology 1. 受講者にクラウド(有料/無料)のアカウントを準備してもらう a. ノートPC(Win/Mac不問)にブラウザだけで、環境差異のトラブルが生じにくい b. 受講者の準備作業はクラウドのアカウント作成
c. 主催者の準備労力とコストを削減 d. クラウドベースの教材にすることで、受講後も同じ環境で復習できる 2. 各クラウドベンダーが提供するCloud Shellが便利 a. 受講者の事前準備におけるツールのインストールが不要になる b. 全てコマンド操作に集約できる ハンズオン環境はクラウド利用
Teach Cloud Native Technology 1. スライド a. 図を多く、文字少なめで簡潔が理想! b. コマンド結果を載せる場合は、説明が必要な場合に!
2. ハンズオン用テキスト a. 手打ちではオペミスによる誤作動率があがります b. 復習の利便性向上 c. コピー&ペースト用のテキストとコマンド結果表示も掲載しておくと良い d. 「クリップボードにコピー」ボタンを用意をオススメ! e. どこで?⇒GitHub、GitLab、Qiita、ブログサービスなど 教材はどうしてます?
Teach Cloud Native Technology 1. 座学とハンズオンの組み合わせ 2. ハンズオンのパターン a. 受講者と一緒に行う
b. 一定時間を設けて受講者に実習、実習後に解説 3. ハンズオンの前に必ず全体説明 4. ハンズオン中に何をやっているか見失わないようにする トレーニングの流れはどうしてます?
Teach Cloud Native Technology 初級講座で Docker/Kubernetesのつまずくポイント
Teach Cloud Native Technology 1. 仮想マシンとコンテナの違い 2. 仮想マシンイメージとコンテナイメージ(イメージとコンテナ含む)の違い 3. DockerとContainerRuntimeの関係性
4. Kubernetesってそもそも何? 5. コンテナアプリケーション開発の全体像って? Q&Aでもよく質問されます
Teach Cloud Native Technology 仮想マシンとコンテナの違い Virtual Machine Hypervisor Hardware Kernel
Library Application Virtual Machine Kernel Library Application Container Container Engine Hardware Kernel Library Application Container Library Application 各仮想マシンでカーネルが稼働、隔離性が高いが、 起動が遅く(数分)オーバヘッドが大きい カーネルを共有しているため、隔離性は低いが、 起動が高速(数秒)でオーバヘッドが小さい 仮想マシンは個別のカーネル利用、コンテナはホストのカーネルを共有
Virtual Machine Teach Cloud Native Technology 仮想マシンイメージとコンテナイメージの違い Application OS/Library Hypervisor
Hardware 仮想マシンイメージがベンダー製品特有 の形式で容量も重く可搬性も低い 仮想マシンイメージ
Teach Cloud Native Technology コンテナイメージ 1.ビルド(Build) OS/Library Application OS/Library Container
Image Build • OS/ライブラリとアプリケーションをパッケージイメージ化 • イメージはこれまでの仮想マシンイメージに比べるとはるかに軽いのでポータビリティ性が高い 2.シップ(Ship) • イメージをレジストリに保存して共有 OS/Library Container Image OS/Library Image Registry OS/Library Push Pull Image Share/Ship
Teach Cloud Native Technology 3.ラン(Run) OS/Library Container Image • イメージを基にコンテナを起動します。
Run OS/Library Container OS/Library Container コンテナープラットフォーム上でイメージからコンテナを起動して、アプリケーションを稼働させます。 イメージもプラットフォームも特定ベンダー技術に依存しないため、ベンダーロックインもありません。 Container Platform
Teach Cloud Native Technology DockerとContainer Runtimeの関係性 コンテナを実際に作るのはDockerではなく、Container Runtimeです。 Docker Docker
Client containerd runC Linux cgroups Namespaces Union Filesystem Network Low-level Container Runtime High-level Container Runtime OCI(Open Container Initiative) CRI(Container Runtime Interface) kubelet Container
Teach Cloud Native Technology docker CLI dockerd Containerd runC Low-level
Container Runtime High-level Container Runtime Docker Engine Client Side Server Side 構成要素 説明 docker CLI コマンドラインインターフェースとしてDockerコマンドを提供します。 dockerd イメージ、ファイルシステム、ネットワークの管理、REST APIの提供するDockerの本体。Mobyとも呼ばれています。 containerd CNCF(CloudNativeComputingFoundation)にホストされているcontainerdは、Dockerのハイレベルコンテナーランタイムとしてコンテナーのラ イフサイクルを担います。KubernetesではCRI(Container Runtime Interface)プラグインに対応してPod用のNICやベースとなるpauseコンテ ナーを作成します。 runC OCI(Open Container Initiative)にホストされているrunCは、Dockerのローレベルコンテナーランタイムとしてシステムリソースの隔離で namespace、制限でcgroups、セキュリティでAppArmor・SELinux・seccomp等、ホストカーネルの機能を利用してコンテナーを作成します。
Teach Cloud Native Technology そもそもKubernetesとは? BareMetal Virtual Machine Kubernetesは分散処理基盤 Kubernetes
Container
Image Repositry Teach Cloud Native Technology コンテナアプリケーション開発の全体像って? OS/Library OS/Library OS/Library
Container OS/Library Container Container Platform BareMetal Virtual Machine IaaS Developer Code Repository CI/CD Pipeline Build Ship Run コンテナープラットフォーム へのデプロイ CIパイプラインによる テスト、ビルド、イメージプッシュ イメージ共有 コンテナーの可搬性(Portability)とスピード(Agility)を持ち合わせ、 品質および生産性の高いアプリケーション開発を実現 Infrastructure Engineer Operator Code Dockerfile manifest VM
Image Repository Teach Cloud Native Technology OS/Library OS/Library OS/Library Container
OS/Library Container Container Platform BareMetal Virtual Machine IaaS Developer Code Repository CI/CD Pipeline Build Ship Run コンテナープラットフォーム へのデプロイ CIパイプラインによる テスト、ビルド、イメージプッシュ イメージ共有 傾向として、CDをGitで管理するGitOps手法が取り入られ始めています。 Infrastructure Engineer Operator Config Repository Pull Request GitOps Operator CD Change manifest Change code manifest Code Dockerfile VM
Summary
Teach Cloud Native Technology 学ぶと教えるは表裏一体、 継続することが大切です!
Thank you !!