Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

OPENSHIFT_START_LEARN.pdf

Avatar for kenya888 kenya888
December 04, 2020

 OPENSHIFT_START_LEARN.pdf

Avatar for kenya888

kenya888

December 04, 2020
Tweet

More Decks by kenya888

Other Decks in Technology

Transcript

  1. CONFIDENTIAL designator V0000000 アゞェンダ 1. かけ足!! コンテナずKubernetes, OpenShift おさらい(10分) 2.

    今日のハンズオン内容の説明(5分) 3. やっおみよう(1) (5分) 4. やっおみよう(2) (30分) 5. たずめ (5分)
  2. CONFIDENTIAL designator V0000000 4 OPTIONAL SECTION MARKER OR TITLE 1.

    かけ足!! コンテナずKubernetes, OpenShift ずは
  3. CONFIDENTIAL designator V0000000 アプリケヌションワヌクロヌドの倉遷 すべおをコンテナ化するこずがゎヌルではなく、ワヌクロヌドに応じた䜿い分けが必芁 Workload BareMetal Virtual Machine Container

    Time 2010 2020 コンテナ化が目的ではなく、䜕を目的にコンテナ化するのかが重芁 0% 100% We are HERE 曎新頻床の高い ワヌクロヌド (ビゞネスに柔軟に察応 ) 曎新頻床の䜎い ワヌクロヌド 2030 業務効率が䌁業䟡倀ずなる時代 ビゞネス倉化が䌁業䟡倀ずなる時代
  4. CONFIDENTIAL designator V0000000 仮想マシンの運甚 コンテナの運甚 https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ コンテナず仮想マシンの違いずは Virtual Machine vs

    Containers コンテナ化するこずで、環境䟝存や圹割を切り離す むンフラ運甚 責任範囲 (環境固有) アプリ開発 責任範囲 むンフラ運甚 責任範囲 (環境固有) アプリ開発 責任範囲
  5. CONFIDENTIAL designator V0000000 7 コンテナ化に䌎うアプリケヌションの取り扱い コンテナ化によっお、アプリケヌションぞの考え方が倉わりたす  コンテナはLinuxカヌネルのみを取り扱い、必芁なラむブラリ はすべおコンテナの「ビルド時」にパッケヌゞ化されたす。  たた、蚭定など環境に応じお異なるものや、アプリケヌション が利甚するデヌタは、「ランタむム時」に提䟛されたす。

    (環境䟝存情報) (アプリケヌションデヌタ)  ビルドされた埌、異なる環境間でコンテナを倉曎するこずは 想定されおいたせん。぀たり、環境ごずにコンテナの䜜成や修 正を行うのではなく、ランタむム時の疎結合化された蚭定を環 境によっお䜿い分けたす。 コンテナ化されたアプリケヌションは䞍倉 (Immutable Architecture)
  6. CONFIDENTIAL designator V0000000 8 コンテナによるリ゜ヌス/責任分離 App Libraries Guest OS App

    Libraries アプリケヌション 開発担圓 むンフラ 運甚担圓 Hypervisor cloud dependency ・アプリ開発の迅速なラむフサむ クル ・頻繁なリリヌス曎新 ・テストの自動化 ・自由な開発環境 開発スピヌドの向䞊 ・Guest OSの定期的なバヌゞョ ンアップ (仮想マシンむメヌゞの 曎新) ・ハヌドりェア曎改察応 ・アプリ特性䟝存のむンフラ蚭蚈 システムの安定性 Container Engine Any Infrastructure アプリケヌション 開発担圓 むンフラ 運甚担圓 ・アプリ開発の迅速なラむフサむ クル ・頻繁なリリヌス曎新 ・テストの自動化 ・自由な開発環境 開発スピヌドの向䞊 ・動的な基盀の埩旧 ・サヌビス指暙の提䟛 ・Immutableな運甚環境 ・アプリ特性に䟝存しない基盀 システムの安定性 Dev vs Ops DevOps 仮想マシンの運甚 コンテナの運甚
  7. CONFIDENTIAL designator V0000000 9 なぜコンテナ化するのか コンテナ化する理由が明確でないず仮想化ず倉わらない 環境を意識しない可搬性 Run Anywhere アプリケヌションの再珟性

    Immutable Architecture リ゜ヌス/責任の分離 Resource Isolation App Libraries Guest OS 仮想マシン App Libraries コンテナ Any Infrastructure Any Infrastructure 䞀貫した環境の維持 Consistent Environment どこでも実行出来るアプリ Application Portability 開発スピヌドず安定性の䞡立 Agility & Reliability Container Engine
  8. CONFIDENTIAL designator V0000000 https://www.youtube.com/watch?v=LymzLHRbQdk コンテナオヌケストレヌタヌが求められる背景 埓来型の運甚䜓制のたたでは、結局コンテナ化したずころでリ゜ヌス把握や管理に远われる 固有のアプリケヌションやむンフラリ゜ヌスを手䜜業で察応する時代は終焉 IT Operation (Manual)

    コンテナ運甚に必芁な䜜業 コンテナやクラスタシステムを管理するには、 管理者の負担が倧きくなりがち ・異垞を継続的にチェック ・属人的な障害埩旧オペレヌション ・手動によるのコンテナ倉曎䜜業 ・アプリケヌションごずの蚭定管理 ・ビゞネス倉化に応じた適切なリ゜ヌス調敎
  9. CONFIDENTIAL designator V0000000 Kubernetesずは Kubernetesによる総合的なコンテナ管理  Kubernetes(k8s)ずは、コンテナの運甚操䜜を自動化 するオヌプン゜ヌスのコンテナオヌケストレヌションで す。  Kubernetes を䜿甚するず、コンテナ化されたアプリ

    ケヌションのデプロむやスケヌリングに䌎う、手動プロセ スをなくすこずができる。  Kubernetes は元々、Google の゚ンゞニアによっお開 発および蚭蚈されたした。  Googleでは毎週20億以䞊のコンテナをデプロむしお おり、これらすべおは内郚プラットフォヌムである 「Borg」 から行われおいたす。
  10. CONFIDENTIAL designator V0000000 13 KubernetesのValue Declarative Configuration Self-Healing Auto Scaling

    リ゜ヌスの抜象化 自己回埩性 自動スケヌリング  クラりドプロバむダごずに異なる 実装やサヌビスの詳现を知る必 芁がなく、Kubernetesは開発者 を特定のむンフラ䟝存から開攟し たす。  クラりド䞊で高床なポヌタビリ ティを担保できたす。   Kubernetesは、珟圚のシステ ム状態が望たしい状態に䞀臎す るように動䜜したす。  はじめにシステムを初期化する だけでなく、その埌も継続的にシ ステムが䞍安定になった堎合や、 信頌性に圱響を及がす障害時 に、もずの状態に動的に戻した す。  迅速で簡単なロヌルバックで、 信頌性の高い頻繁なコンテナむ メヌゞのビルドずデプロむを提䟛 したす。  Web ベヌスのサヌビスは数時 間ごずに機胜改善されるこずが珍 しくなく、新しいコンポヌネントや 機胜を開発しデプロむできたす。
  11. CONFIDENTIAL designator V0000000 Node Node Node Node 14 リ゜ヌスの抜象化 Declarative

    Configuration Declarative Configuration apiVersion: apps/v1 kind: Deployment metadata: name: test-nginx #コンテナの名前 spec: selector: matchLabels: app: nginx #テンプレヌトを指定 replicas: 3 #レプリカ数Podの数 template: #䜜成されるPodのテンプレヌト metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 #ポヌト番号 クラりドプロバむダごずに異なる実装やサヌビスの詳现を知る必芁がなく、 宣蚀的にむンフラリ゜ヌスを管理できたす。 Deploy Infra Resources
  12. CONFIDENTIAL designator V0000000 Node Node Node Node 15 自己回埩性 Self-Healing

    Self-H ealing Kubernetesは、珟圚のシステム状態が望たしい状態に䞀臎するように動䜜したす。 Replicas = 3 Replicas = 4 Auto-Healing Node Error 望たしい状態(蚭定した倀) 起動状態(皌働しおいる倀)
  13. CONFIDENTIAL designator V0000000 16 自動スケヌリング Auto Scaling Auto Scaling Node

    Node Node Auto Scale Load Balancer 動的に負荷状況に応じたスケヌルアりトや、䞍芁なリ゜ヌスを瞮退したす。
  14. CONFIDENTIAL designator V0000000 正垞皌働 障害怜知 状態確認 埩旧䜜業 正垞確認 正垞皌働 障害怜知

    動的埩旧 Container Orchestration 䞍具合修正 or 再構築 正垞確認 自己修埩 (Self-Healing) 個別察応 (Customize) 17 クラりドネむティブずは Immutableな管理を行うこずが求められる 「壊れない」システムから、 「い぀でも回埩できる」システムぞの䟡倀芳の転換
  15. CONFIDENTIAL designator V0000000 https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/ Kubernetesが行わないこず Kubernetesは開発者の基盀を構築するための構成芁玠を提䟛したすが、 開発コンポヌネントは、ナヌザヌの遞択ず柔軟性を維持したす。 ・サポヌトするアプリケヌションの皮類を限定したせん。 アプリケヌションをコンテナ内で実行できる堎合は、Kubernetes䞊でもうたく動䜜するはずです。 ・゜ヌスコヌドのデプロむやアプリケヌションのビルドを行いたせん。

     継続的むンテグレヌション、デリバリヌ、デプロむ(CI/CD)ワヌクフロヌは、技術遞定がそうであるように、組織の文化や奜みによっお決たるからです。 ・アプリケヌションレベルの機胜は組み蟌みでは提䟛したせん。  ミドルりェア(䟋: Message Buses)、デヌタ凊理フレヌムワヌク(䟋: Spark)、デヌタベヌス(䟋: mysql)、キャッシュ、ストレヌゞシステム(䟋: Ceph) ・ロギング、モニタリング、アラヌト゜リュヌションぞの指瀺は行いたせん。  抂念実蚌(PoC)ずしおいく぀かのむンテグレヌション、およびメトリックを収集および゚クスポヌトするためのメカニズムを提䟛したす。 ・蚭定蚀語/システムを提䟛も匷制もしたせん。  任意の圢匏の宣蚀仕様の察象ずなる可胜性がある宣蚀APIを提䟛したす。 ・基盀のむンフラ構成、保守、管理、たたはセルフヒヌリングシステムは提䟛したせん。
  16. CONFIDENTIAL designator V0000000 19 Kubernetesの適甚範囲 (Platform on Platform) Kubernetesはクラりドの「Linux」 or

    「Kernel」 CI/CD Workload Serverless Workload Machine Learning Workload IoT Workload Workload Abstraction Any Applications Resource Abstraction Any Resources Virtual Private cloud Bare metal Public cloud Edge 開発コンポヌネントは、 ナヌザヌの遞択ず柔軟 性を維持
  17. CONFIDENTIAL designator V0000000 Enterprise Linux CoreOS 21 Red Hatが目指すアプリケヌションデプロむ 新しいアプリケヌションデプロむの展開

    Cloud-native apps AI/ML, Functions... Traditional apps サヌビス提䟛に察しお、環境を意識しない䞖界 Virtual Private cloud Bare metal Public cloud Edge Workload Abstraction
  18. CONFIDENTIAL designator V0000000 OpenShiftはKubernetesを補完する付加䟡倀機胜を提䟛 運甚プロセスを含めたポヌタビリティの実珟 AUTOMATED OPERATIONS CLUSTER SERVICES APPLICATION

    SERVICES DEVELOPER SERVICES Middleware, Service Mesh Functions, ISV Monitoring, Chargeback Registry, Logging Automated Builds, CI/CD, IDE 22 Any Infrastructure どの環境でも、迅速か぀ 信頌性の高いOS どの環境でも、同様の手 順でアプリケヌションを皌 働 どの環境でも、自動化さ れた運甚プロセスを実珟 Virtual Private cloud Bare metal Public cloud Edge
  19. CONFIDENTIAL designator V0000000 Automated operations 23 https://cloud.ibm.com/docs/openshift?topic=openshift-security&locale=ja 堅牢化されたコンテナ実行環境 OpenShift Core

    supports Developer Productivity & Cluster Management for Enterprise Kubernetes デファクトスタンダヌドなコンテナオヌケストレヌション Installation Configuration Cluster Scalability Cluster Upgrade Security GUI Network Enterprise Linux CoreOS Physical Virtual Private Public Any infrastructure certified Cluster Management 高床なセキュリティず監査、可甚性、管理の容易性 Cluster services monitoring, showback, registry, logging Application services middleware, functions, ISV Service mesh Developer services dev tools, automated builds, CI/CD, IDE Declarative Configuration Self-Healing Auto Scaling コンテナスタックのあらゆるレベルずアプリ ケヌションラむフサむクル党䜓のセキュリティ に重点を眮いおいる。 Trust with Red Hat.
  20. CONFIDENTIAL designator V0000000 システムの自埋運甚化 Operatorによる、システム党䜓の自埋運甚 正垞皌働 障害怜知 状態確認 埩旧䜜業 正垞確認

    正垞皌働 障害怜知 動的埩旧 䞍具合修正 or 再構築 正垞確認 自己修埩 (Self-Healing) 個別察応 (Customize) いたたで人が察応しおきた障害察応を自埋的に回埩する 『Operator』 Automated operations Manage with simplicity.
  21. CONFIDENTIAL designator V0000000 https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one OpenShift Core Value(For Developer/Operator) 堅牢化された コンテナ実行環境

    システムの自埋運甚化 コンテナアプリの 本番適甚 運甚を自埋化し、開発者のむノベヌションを加速する基盀 自動むンストヌルずKubernetes 運甚の自埋化はOpenShiftの 䞻芁な機胜であり、管理、アップ グレヌドを支揎し、難易床の高 いコンテナプラットフォヌムの提 䟛を容易にしたす。 ・Operator 開発者がコヌドの提䟛ずすぐに 䜿える豊富なサポヌトを利甚す るこずで、開発䜜業に集䞭でき る環境を提䟛したす。 ・AMT (Application Migration Toolkit) ・ISV ・CI/CD Pipeline ・Service Mesh Service ・Serverless Service 20幎以䞊にわたっおビゞネスク リティカルなアプリケヌション向 けのOSを提䟛しおきた経隓を、 Trustedなコンテナ基盀に掻甚 しおいたす。 ・RHEL CoreOS ・Container Catalog ・UBI Trust with Red Hat. Manage with simplicity. Build fast. Ship first.
  22. CONFIDENTIAL designator V0000000 26 OPTIONAL SECTION MARKER OR TITLE 2.

    今日のハンズオン内容の説明
  23. CONFIDENTIAL designator V0000000 今日のハンズオンでやるこず katacodaを掻甚した、OpenShiftの自習トレヌニングサむト https://learn.openshift.com を䜿っお、OpenShift でのアプリケヌションデプロむを䜓隓したす コヌスは以䞋の3぀順番にやっおみたす。 https://learn.openshift.com/introduction/cluster-access/

    OpenShiftクラスタにログむンしおみたす (10min) https://learn.openshift.com/introduction/deploying-images/ OpenShiftで、コンテナむメヌゞ化されたアプリケヌションをデプロむしおみ たす(10min) https://learn.openshift.com/introduction/deploying-images/ OpenShiftで、コンテナを意識せず、アプリの゜ヌスコヌドからアプリケヌ ションをOpenShiftにデプロむしたす(10min)
  24. CONFIDENTIAL designator V0000000 いったん、いっしょにやっおみよう!! タヌミナルず、OpenShift GUIコン゜ヌルの 切り替えタブ 手順のテキスト 簡単な英語 Google翻蚳ずか䜿っおもいいですよ

    黒いコマンド郚分をクリックするず 自動コピペされお楜チンですが 自分でタむプしおみるのが やった感じがあっおいいず思いたす 最埌たでいったら"CONTINUE"ボタンを抌そう
  25. CONFIDENTIAL designator V0000000 Linuxコンテナが... もし、玠朎なコンテナ、みたいな自習を したい人がいたら、Red Hat Enterprise Linux 8

    の自習サむトもおススメです!! https://bit.ly/rhel8lab-jp これがおすすめ https://bit.ly/2VzIEx5
  26. CONFIDENTIAL designator V0000000 たずめ おめでずうございたす!! これであなたも「んOpenShift? 知っおるよk8s掻甚したアプリケヌションラむフ サむクル基盀でしょ俺アプリデプロむしたこずあるけど手元でコンテナ䜜らなくおいいし、アプリ開発目 線で䜿えるしカンタンだよね」になりたした 今回うたくできなかったり、時間が足りなくおも、今日玹介した自習サむトは、い぀でもあずで詊すこずができ

    たすので、他のコヌスも含めお、ガンガンいじっおみおください!! OpenShift はアプリ開発者が安心しおアプリ開発に集䞭するためのアプリケヌションラむフサむクル基盀で す。コンテナ、Kubernetes, Operator ずいった技術を䜿いながら、Red Hat の安心のサポヌトが埗られた す!! あなたのアプリケヌション開発ラむフのお䟛にぜひ!!
  27. CONFIDENTIAL designator V0000000 [むベント告知]‹ OpenShift Commons Gathering‹ Japan 2020 のお知らせ‚

    お申し蟌みサむト https://red.ht/34VBpVG 2020/12/10(朚) OpenShift掻甚の最新技術か ら様々な事䟋たで満茉のオン ラむンむベントです!! 40
  28. CONFIDENTIAL designator V0000000 linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Red Hat is

    the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you 41