Slide 1

Slide 1 text

運用者にやさしいOpenShift Red Hat K.K. Solution Architect 宇都宮卓也 コンテナ共創センター勉強会 #14

Slide 2

Slide 2 text

kind: HumanBeings metadata: name: 宇都宮 卓也 spec: group: レッドハット株式会社 title: ソリューションアーキテクト born: 大阪 age: 40歳 favorites: technology: ストレージ hobby: [“プロレス観戦”,“将棋観戦”] drink: [“ビール”, “ワイン”] annoyance: [“目が霞む”, “よく眠れない”] うつぼ @japan_rook Japan Rook https://rook.connpass.com/ Cloud Native Data Community https://cndata.connpass.com/ https://www.redhat.com/ja/resource s/openshift-4-first-step-guide-step-t o-enterprise-kubernetes-ebook https://www.shoeisha.co.jp/ book/detail/9784798175027 $ whoami 運用者にやさしいOpenShift 2

Slide 3

Slide 3 text

みんな Kubernetes の運用に困っている あなただけではないから心配しないでね。 運用者にやさしいOpenShift 3

Slide 4

Slide 4 text

コンテナ環境で検討する運用項目 非コンテナ環境とそんなに変わらないですよね。 運用者にやさしいOpenShift モニタリング トラブルシューティング ミドルウェア管理 セキュリティ アップグレード キャパシティ管理 バックアップ 4

Slide 5

Slide 5 text

(私が考える)OpenShiftの運用する人へのやさしさ ※個人の感想です。効果には個人差があります。 運用者にやさしいOpenShift 使うツールが決まっている ツールは無償で使える セットアップが簡単 アップデートが簡単 5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

コンテナ環境で検討する運用項目 モニタリング トラブルシューティング ミドルウェア管理 セキュリティ アップグレード キャパシティ管理 バックアップ 非コンテナ環境とそんなに変わらないですよね。 運用者にやさしいOpenShift 7

Slide 8

Slide 8 text

モニタリング Monitoring

Slide 9

Slide 9 text

仮想マシン 監視対象の増加 OS ミドルウェア アプリケーション Hypervisor 仮想マシン 仮想マシン 仮想マシン Kubernetes コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ Hypervisor 仮想マシン 仮想マシン OS ミドルウェア アプリケーション OS ミドルウェア アプリケーション コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ : 監視対象 仮想マシン環境 コンテナ環境 OS OS OS モニタリング ぜーんぶ監視するんですよ。どうする? 運用者にやさしいOpenShift 9

Slide 10

Slide 10 text

仮想マシン コンテナ環境におけるモニタリングアプローチ OS ミドルウェア アプリケーション Hypervisor 仮想マシン 仮想マシン 仮想マシン Kubernetes コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ Hypervisor 仮想マシン 仮想マシン OS ミドルウェア アプリケーション OS ミドルウェア アプリケーション コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ コンテナ ミドル アプリ : 監視対象 仮想マシン環境 コンテナ環境 OS OS OS 意味ある単位で タグ付け 動的な監視 コンテナ環境におけるモニタリングアプローチ モニタリング 効率よく監視しないとね。 監視プロセスの 共通化 新しく生まれたリソースを 自動的に対象にして監視 をスタートする。 監視対象をうまくグルーピ ングする。 なるべくどの対象も共通の 方法で監視する。 運用者にやさしいOpenShift 10

Slide 11

Slide 11 text

https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html https://licensecounter.jp/devops-hub/blog/splunk1/ オブザーバビリティ(可観測性) 一定の期間にわたって測定された 数値のこと。 何が起きているのかを把握するた めに活用する。(CPU/メモリ使用 率、スループットなど) Metrics Tracing シングルリクエストの範囲内にて情 報処理を行うこと。 どこで問題が起きているのかを把握 するために活用する。 Logging 「いつどのように動いたか記録した テキスト」を蓄積する。 なぜ問題が発生したのかを把握す るために活用する。 アプリケーションログ、監査ログ、ス ケーリングログなど メトリクス・トレージング・ロギングの観点からシステムの状態を取得し、物事を正確に把握すること。 モニタリング クラウドネイティブ界隈でよく聴くこのワード。 運用者にやさしいOpenShift 11

Slide 12

Slide 12 text

Cluster Monitoring OpenShiftをインストールした時点で、クラスタに関する監視はCluster Monitoring(Prometheus)によって設定済みで す。 サービスディスカバリやタグ(Pod/Namespace/Deployment)での管理機能も具備しています。 そのため、OpenShiftを導入することで運用者はすぐにコンテナ環境に適したモニタリング環境を構築できます。 クラスタ全体の リソース使用率 ノードごとの リソース使用率 モニタリング 最初から使えます。 運用者にやさしいOpenShift 12

Slide 13

Slide 13 text

OpenShift Jaeger モニタリング インストールしたら使えます。 OpenTracing に準拠した分散トレーシングツールです。 複数のサービスにまたがったリクエスト処理内容(順序、処理時間など)を可視化し、問題箇所を特定します。 運用者にやさしいOpenShift 13

Slide 14

Slide 14 text

OpenShift Logging モニタリング OpenShift Logging(EFK)を有効化することによって、各Pod、Clusterから出力されるログをElasticsearch上に 保管します。 必要に応じてKibanaから閲覧可能です。 インストールしたら使えます。 運用者にやさしいOpenShift 14

Slide 15

Slide 15 text

ミドルウェアの管理 Middleware Management

Slide 16

Slide 16 text

ミドルウェア運用の自動化 OpenShiftでは、ミドルウェアの運用自動化をKubernetes Operator(Operator)で実装しています。 ミドルウェア or アプリケーション - 運用手順スクリプト - 環境設定 Operator Operatorとは、Kubernetes上でミドルウェアやアプリケーションを動的にデプロイ、管理するための手段です。 Kubernetesのリソースとコントローラーをベースとしており、運用者に代わってミドルウェアの複雑なインストールや設定、運 用、管理作業を代替します。 Kubernetes Operator – コンテナがコンテナを管理する時代に - ミドルウェアの管理 運用者にやさしいOpenShift 人がやると時間がかかるしミスも多いから。 16

Slide 17

Slide 17 text

Kubernetes 運用管理者 RHCOS ネットワーク ログ管理 監視 CI / CD ストレージ GUI コンテナ レジストリ メトリクス サーバレス コンテナ ランタイム セキュリティ RHCOS Service Broker 証明書管理 スケーラー RHCOS Infrastructure RHCOS ・・・ 運用者にやさしいOpenShift 具体的な作業はOperatorにやらせます。 運用者はOperatorに命令するだけ 管理用Operator 17

Slide 18

Slide 18 text

OpenShiftクラスター構築時点で “32個の Cluster Operator” OpenShiftはOperatorのかたまりなんです。 クラスター初期状態のOperator 運用者にやさしいOpenShift 18

Slide 19

Slide 19 text

OperatorHub OperatorHubによって各種ミドルウェアが提供されます。 Operatorを利用することによって、各ミドルウェアのインストール、設定、監視、アップグレードなどの運用操作を自動 化できます。 - CI Pipelines (Tekton) - GitOps (Argo) - Cluster Monitoring (Prometheus) - Logging (EFK) - Service Mesh (Istio) - Serverless (Knative) - Tracing (Jaeger / Kiali) - API Security (Gatekeeper) - Compliance (OpenSCAP) etc ミドルウェアの管理 運用者にやさしいOpenShift スマホアプリみたいにOperatorをインストールできます。 19

Slide 20

Slide 20 text

アップグレード Upgrade

Slide 21

Slide 21 text

OpenShiftのサポートライフサイクル 6ヶ月 or 次期GAから90日後 1年間 1年半 (18ヶ月) v4.9 2021/10/18 2023/04/18 v4.10 2022/03/10 v4.11 アップグレード https://access.redhat.com/ja/support/policy/updates/openshift 21 Kubernetesよりも長いライフサイクルです。 運用者にやさしいOpenShift

Slide 22

Slide 22 text

OpenShiftのアップグレード ワンクリックでOpenShiftクラスタをアップデートする「Over-the-Air (OTA) Update」機能を提供しており、コンポー ネントごとの管理が不要です。 Master Node Kubernetes API ホストOS(CoreOS) クラスタ管理サービス (クラスタOperator) Worker Node ホストOS(CoreOS) Kubernetesコンポーネント (etcd/api) Master Nodeのアップデート Kubernetes API: etcd/apiなどのコアコンポーネント クラスタ管理サービス: PrometheusやCNIなどのCluster Operator ホストOS: CoreOSのライブアップグレード Worker Nodeのアップデート Kubernetesコンポーネント: CNI, kubeletなどの管理対象コ ンポーネント One-click Upgrade 運用者 アップグレード OTAアップデート対象外のコンポーネント ・ユーザーでインストールしたOperator ・ユーザーがデプロイしたKubernetes Manifest 22 OpenShiftと言ったらOTAですよ。 運用者にやさしいOpenShift

Slide 23

Slide 23 text

Webコンソールのイメージ アップグレード 23 絶対に誰でもできるアップグレード。 運用者にやさしいOpenShift

Slide 24

Slide 24 text

アップグレードバージョンパス 現在のバージョンからアップデート可能なバージョンを確認することができます。またアップデート先のバージョンを指 定することで、現在のバージョンからのアップデートパスを確認することができます。 アップグレード https://access.redhat.com/labs/ocpupgradegraph/update_channel ←stable-4.9からのアップグレード先 ↓stable-4.5からstable4.9へのアップグレードパス 24 最短のアップグレードパスを提示します。 運用者にやさしいOpenShift

Slide 25

Slide 25 text

アップグレードで検討すべき事項 アップグレード アップグレード中は対象のノードが通信断になるため、サービス停止につながる恐れがある アップグレード時のサービス停止 Kubernetes APIの廃止によってアプリが正常に動作しない可能性がある バージョンアップに伴う動作変更 25 みんな気にするところ。 運用者にやさしいOpenShift

Slide 26

Slide 26 text

アップグレード時のサービス停止への対策① アップグレード インプレースアップデートに耐えうる余剰を準備することでサービス停止を回避することができます。 アプリケーションのステートフルな情報はクラスター外部に切り出し、全てのノードからアクセスできる構成を取っておくこ とが推奨されます。 NodeA OCP 4.9→4.10 NodeB OCP4.9 NodeA OCP 4.9 NodeB OCP 4.9→4.10 Stateful Data Stateful Data 1ノード分のPodが起動 できる余剰が必要 ノードに依存しないデータ の保持方法を採用 1ノードが完了したらまた Pod を移動させてアップデート実 施 どちらのノードからもア クセス可能な構成を取 る インプレースアップグレード 26 シングルクラスタならこうしましょう。 運用者にやさしいOpenShift

Slide 27

Slide 27 text

アップグレード時のサービス停止への対策② アップグレード Load Balancer Cluster A Cluster B OpenShift 4.9 OpenShift 4.9 Service Out Load Balancer Cluster A Cluster B OpenShift 4.9 OpenShift 4.10 Version Up Load Balancer Cluster A Cluster B OpenShift 4.9 OpenShift 4.10 ①サービスアウト ②バージョンアップ ③サービスイン マルチクラスター構成を取りBlue/Greenアップグレードを実施することで、ノード停止を意識せずに安全にアップグレー ドを実現できます。 Blue/Greenアップグレード Service Out ユーザー ユーザー ユーザー Stateful Data Stateful Data Stateful Data どちらのクラスターから もアクセス可能な構成を 取る サービスアウトした後で アップグレードを実施 27 マルチクラスタだともっと柔軟です。 運用者にやさしいOpenShift

Slide 28

Slide 28 text

まとめ Warp up

Slide 29

Slide 29 text

Red Hatが目指すコンテナ環境の運用 コンテナが持つ特性に応じて、OpenShiftの各機能を最大限活用し、従来の運用プロセスを刷新する ことで、運用の効率化、およびDevOpsの更なる推進をサポートします。 コンテナの特性を活用した運用の実現 コンテナの特性 揮発性 可搬性 不変性 運用するかたにやさしいコンテナ基盤を。 運用者にやさしいOpenShift 29

Slide 30

Slide 30 text

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