Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt

7,029 views

Published on

タイトル: 今こそKubernetes。最高の仕事道具で使いこなそう
スピーカー: Kazufumi Saito (IBM)

2018年4月19日開催「Japan Cotainer Days v18.04」
https://containerdays.jp/

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt

  1. 1. IBM Cloud © 2018 IBM Corporation 今こそKubernetes。 最⾼の仕事道具で使いこなそう ⽇本アイ・ビー・エム IBM Cloud 事業本部 斎藤 和史 (Kazufumi Saito) @capsmalt [B-2, 14:00-14:40] セッションLv: ビギナー向け Japan Container Days v18.04 1
  2. 2. IBM Cloud © 2018 IBM Corporation 斎藤 和史 (Kazufumi Saito) # Technology - コンテナ/Kubernetes - Java EE - DevOps (CI/CDツール) - モバイル基盤 / アプリ開発,IBM Cloud (旧Bluemix) - API管理基盤 / API開発 # Others - セミナー,執筆(書籍,Web記事とか), etc. Latest news: 1) WebSphere 技術本 最新版出版 (4/10) 2) Japan Container Days (4/19) Now!!! 3) cndjp: CI/CDツール⼤集合! (4/27) Pre-Sales Engineer at IBM @capsmalt Liberty対応 2
  3. 3. IBM Cloud © 2018 IBM Corporation Agenda q オープニング q Kubernetes を活⽤するまでの課題 q 最⾼の仕事道具とは (⼀部) q エンタープライズでの進め⽅ q IBM の取り組み 3
  4. 4. IBM Cloud © 2018 IBM Corporation 4
  5. 5. IBM Cloud © 2018 IBM Corporation スケールアウト ポリシーベースでの可⽤性 負荷分散 ロールアップデート ネットワーク管理 永続ストレージ管理 CPU/Memory リソース管理 Kubernetes 5
  6. 6. IBM Cloud © 2018 IBM Corporation Question 6
  7. 7. IBM Cloud © 2018 IBM Corporation Kubernetes を つくり たいですか? 使い たいですか? 7
  8. 8. IBM Cloud © 2018 IBM Corporation 8
  9. 9. IBM Cloud © 2018 IBM Corporation Kubernetes を活⽤するまでの課題 q 学習コスト q K8sの他は何かいらないの? q エンタープライズで,誰が,どうやって,適⽤? 9
  10. 10. IBM Cloud © 2018 IBM Corporation vs 学習コスト Ans. 勉強するしかない 10
  11. 11. IBM Cloud © 2018 IBM Corporation vs 学習コスト Ø メガクラウド・ベンダーをはじめとする多数のベンダーが Kubernetesを提供開始している (しようとしている) Ø ⾊んなバリエーションがある Ans. 勉強するしかない 正しいんやけど・・・ つくり たい 使い たい 11
  12. 12. IBM Cloud © 2018 IBM Corporation Kubernetes 様々なタイプ (⼀部) IBM Cloud Container Service MS AKS Amazon EKS PaaS Google GKE Software IBM Cloud Private Open Shift なま k8s Azure AWSGCP IBM Cloud 基盤運⽤の最後の砦の⽅は,隅から隅まで頑張りましょう・・・12
  13. 13. IBM Cloud © 2018 IBM Corporation Kubernetes を活⽤するまでの課題 q 学習コスト q K8sの他は何かいらないの? q エンタープライズで,誰が,どうやって,適⽤? 13
  14. 14. IBM Cloud © 2018 IBM Corporation K8s 使おう!と⾔ったときに何が思い浮かぶか コンテナを活⽤して早く 開発したい ,何使えばいいの? コンテナ?Kubernetes? モニタリング は,何使うの? え・・・たくさんコンテナ動くみたいだけど リリース周り(CI/CD) はどうやるの? Kubernetes? 特殊な構成ファイルあるの? セキュリティは? アクセス制御は? Dockerイメージをバージョン管理? テスト済の組合せをバージョン管理?! 14
  15. 15. IBM Cloud © 2018 IBM Corporation K8s の他に必要になるもの 開発向けツール IDE ソースコード管理 k8s yaml 開発 Terraform 開発 CI/CD 構成 ・・・ CI/CD パイプライン Jenkins ソースコード管理 ビルド/コンパイラ テスト HELM Terraform Chef Istio連携 ・・・ コンテナ/Kubernetes 上で動作するミドルウェア Webサーバー,APサーバー,データサービス,キャッシュ,メッセージング, 機械学習ツール,デジタルオートメーションツール,etc. コア運⽤サービス ログ管理 モニタリング アラート セキュリティ ユーザアクセス管理 課⾦管理 ・・・ 15
  16. 16. IBM Cloud © 2018 IBM Corporation 16
  17. 17. IBM Cloud © 2018 IBM Corporation 最⾼の仕事道具とは オープン・テクノロジーで ベンダーロックイン無し 継続的に投資され更新される かつ,サポートつき 17
  18. 18. IBM Cloud © 2018 IBM Corporation 最⾼の仕事道具とは オープン・テクノロジーで ベンダーロックイン無し 継続的に投資され更新される かつ,サポートつき これが⼤前提 18
  19. 19. IBM Cloud © 2018 IBM Corporation (再掲) K8s の他に必要になるもの 開発向けツール IDE ソースコード管理 k8s yaml 開発 Terraform 開発 CI/CD 構成 ・・・ コンテナ/Kubernetes 上で動作するミドルウェア Webサーバー,APサーバー,データサービス,キャッシュ,メッセージング, 機械学習ツール,デジタルオートメーションツール,etc. コア運⽤サービス ログ管理 モニタリング アラート セキュリティ ユーザアクセス管理 課⾦管理 ・・・ CI/CD パイプライン Jenkins ソースコード管理 ビルド/コンパイラ テスト HELM Terraform Chef Istio連携 ・・・ 19
  20. 20. IBM Cloud © 2018 IBM Corporation CI/CD パイプライン Jenkins ソースコード管理 ビルド/コンパイラ テスト HELM Terraform Chef Istio連携 ・・・ 開発向けツール IDE ソースコード管理 k8s yaml 開発 Terraform 開発 CI/CD 構成 ・・・ コンテナ/Kubernetes 上で動作するミドルウェア Webサーバー,APサーバー,データサービス,キャッシュ,メッセージング, 機械学習ツール,デジタルオートメーションツール,etc. コア運⽤サービス ログ管理 モニタリング アラート セキュリティ ユーザアクセス管理 課⾦管理 ・・・ 組み換え⾃由 であること 最⾼の仕事道具とは・・・ 20
  21. 21. IBM Cloud © 2018 IBM Corporation つまり, 既存のツールを活かしながら, 適材適所で利⽤できること 21
  22. 22. IBM Cloud © 2018 IBM Corporation 22 最⾼の仕事道具とは: アプリ開発者視点 シナリオ 1) K8sで開発環境を作ろう シナリオ 2) イマドキのアプリ開発をしよう 今⽇ご紹介するのは,時間の都合で上記の2つに限定しています。 他にも,単⼀K8sを運⽤する側での視点や,さらにマルチクラウド環境で多数のK8s運⽤,その他あらゆる観点があります。
  23. 23. IBM Cloud © 2018 IBM Corporation 1) K8sで開発環境を作ろう e.g. シンプルなWeb/DB構成 この場合,次の5ステップのコマンド実⾏が必要 1. 永続ボリューム要求 (kubectl create –f pcv.yaml) 2. MySQLサーバーのデプロイ (kubectl create –f mysql_deploy.yaml) 3. MySQLのサービスを起動 (kubectl create –f mysql_svc.yaml) 4. WordpressのPHPサーバーのデプロイ (kubectl create –f php_deploy.yaml) 5. WordpressのSVCとLBをデプロイ (kubectl create –f php_lb_svc.yaml) WordpressをKubernetesのkubectlでデプロイする 23
  24. 24. IBM Cloud © 2018 IBM Corporation 1) K8sで開発環境を作ろう e.g. シンプルなWeb/DB構成を作るには? Kubernetes なら HELM を使おう 24
  25. 25. IBM Cloud © 2018 IBM Corporation HELM とは コンテナ・システムの構成を記述してパッケージ 利⽤するコンテナのイメージ,バージョン 割当てるリソース (CPU/Memoryリソース) 可⽤性構成 (クラスタリング),インスタンス数 外部公開 (サービス) 定義 複数のコンテナ・サービス連携の定義 Istio連携 Chart.yaml Values.yaml templates basedeployment.yaml deployment.yaml service.yaml hpa.yaml istio.yaml Kubernetes 25
  26. 26. IBM Cloud © 2018 IBM Corporation 拡張版シナリオ アプリ開発者が テスト⽬的で 本番同等環境を⽤意する 26
  27. 27. IBM Cloud © 2018 IBM Corporation とあるクラウドネイティブ・アプリ https://github.com/ibm-cloud-architecture/refarch-cloudnative-kubernetes 27
  28. 28. IBM Cloud © 2018 IBM Corporation 28 Kubernetes オブジェクト (⼀部)
  29. 29. IBM Cloud © 2018 IBM Corporation HELMチャートで⼀発デプロイ 多数のサービスから成る Cloud Native アプリケーションのアプリ・デプロイ $ helm repo add ibmcase https://raw.githubusercontent.com/ibm-cloud-architecture/refarch- cloudnative-kubernetes/master/docs/charts/bluecompute 該当のHELMリポジトリを登録 $ helm install --name bluecompute ibmcase/bluecompute-ce HELMチャートをデプロイ $ helm init k8sクラスターでHELMを初期化 29
  30. 30. IBM Cloud © 2018 IBM Corporation e.g. Namespace分離して,本番同等環境をデプロイ helm install Namespace: Dev_A Namespace: Test Namespace: Prod K8s クラスター 30
  31. 31. IBM Cloud © 2018 IBM Corporation 2) イマドキのアプリ開発をしよう 1 アプリ・コードを開発して,コンテナ化 2 コンテナをレジストリに登録 3 K8sのyamlを使って,クラスターにデプロイ K8sなんとなく分かった。こんな感じだよね 31
  32. 32. IBM Cloud © 2018 IBM Corporation 2) イマドキのアプリ開発をしよう: なにから始めるか 何をつかって開発するの? Dockerfileを書くってことだよね? k8sオブジェクトは?HELMは? マイクロサービス? リポジトリは,1:1? コンテナ・セキュリティは? (e.g. イメージ脆弱性) RDBMS ⼝座 サービ ス RDBMS 店舗UI 商品推 奨 サービ ス Graph DB 検索 サービ ス 商品詳 細 サービ ス Doc/ NoSQL 注⽂ サービ ス Hadoop ショッ ピング 分析 Cached Calls マイクロサービス Docker Kubernetes 32
  33. 33. IBM Cloud © 2018 IBM Corporation 2) イマドキのアプリ開発をしよう: CI/CDも考慮 イメージ レジストリ アプリ開発者 push pull webhook ビルド イメージビルド チャート作成 Helm Chart リポジトリ Dev A 処理を指⽰ Test Prod helm install helm upgrade 開発,動作テスト Dockerfile その他config 33
  34. 34. IBM Cloud © 2018 IBM Corporation 2) イマドキのアプリ開発をしよう: CI/CDも考慮 イメージ レジストリ アプリ開発者 push pull webhook ビルド イメージビルド チャート作成 Helm Chart リポジトリ Dev A 処理を指⽰ Test Prod helm install アプリ(サービス) を開発して, コンテナ化 (Dockerfile⽤意) イメージとチャート を登録して, k8sクラスター にデプロイ 34
  35. 35. IBM Cloud © 2018 IBM Corporation 35 マイクロサービス雛形アプリケーションの⽣成
  36. 36. IBM Cloud © 2018 IBM Corporation 36 Web IDE および 動的ビルド・テスト ビルド⽤のDockerfile パイプライン管理⽤ Jenkinsfile
  37. 37. IBM Cloud © 2018 IBM Corporation 37 負荷をかけてパフォーマンス状況を確認,ロギング
  38. 38. IBM Cloud © 2018 IBM Corporation Kubernetes クラスター docker push helm install helm helm パイプライン・ステージ (初期構成) Private Registry git clone git commit git push Webhook 38 Jenkinsベースの⾃動デプロイ q Git, Jenkins, Maven, Docker, Helmなどのオープン・テクノロジーを使って, 更新に伴う継続的なビルド・デプロイを「開発時点で初期構成」しておく
  39. 39. IBM Cloud © 2018 IBM Corporation Kubernetes を活⽤するまでの課題 q 学習コスト q K8sの他は何かいらないの? q エンタープライズで,誰が,どうやって,適⽤? 39
  40. 40. IBM Cloud © 2018 IBM Corporation 40 エンタープライズでの進め⽅ 有効活⽤できるもの ・ベストプラクティス・アーキテクチャ ・既存アプリ分析の⼿法,ツール ・開発,CI/CDツール ・マルチクラウドデプロイ・管理ツール そして,上記をオープンテクノロジーでやること
  41. 41. IBM Cloud © 2018 IBM Corporation Modernization Journey Assess and Plan Move, Modernize, Deploy Common Hybrid Cloud Platform Maintain, Operate, and Support 既存アプリケーションをモダナイズする ==> 新しい仕組みに対応 ==> コンテナとか,CI/CDとか ==> そしてハイブリッドクラウドへ 41
  42. 42. IBM Cloud © 2018 IBM Corporation 1) Assess and Plan 開発マネージャー アプリケーション移⾏分析 既存の IT システムで稼働しているJavaア プリケーションを分析して, コンテナ/クラウドにマイグレーションする ための修正箇所を提⽰ マイグレーション計画 コード解析、移⾏アセスメント Reference Center https://www.ibm.com/cloud/garage/architectures/ Assess and Plan 42
  43. 43. IBM Cloud © 2018 IBM Corporation 2-1) Move, Modernize, Deploy Operations チーム Enterprise Contents Catalog コンテナプラットフォームへの デプロイと管理 コンテナ化 Move Modernize Deploy コア運⽤サービス Kubernetes Container Orchestration Platform HELMカタログ MQ Db2 API Connect Watson IBM DSX Kubernetes プライベート基盤 コンテナ化されたミドルウェア, および様々なオープンソース 43
  44. 44. IBM Cloud © 2018 IBM Corporation 2-2) Move, Modernize, Deploy 開発 DevOps チーム オープンテクノロジーで,新しい仕組みのアプリケーションを開発 CI/CD マイクロサービスの開発から,更新に伴う継続的なビルド・デプロイ, 運⽤機能 (ログ管理や分散トレース,リソース監視) を組込んで提供 マイクロサービス開発 Move Modernize Deploy 44
  45. 45. IBM Cloud © 2018 IBM Corporation 3) Common Hybrid Cloud Platform アーキテクト オープンテクノロジー ベース One Architecture Common Hybrid Cloud Platform Automate deployment, scaling, and management of containerized applications Define, install, and upgrade Kubernetes applications Executable package of software that includes everything needed to run it Text or image Text or image Text or image Containers Orchestration Management Infrastructure as code to provision public cloud and on-premises environments Text or image Provisioning ハイブリッドクラウド,マルチクラウドを One Architecture でマネジメントできるようにする 45
  46. 46. IBM Cloud © 2018 IBM Corporation 46 Modernization Journey 既存システム /アプリ クラウド活⽤コンサルティングサービス マルチクラウド デプロイメント アプリケーション デプロイメント MQ Db2 移⾏⽀援ツール アプリ開発 CI/CD コンテナ化 Dev A Azure IBM Cloud K8s on AWS Dev B Prod NSX 既存アプリのモダナイゼーション 1アーキテクチャでハイブリッドクラウド
  47. 47. IBM Cloud © 2018 IBM Corporation 47 まとめ ・K8s 選択肢はいっぱい (PaaS / SW / なま) K8sの他に必要なものもいっぱい “作る or 使う” で圧倒的に敷居は下がる 使えるものは使う,ただしオープンテクノロジーを意識 ・K8sやりたい⼈への今⽇のおすすめ HELM: 複数コンテナの多様な構成を⼀発デプロイ,バージョン管理 CI/CDツール: “本番はオンプレで” みたいになってもそのまま使えるもの (SaaSではなくローカルで動かせて,かつOSSベース)
  48. 48. IBM Cloud © 2018 IBM Corporation オープンテクノロジーにコミット IBM における取組み 開発⽤途で,フリーで使えるものが多数あります !!! 48
  49. 49. IBM Cloud © 2018 IBM Corporation 49 コンテナ技術,標準化へのIBMの取り組み クラウドネイティブ・アプリ 標準化へ積極的に投資 Docker, Kubernetesへの コミット Kubernetes ベースの コンテナサービス 2015年7⽉,IBMやGoogleなど 約20の企業,団体が設⽴ コンテナ技術 コンテナ管理 IBM Cloud Container Service 2017年3⽉より Kubernetes ベースの コンテナサービス提供 Grafeas ソースコードとビルドの メタデータデータベース サービスメッシュ Grafeas サービスメッシュ 2017年にはAmazon,Microsoft Oracle,SAPなども相次いで参加 Kubernetes
  50. 50. IBM Cloud © 2018 IBM Corporation 50 ICPは,IBM Cloud における 1つの選択肢 1 | Public クラウドの経済性と 俊敏性を最⼤化する 3 | Private 最もセンシティブな ワークロードのため Firewallの背後で稼働 2 | Dedicated すべてが専有できる環境 パブリック・クラウドの俊敏性 IBM Cloud Foundry -2014/06提供開始 -Watsonなど多様なサービス IBM Container Services - 2017/03提供開始 IBM Cloud Functions - 2016/12提供開始 IBM Cloud ⼀貫性のある選択 ハイブリッドでの統合 DevOpsの開発⽣産性 コグニティブ・ソリューション パワフルで、アクセス可能なデータと解析 IBM Cloud の 5原則 IBM Cloud Private - 2017/06開発向け提供開始 - 2017/10本格リリース シームレスなユーザー体験 どの組合せを選ぶかに関わらず,単⼀のシームレスなユーザー体験を期待できる
  51. 51. IBM Cloud © 2018 IBM Corporation IBM Cloud Private オープンテクノロジーをベースに 企業の次世代システム基盤に必要となる技術を統合,包括的に提供 ※は将来のバージョンでの提供予定です。ロードマップは変更となる可能性があります IBM Cloud Automation Manager お客様管理のシステム基盤 DevOpsツールチェーン IBMミドルウェア / OSS ソリューション・カタログ ハイブリッド・マルチクラウド デプロイ⾃動化・管理 IBM Z 他社クラウド コンテナ / Kubernetes OpenWhisk ※ ※ オープンソース ・ソフトウェア 運⽤管理/課⾦ MQ Prometheus Product Insights セキュリティ 脆弱性 アドバイザー ディスク暗号化 コンプライアン ス対応 ロールベース アクセス microclimate Web IDE統合 Db2 IBM DSX 51
  52. 52. IBM Cloud © 2018 IBM Corporation 52 IBM Cloud Private: コアコンセプト お客様のクラウド利⽤にまつわる課題を解消 IBM による解決現状の課題 オンプレミス お客様がクラウド化したい アプリケーション、データ 課題 2 : インターネット経由での クラウド操作への懸念 課題 1 : クラウドベンダーが持つ 特権 ID への懸念 パブリック・クラウド オンプレミス パブリック・クラウド 特権 ID、監査証跡、 ログなどを お客様だけがコントロール出来る クラウドネイティブの 能⼒をFirewallの内側に IBM Cloud Private さらに Ø 既存資産のモダナイズ Ø マルチクラウド管理 Ø ベンダー・ロックイン 回避を実現 パブリック
  53. 53. IBM Cloud © 2018 IBM Corporation 53 コンテナ化された IBMミドルウェア / オープンソース + ツールチェーン,ランタイム UrbanCode Deploy Microclimate Microservice Builder Jenkins (open source) IBM WebSphere Liberty (MicroProfile, Web Profile, JEE Profile) Open Liberty (open source) IBM SDK for Node.js Swift runtime (open source) Nginx (open source) ロギング,モニタリングサービス ELK (open source) Prometheus & Grafana (open source) アプリケーション・モダナイゼーション分析ツール IBM Transformation Advisor マルチクラウド・デプロイメント,管理 IBM Cloud Automation Manager DBA (デジタルビジネスオートメーション) IBM Operational Decision Manager IBM Operational Decision Manager for Developers モバイル IBM Mobile Foundation データサービス IBM Db2 Direct Advanced Edition / AESE with Data Server Manager IBM Db2 Dev-C IBM Data Server Manager (for Db2 Dev-C) IBM Db2 Warehouse Enterprise IBM Db2 Warehouse Dev-C IBM Cloudant Developer Edition MongoDB (open source) PostreSQL (open source) MariaDB (open source) Galera clustering with MariaDB (open source) Redis HA Topology (open source) メッセージング IBM MQ Advanced IBM MQ Advanced for Developers Rabbit MQ (open source) インテグレーション IBM Integration Bus IBM Integration Bus for Developers IBM DataPower Gateway Virtual Edition IBM DataPower Gateway for Developers IBM API Connect Professional IBM API Connect Enterprise Watson IBM Watson Compare & Comply: Element Classification データサイエンス,ビジネスアナリティクス IBM Data Science Experience Local IBM Data Science Experience Developer Edition IBM Watson Explorer Deep Analytics Edition データガバナンスとインテグレーション IBM InfoSphere Information Server for Evaluation マネジメント IBM Netcool - integration (Probe for ICP Services – Logging events & Monitoring alerts) コネクティビティ IBM Voice Gateway Developer Trial ツール Web Terminal (open source) Skydive – network analyzer (open source) HPC / HPDA IBM Spectrum LSF Community Edition IBM Spectrum Symphony Community Edition IBM Spectrum Conductor Tech Preview Catalog content is not distributed with IBM Cloud Private. Content is distributed separately, licensed under separate terms and conditions.
  54. 54. IBM Cloud © 2018 IBM Corporation 54 (再掲) Modernization Journey 既存システム /アプリ クラウド活⽤コンサルティングサービス (IBM Garage) マルチクラウド デプロイメント アプリケーション デプロイメント IBM Cloud Automation Manager MQ Db2 移⾏⽀援ツール (Transformation Advisor) アプリ開発 CI/CD コンテナ化 Dev A Azure IBM Cloud ICP on AWS Dev B Prod NSX ICP 既存アプリのモダナイゼーション 1アーキテクチャでハイブリッドクラウド
  55. 55. IBM Cloud © 2018 IBM Corporation 55 お客様事例: ハイブリッドクラウドの デプロイおよび管理をOne Architectureで実施 単なる1環境でしか動かせない k8s基盤ではなく, 多数のクラスターを管理するアーキテクチャを実現
  56. 56. IBM Cloud © 2018 IBM Corporation Dave McKay President & Chief Executive Officer, Royal Bank of Canada (RBC) Walkiria Marchetti CIO of Brazil banking giant Bradesco John LaFreniere Global Vice President of IT Architecture, Hertz THINK 2018 56
  57. 57. IBM Cloud © 2018 IBM Corporation Mark your calendar Think 2019 February 12 - 15 San Francisco, CA 57
  58. 58. IBM Cloud © 2018 IBM Corporation Private 58
  59. 59. IBM Cloud © 2018 IBM Corporation ibm.biz/icptrial Community版 インストール⼿順 at Qiita (Developer向けサイト) IaaS環境や,ハイスペックなマシンに⼊れてみよう! 59
  60. 60. IBM Cloud © 2018 IBM Corporation 60 ブラウザで実施できる ハンズオン ibm.biz/playicp ここ クリック 1 2 3 「North America」を 選択して, Start demo now!
  61. 61. IBM Cloud © 2018 IBM Corporation 61 展⽰ブースにお⽴ち寄りください! いまここ ブースは すぐ隣の部屋

×