製品概要 - Red Hat OpenShift の主な特徴 サッカーベット者のメリット

HOME製品情報製品概要Red Hat OpenShift の主な特徴 サッカーベット者のメリット

製品概要インデックス

  1. OpenShift 概要
  2. Red Hat OpenShift の主な特徴
  3. Red Hat OpenShift の主な特徴 サッカーベット者のメリット
  4. Red Hat OpenShift の主な特徴 運用管理者のメリット

マルチテナントのサッカーベット体制実現の支援機能

  • サッカーベット者用のWebコンソールを利用した、セルフサービスでのサッカーベットが可能
    • 下記などを利用したイメージビルド/デプロイの自動化が可能
      • Gitリポジトリに置いているソースコード
      • コンテナイメージ (DockerやOpen Container Initiative仕様に準拠)
      • Dockerfile
      • サッカーベット言語/ミドルウェア/データベースなどのサッカーベット環境のカタログ
  • Webコンソールは、OpenShiftのMaster Node上で動作するコンテナアプリ
  • サッカーベットしたコンテナイメージは、OpenShift内部のレジストリに保存され、他チームがデプロイに利用することも可能
    • イメージのバージョン管理により、デプロイの再現性や一貫性を向上
  • OpenShiftの管理者が予め設定した権限やリソース制限のもとで、サッカーベット者が各プロジェクト※の中でコンテナアプリをサッカーベット
    • 管理者によって、予め割り当てられたプロジェクトを利用
    • サッカーベット者が利用する、CPU/メモリ/ストレージの上限設定が可能
プロジェクトは、OpenShiftのコンテナサッカーベット/デプロイの作業単位となる概念のこと。技術的には、Kubernetesのnamespaceにいくつかのアノテーションが付いたものです。

OpenShiftで提供される、セルフサービスサッカーベットの利用例

Gitリポジトリのソースコードを利用して、OpenShift環境にNode.jsアプリをデプロイ

サッカーベット者用コンソールを利用した、コンテナアプリのモニタリング

サッカーベット者が利用している各プロジェクトの、各Podのメトリクス(CPU/メモリ/送受信帯域幅など)を、サッカーベット者用コンソールから確認可能

コンテナアプリのビルド/テスト/デプロイの完全自動化

  • OpenShiftに統合されたPipelines (Tekton) を利用可能
    • ソースコードの静的解析/ビルド、単体/インテグレーションテストを実施 (CI部分を担当)
    • サーバレスなアーキテクチャ
  • OpenShiftに統合されたGitOps (Argo CD) を利用可能
    • GitリポジトリをSingle Source of Truthとし、デプロイ先の状態変化を自動検知して、定義された状態を維持
  • TektonとArgo CDは、Operatorによって運用を自動化

OpenShiftに統合されたWeb IDE

  • Eclipse Cheをベースとした、Kubernetes-NativeなWebブラウザベースのIDEであるRed Hat CodeReady WorkspacesをOpenShiftの標準機能として提供
    • サッカーベット者が自分のマシンで環境構築する手間をかけることなく、ブラウザベースの統一されたサッカーベット環境を利用することで、迅速なサッカーベット開始が可能
  • サッカーベット者用のWebコンソールに統合されており、コンソール上のリンクから簡単にアクセス可能
  • Che-Theia IDEがデフォルトのエディタになっており、Visual Studio Code(VS Code)のプラグインが利用可能
  • OpenShiftのCLIも利用できるため、このWeb IDEからOpenShift上へのアプリデプロイ・テストも実行可能
  • CodeReady Workspacesは、OpenShift上のコンテナアプリとして稼働
  • サッカーベット環境をコード化(Devfile)することで、サッカーベット環境自体にも冪等性を持たせることが可能

CodeReady Workspacesが提供するサッカーベット環境

様々なサッカーベット環境のテンプレートを利用可能

コード化されたサッカーベット環境: Devfile

  • サッカーベット環境をYAML形式で記述したファイル
    • サッカーベットするソースコードの参照先
    • サッカーベットコンポーネント
      • エディタ/プラグイン/ビルドツール/ランタイム/コンテナイメージ/ユーザが定義するコマンド、など
  • 作成したdevfileからワークスペース(Workspace Pod)の自動構築が可能
    • サッカーベット者は、コンソールでDevfileの内容を直接入力するか、Devfileを置いたGitリポジトリのURLを指定するだけでO.K.
  • 参考情報:
apiVersion:1.0.0
metadata:name:java-web-vertx  # ワークスペース(サッカーベット環境)の名前
projects:  # ソースコードの参照先
  - name:java-web-vertx
    source:type:git
      location:"https://github.com/che-samples/web-java-vertx"
components:  # ワークスペースの構成要素
  - type:chePlugin # ワークスペースで利用するプラグイン
    id:redhat/java/latest
  - type:dockerimage # 指定したコンテナをTerminalやコマンド実行に利用
    alias:maven
    image:quay.io/eclipse/che-java8-maven:nightly
    env:
      -name:JAVA_OPTS
        value:"-Duser.home=/home/user"
      - name:MAVEN_OPTS
        value:$(JAVA_OPTS)
    memoryLimit:512Mi
    endpoints:
      -name:'8080/tcp'
        port:8080
    commands: # ユーザが定義するコマンド
      - name:maven build
        actions: 
-type:exec
  component:maven
  command:"mvn clean install"

OpenShift Serverless

  • Knativeをベースとした、ServerlessをOpenShiftの標準機能として提供
    • Zero Server Opsやアイドル時のコンピューティングコストを0にすることが可能
  • .NET/Go/Java/Node.js/PHP/Python/Ruby/Shellなど、様々なプログラミング言語に対応 (サンプルコード)
  • Serverlessの主要な特徴
    • Serving: 使う時だけアプリを起動し、使われていない時は0へスケール可能
    • Eventing: HTTPリクエストやデータのアップロードなど、様々なイベントをトリガーにしたアプリの起動が可能 (イベントソースのリスト)

OpenShift Service Mesh

  • IstioやMaistraをベースとして、マイクロサービス間の通信制御や複雑な運用機能をOpenShiftの標準機能として提供
    • ネットワークの検出、負荷分散、サービス間認証、障害回復、モニタリング
    • A/Bテスト、カナリアリリース、レート制限、アクセス制御、エンドツーエンド認証
  • Service Meshは、Sidecarと定義されるL7 Proxyコンテナ(Envoy Proxy)を管理
    • Envoyはルーティングやテレメトリ収集、アクセス制限/リトライなどを適宜実施

Service Meshを利用したサンプルアプリのデプロイ

  • 4つの異なるマイクロサービスで構成されるサンプルアプリ(Bookinfo)のデプロイイメージ
    • 運用管理者は、サッカーベット者から渡されたアプリをデプロイする際に、Istioの利用を有効化
    • 全てのマイクロサービスは、サービスの全ての送受信トラフィックをインターセプトするEnvoy Proxyと一緒にパッケージ化され、サービス間通信制御ができるようになります
OCP-VirtでVMネットワーク構築!外部アクセスまでの手順紹介。SCSK技術者ブログ

選ぶなら業界をリードするコンテナプラットフォーム

OpenShiftならインフラ運用の効率化はもとよりアプリケーションサッカーベット者がソースコードのサッカーベットに専念できるように必要な機能までも提供してくれます