Slide 1

Slide 1 text

IBM Tech/Developer Dojo [!"] #$%&'()*+,-./0%$12$3$456789 2021/04/14

Slide 2

Slide 2 text

【⼊⾨】WebアプリケーションをKubernetesで構築する IBM Tech/Developer Dojoへようこそ セミナー中のご質問はこちらから slido.com #dojo0414pm

Slide 3

Slide 3 text

学習の⽬的とゴール ⽬的 コンテナの概要と利⽤⽅法について理解する ゴール IBM Cloud Kubernetes Serviceを利⽤した Webアプリケーション+DBを構築できる このコースを学ぶ⽅の想定スキル IBM Cloud上でコンテナ実⾏環境を初めて利⽤する⽅

Slide 4

Slide 4 text

本イベントでは、 IBM Cloud へのアクセスは上記URLから行ってください ibm.biz/BdfYtE • IBM Cloud ログイン アカウントをすでにお持ちの方は、 こちらからログインしてください • IBM Cloud ライトアカウント作成 アカウントをお持ちでない方は、 ご登録をお願いします 【本⽇のお願い】

Slide 5

Slide 5 text

1. [管理]→[アカウント]をクリックする 2. [アカウント設定]をクリックする 3. アカウント・タイプを確認する 1. IBM Cloudアカウント種類の確認 ü ライトアカウント (無料) ü PayG (従量課⾦) ü サブスクリプション ※今回はライトアカウントを利⽤して説明を進めます

Slide 6

Slide 6 text

2. ワークショップ⽤のIBM Cloud環境に ご⾃⾝のIBM Cloud IDを関連付ける 注意事項 ・ブラウザはFirefoxが推奨です。 ・outlook.jpドメインのメールアドレスでうまく登録できない 問題が確認されています。もしgmailなどをお持ちでしたら そちらをご利⽤ください。 ・本ワークショップ⽤のIBM Cloud環境はセミナー開催⽇を 含めて約1⽇間限定でお使いいただけます

Slide 7

Slide 7 text

1.1: 下記URLにFirefoxブラウザでアクセスする https://techdojo.mybluemix.net 1.2: [Lab Key]に oslab 、[Your IBMid]にご⾃⾝のIDを ⼊⼒し、チェックボックスにチェックを⼊れて [Submit]をクリックする

Slide 8

Slide 8 text

1.3: Congratulations! が表⽰されたら [1. Log in IBM Cloud] リンクをクリックする

Slide 9

Slide 9 text

1.5: IBM Cloudダッシュボードの右上のアカウント情報の 右横の v をクリックする 1.6:[xxxxxxx – IBM] をクリックする

Slide 10

Slide 10 text

1.7: IBM Cloudダッシュボードの右上のアカウント情報が 変更されたことを確認し、[リソースの要約]の [Clusters]をクリックする

Slide 11

Slide 11 text

1.8: [techdojo-xxx]をクリックする ※本ワークショップではこちらのクラスタを使⽤します ※数字は⾃動的に割り当てられます

Slide 12

Slide 12 text

⽬次 1. コンテナテクノロジーとは 2. IBM Cloud Kubernetes Service の始め⽅ 3. Kubernetesを活⽤したアプリ開発体験

Slide 13

Slide 13 text

1. コンテナテクノロジーとは なぜ「今」 コンテナ/Docker/Kubernetesなどの テクノロジーが注⽬されているのか

Slide 14

Slide 14 text

(789Z['\)8] !"#$ or %&'( !" HA1 QA-HA1 DEV#1 !" HA2 QA-HA2 DEV#2 Storage Disk Array Tape Library Equipment !"#$%&' !"#"$%& )*+ ,-!. ()*+ !'()"* (),- ./01+ 23456 789:#; 09<=>? @ABCDEFGHI /0 JK:LMNOP+ QRP+ STUVWXYZ [\]^ !"#$%& jklmno-Z@pqrstu Ev9+w;xfgyzB JK:LMNOP+ 1"23456 789:6;<=>?@ ITIL_`Xabcd[e

Slide 15

Slide 15 text

IT'(789^_`ab*c"def JK: !"#$ V1.2 JK: '()* V1.1 !"#$ %&' JK: !"#$ V1.3a JK: !"#$ V1.3b !"#"$%&'(&) () *+,& -./ -./ JK: JK: JK: JK: fgh/.< fgh/.< #"Wi>M=J SRE 012345678 9:;<=%> ?@A&%B 2CDEFGHIJE https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A#/media/File:Dol e_container_is_placed_onto_a_truck.jpg

Slide 16

Slide 16 text

コンテナテクノロジーの特⻑ 1 起動が早い • ホストOSからみると、プロセスが⽴ち上がるだけ • スケールしたときにもすぐにアプリが⽴ち上がる 2 冪等性が保たれる • Infrastructure as Code により、環境構築の⼀連の作業をコード化できる • Immutable Infrastructure により、何度実⾏しても同じ環境が再現される 3 ポータビリティー性がある • アプリの実⾏に必要な依存関係をすべてパッケージングできる • Dockerエンジンが動く環境ならどこでも実⾏できることが保証されている べきとうせい

Slide 17

Slide 17 text

!"#$%'()*#+' !"#$%&'(!)&*+' +,-https://docs.docker.com/engine/docker-overview ! fghij)kl2 ! mno0pj.qr ! klstTub!vw ! mnhij)kl2 ! mno0pj.xr:$Eyz{b:;|] ! Eyz{.Uj0E2:;vw

Slide 18

Slide 18 text

;2BCDE

Slide 19

Slide 19 text

)&*+,-.,/01*2 ( 3456789:;< ! )*+,-3=->?8+@ !!"#$%&'()*+ ! P#OQL,R"STUVW ? 677@ 9:;<=:> ? 677A 9:;<=:> ? }~6staÄlÅÇ ÉÑ{*ÖÜ ?

Slide 20

Slide 20 text

コンテナのはじめ⽅ n CNCFの Cloud Native Trail Map を参照 1. コンテナ化 • ⼀般的には Docker コンテナで実施 • いかなるサイズのアプリケーションも依存性もコンテナ化可能 • 時間が経つにつれ、アプリケーションを分割し マイクロサービス化したくなるだろう 2. CI/CD(継続デリバリの仕組み) • 継続インテグレーション・継続デリバリの仕組みをセットアップ • コード変更が 新しいコンテナ・イメージとして、 ⾃動的にビルドされ、テストされ、デプロイされるように 3. オーケストレーション&アプリ定義 • 互換性試験に合格している Certified Kubernetes 環境を選択 • もっとも複雑なアプリケーションであっても HELMで 定義して、導⼊して更新していくことが可能

Slide 21

Slide 21 text

コンテナを学ぶには nDocker 社のサイトから無償ダウンロード可能 – https://www.docker.com/products/docker-desktop – docker for Mac / docker for Windows nDocker について学ぶ –http://docs.docker.jp/index.html • 有志により Dockerのドキュメントが ⽇本語化されています • まずは Dockerfile をいくつか書いてみましょう︕

Slide 22

Slide 22 text

2. IBM Cloud Kubernetes Serviceの始め⽅ 従量課⾦(PAYG)またはサブスクリプションのアカウント https://cloud.ibm.com/docs/account?topic=account-accounts&locale=ja ※ワークショップでは用意した環境を利用します

Slide 23

Slide 23 text

2. 画面右上の[Actions]→[Web端末] の順にクリックする。 3. [インストール]をクリックする。 完了後は先ほどの[Web端末]ボタン より利用可能です。 【Kubernetes Webターミナルの導⼊⽅法】(参考) • Kubernetes Webターミナルのインストールにお時間(約10分前後) を要する場合があります。 • Kubernetesクラスタの有無および状態の確認方法は下記の通りです。 1. リソース・リストの[Clusters]の ご自身で作成したクラスタ情報の ページを表示する。 ※今回用意したクラスタ環境では利用することができません。

Slide 24

Slide 24 text

!" !"#$ !"#$%&'()*+,- ./012345678 349:-;<=+,>?5@A B CDEFGHIJKLM

Slide 25

Slide 25 text

!# %&'()* =>?@ABCDE !"#$%& FGHIJ '()*+,-"./0 - KLMNOP

Slide 26

Slide 26 text

+,-)*.)/)0 +,-)*.)/)0 123456789%&:;<=>?@2AB C/D,+E/FG"HI/J

Slide 27

Slide 27 text

IBM Cloud Kubernetes Service (IKS) FGHI?@'.'ABCDEF /00123 !k8s-APIAG'F !kubectlHIJKLM 4567+89 !NOPQ !RSET1O :;,!7<=>? !Watson !IoT !DatabaseUVUV @ABCDE, !WXYC(.Z[' ü†°>¢öz£§NY•+ !ZD'/\] ! ^_`-abcd#=

Slide 28

Slide 28 text

,-*./01 234*5*,6789: ;<=> ?*./@AB*1 C@1D*EFG HI,1J*+FG KLMNO%P"&Q'3R*,FG !"#$%&$'$(

Slide 29

Slide 29 text

Kubernetes,W%XO&YZ,[\%] e¶ß®U

Slide 30

Slide 30 text

!"#$%#&'"(% )*+,&-./01/2 Pod %&'()* 1!"Node#$%"&'()*+,

Slide 31

Slide 31 text

!"#$%#&'"(% )*+,&-./01/2 Pod Kubernetes +,-.%&'(/0 !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 !"#$%&$'$()*+,-. $%Node# Kubernetes-./01*23

Slide 32

Slide 32 text

!"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 !"#$%&$'$()*+,-. 45&'()67894:;<=Node#>&'()?@A+, Kubernetes +,-.%&'(/0

Slide 33

Slide 33 text

!"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 !"#$%&$'$()*+,-. 45Node67894:;<=Node#>&'()?@A+, Kubernetes +,-.%&'(/0

Slide 34

Slide 34 text

!"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 !"#$%&$'$()*+,-. Pod BCDE1-#

Slide 35

Slide 35 text

マニフェストファイルで状態宣⾔ (例) • コンテナーイメージは︖ • コンテナーの数は︖ • 必要なCPU/Memoryは︖ • 外部アクセスのために開くポートは︖

Slide 36

Slide 36 text

3. Kubernetes を活⽤したアプリ開発体験 ibm.biz/dojokadai1

Slide 37

Slide 37 text

Lab 0 – 0. 78#9: (1) Ck?l7)m$%no'pqrs$t$) IBM Cloud Shell*uvwxy QRISTUVWXSYZ[\]%&^_`a-bc01de= fQRISTUVWXS,gMUUh)ijk5lmZl8dno0ep

Slide 38

Slide 38 text

Lab 0 – 0. 操作の補⾜ (2) ログイン時はAdvoworkを指定してください。 その次のリソースグループの指定は不要です。

Slide 39

Slide 39 text

IBM Cloud CLIから作成したIKSクラスタリスト を表⽰する⽅法 ibmcloud ks cluster ls Lab 0 – 2. 操作の補⾜ (2) 表示例

Slide 40

Slide 40 text

IBM Cloud CLI Plugin container-service/kubernetes-service (v1.0.8以降) または IBM Cloud Shellを利⽤時︓ Kubernetesクラスタへの接続情報を取得するコマンド ibmcloud ks cluster config --cluster <クラスタ名> Lab 0 – 2. 操作の補⾜ (3)

Slide 41

Slide 41 text

Lab 1 – 1.の4 操作の補⾜ (4) IBM Cloud Shellを利⽤時︓ KubernetesのPort番号を確認 KubernetesのワーカーノードのパブリックIP アドレス取得 Kubectl get service guestbook ibmcloud ks worker ls –cluster <クラスタ名>

Slide 42

Slide 42 text

作成したクラスタの削除⽅法 Clusters リソースリスト 現在利⽤しているサービスが確認できます。 各サービス右側の(・・・)から削除してください。 クリックすると、以下の メニューが表⽰され編集 や削除ができます ※ワークショップで用意されたクラスタは自動的に削除されます

Slide 43

Slide 43 text

免責事項 IBM Developer Dojoは開発者の⽅を対象に、IBM Cloudを主とした技術情報をお伝えする⽬的で開催しています。 講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 現在、ハンズオンを伴う講義はお客様の費⽤負担がない環境と⼿順でご案内しています。講義終了後、不要に なりました制作物はお客様ご⾃⾝で削除をお願いいたします。クレジットカードの登録が伴わない場合、費⽤は ⼀切発⽣致しませんが、ご登録いただいたお客様はご注意ください。 講師陣はみなさまの利⽤状況を個別に確認することはできません。 ご理解とご協⼒をお願いいたします。 利⽤したサービスの削除⽅法については講義の中でご案内します。 ご不明な点がございましたら、当⽇確認をお願いいたします。 講義終了後、 IBM Developer Dojoに関するお問い合わせは「Slack」にお願いします。それ以外のIBM Cloud のお問い合わせにつきましては、弊社サポートセンターまで、次のいづれかの⽅法でお問い合わせください。 IBM Cloudダッシュボードの「サポート」メニューから「Case」を作成し、英語でご記⼊ください IBM Cloudサポートセンター「相談する」ボタンからチャットまたは電話でご連絡ください https://www.ibm.com/jp-ja/cloud/support ご参加ありがとうございました。

Slide 44

Slide 44 text

【⼊⾨】WebアプリケーションをKubernetesで構築する IBM Tech/Developer Dojo お疲れ様でした アンケートはこちらから slido.com #dojo0414pm