文系1年目〜 対応 / 楽天モバイルの技術スタックを読み解く

☸️ K8s と OpenShift の関係を
やさしく理解する

「OpenShift って Kubernetes と何が違うの?」をゼロから図解でわかるガイド

🎯 一言でいうと、どんな関係?

最初にシンプルな答えを押さえましょう

📌 結論:OpenShift は「Kubernetes をベースに、企業向けの便利な機能を大量に追加したパッケージ製品」です

Kubernetes(K8s)は土台となるオープンソースのソフトウェア。
OpenShift はその上にRed Hat(レッドハット)社が企業向けの機能・サポート・セキュリティを乗せた商用製品です。

OpenShift の中には必ず K8s が動いています。
🐧 Linux カーネル vs ディストリビューション Linux カーネル(コア機能) Ubuntu CentOS RHEL(Red Hat) 同じカーネルを使いつつ、使いやすくパッケージ化した「配布版」 ☸️ K8s vs OpenShift Kubernetes(コア機能) Rancher (SUSE) Tanzu (VMware) OpenShift (Red Hat) 同じK8sを使いつつ、企業向けにパッケージ化した「配布版」

Linux カーネル = K8s、Ubuntu/RHEL = OpenShift/Rancher という対比で理解できる

🚗 車で例えると:

K8s = エンジン(性能は高いが、自分で車体・シート・ハンドルを取り付ける必要がある)
OpenShift = 完成した高級車(エンジンは同じK8s。でも安全装置・ナビ・保証がすべて付いてすぐ乗れる)

🏗️ OpenShift の「層」の構造

OpenShift が K8s の上にどんな層を重ねているか見てみましょう

🖥️ インフラ(物理サーバー / VM / クラウド) 🐧 Red Hat Enterprise Linux(RHEL) / CoreOS OpenShift専用のOS。セキュリティが厳しく設定済み ☸️ Kubernetes(コアエンジン) Pod管理 / スケジューリング / 自動復旧 / サービス ← ここはK8sそのもの 🔒 セキュリティ強化 SCC(権限制御) デフォルトで厳格なポリシー 🚀 CI/CDパイプライン Tekton(自動ビルド) ArgoCD(自動デプロイ) 📊 監視・ログ Prometheus(メトリクス) Grafana(ダッシュボード) 🖥️ 管理コンソール(UI) ブラウザから操作可能 コマンド不要で設定できる 🎯 開発者・運用者向けの統合体験 Source-to-Image(コードを書くだけで自動でコンテナ化)/ Operator(アプリの自動運用) Red Hat サポート(24時間365日の企業向けサポート) ← K8s ← OpenShift ← が追加

青い層がK8sそのもの。赤い層がOpenShiftが上乗せした機能

➕ K8s に何が追加されているの?

「素のK8s」と「OpenShift」の具体的な違いを一つひとつ見ていきます

🔒

セキュリティが最初から厳格

素のK8sはセキュリティ設定が緩め。OpenShiftは「最初からガチガチに固めてある」状態で出荷される。SCC(権限制御)が強力。

🖥️

ブラウザの管理画面(UI)

素のK8sはコマンド操作が基本。OpenShiftはブラウザで全操作できる管理コンソールが標準搭載。

🚀

自動ビルド&デプロイ

コードをGitに push するだけで、自動でコンテナ化→テスト→デプロイまで流れる仕組みが標準で入っている(CI/CDパイプライン)。

📊

監視ツールが最初から入っている

Prometheus(データ収集)、Grafana(グラフ表示)などが設定済みで最初から使える。素のK8sでは自分で入れる必要がある。

📦

Operator(自動運用ロボ)

データベースやミドルウェアの運用を自動化する「Operator」が豊富に用意されている。アップデートや障害対応を自動化できる。

🛡️

Red Hat の企業サポート

24時間365日の技術サポートが受けられる。素のK8sは自力でトラブル解決が必要。大企業には必須。

☸️ 素の Kubernetes コアエンジン(Pod管理・スケジューリング) ✅ 完全な自由度 ✅ 無料(OSS) ⚠️ 自分でツールを揃える必要 ⚠️ サポートなし Red Hat が追加 🔒 セキュリティ強化 🖥️ 管理UI 🚀 CI/CD 📊 監視・サポート 🎯 OpenShift (Red Hat 製品) K8s コアエンジン(中に入っている) 企業向け全機能セット すぐ使える / 安全 / サポート付き

OpenShift = K8s + Red Hatが追加した企業向け機能 の組み合わせ

⚖️ K8s と OpenShift、どちらを使うべき?

向いているシーンが違います。使い分けの判断基準を整理しましょう

☸️ 素の Kubernetes が向いているケース

  • エンジニアが多く、自分たちで設定・カスタマイズできる
  • コストを最小限に抑えたい(OSS で無料)
  • AWS EKS / GKE / AKS などマネージドK8sを使う
  • 自社独自のツール構成にしたい
  • スタートアップや小〜中規模のシステム

🎯 OpenShift が向いているケース

  • セキュリティ基準が厳しい(金融・医療・通信など)
  • K8sの専門家がいない、サポートが必要
  • 管理UIで運用チームが操作したい
  • CI/CD・監視まで含めてまとめて導入したい
  • 大企業・ミッションクリティカルなシステム
比較軸素のKubernetesOpenShift
コスト OSS なので無料
(運用・学習コストは別途)
有償(サブスクリプション)
Red Hatへのライセンス料が必要
セキュリティ 自分で設定が必要
デフォルトは緩め
最初から厳格な設定済み
金融・通信レベルに対応
管理UI なし(Dashboardは別途) 高機能なUIが標準搭載
CI/CD 別途 Jenkins等を自分で構築 Tekton / ArgoCD が標準搭載
監視 Prometheusなどを自分で構築 Prometheus / Grafana が標準搭載
サポート コミュニティのみ Red Hat による24時間365日のサポート
カスタマイズ性 非常に高い(何でも自由) やや制約あり(安定性のため)
主な利用者 テック系スタートアップ、クラウドネイティブ企業 大企業・通信・金融・医療・政府機関
💡 わかりやすいたとえ:

K8s = Linux カーネルのソースコード(無料だが、自分でOSを組み立てる必要がある)
OpenShift = Red Hat Enterprise Linux(RHEL)(有料だが、すぐ動く・サポートあり・企業保証つき)

Red Hat は Linux で同じ戦略をとっている会社です。K8s版でも同じモデルを採用しました。

📡 楽天モバイルが OpenShift を使う理由

楽天モバイルのK8s基盤は Red Hat OpenShift の上で動いています。なぜでしょうか?

📡 楽天の要件 通信インフラ → 最高水準のセキュリティ 5万台規模 → 24時間サポート必須 週次デプロイ → CI/CDが必要 規制対応 → 監査・ログ管理が必須 複数ベンダー混在 → 統一基盤が必要 全部 解決 🎯 OpenShift が解決 SCC・デフォルトセキュリティポリシー Red Hat 24/365 企業サポート Tekton / ArgoCD が標準搭載 Prometheus / 監査ログ機能 統一K8s基盤でマルチベンダー対応 ✅ 結果 世界初の完全クラウド ネイティブ5G網を 本番運用できた GSMAアワード受賞 TM Forum 世界初認定

楽天モバイルの厳しい要件をすべてOpenShiftが満たしているため採用された

Red Hat(レッドハット)とはどんな会社?

🏢

企業概要

1993年創業のアメリカの企業。Linux の商用サポートで成長し、現在は IBM 傘下。売上の大部分がオープンソースの商用サポート。

🐧

RHEL(Linux)で有名

Red Hat Enterprise Linux(RHEL)は世界の大企業・政府・金融機関が使う信頼性の高いLinuxディストリビューション。

☸️

OpenShift で K8s 市場へ

K8sが登場するとすぐに、「RHEL でやったのと同じモデル」でK8sの企業版を作った。それが OpenShift。

🤝

Kubernetes コア開発にも参加

Red Hat は Kubernetes のコア開発チームにも大勢のエンジニアを送り込んでいる。OSS の発展にも貢献。

📦 OpenShift の製品バリエーション

OpenShift にはいくつかのバリエーションがあります。名前を聞いたときに混乱しないよう整理しておきましょう

製品名動く場所どんな場合に使う?
OpenShift Container Platform
(OCP)
自社データセンター / クラウド 楽天モバイルが使っているのがこれ。自社インフラに完全インストールして使う、最も本格的な版
OpenShift Dedicated AWS / GCP 上 クラウド上にRed Hatが管理するOpenShiftクラスタを用意。インフラ管理をRed Hatに任せたい場合
ROSA
(Red Hat OpenShift on AWS)
AWS 上 AWSと共同管理するOpenShift。AWSユーザーが手軽にOpenShiftを始める場合
OpenShift Local
(旧CodeReady Containers)
個人のPC上 開発者が自分のPCでOpenShiftを試すための小さな版
OKD 自社サーバー OpenShiftのオープンソース版(無料)。サポートなしでいい場合。コミュニティ版。
💡 楽天モバイルが使っているのは OpenShift Container Platform(OCP)
自社の5万台以上のサーバーに OpenShift をインストールし、完全に自社管理しています。これが最も本格的・高機能な使い方です。

❓ よくある疑問

Q. OpenShift の中で使われている K8s は、普通の K8s と同じもの?
基本的には同じ K8s がベースになっていますが、Red Hat が独自に修正・最適化したバージョンが使われています。

そのため、通常の kubectl コマンドはそのまま使えますが、OpenShift 独自の oc(OpenShift CLI)というコマンドも追加されています。

ただし K8s の中でも「SCC(セキュリティコンテキスト)」などの制約が追加されているため、素のK8sで動いていたコンテナが OpenShift では動かないことがあります。
Q. EKS(Amazon)や GKE(Google)とは何が違うの?
EKS / GKE / AKS はクラウド各社が提供する「マネージド Kubernetes」です。K8sをクラウド上で管理してくれるサービスで、OpenShiftとは別物です。

EKS(AWS):AWS上で動く素のK8s管理サービス。OpenShiftの機能は付いていない。
OpenShift on AWS(ROSA):AWS上でOpenShiftを動かすサービス。企業向け機能付き。

つまり「どこで動かすか(クラウド vs 自社)」と「何を動かすか(K8s vs OpenShift)」は別の軸の話です。
Q. Ansible(アンシブル)ってよく Red Hat と一緒に聞くけど何?
Ansible は Red Hat が買収したIT自動化ツールです。K8s / OpenShift とは別のツールですが、よく組み合わせて使われます。

Ansible の役割:サーバーの初期設定・ソフトウェアのインストール・設定変更などを自動化するツール。
「1000台のサーバーに同じ設定をする」というような作業を、コードを書くだけで自動化できます。

OpenShift + Ansible を組み合わせると「サーバー構築の自動化」から「K8s上のアプリ運用の自動化」まで一貫して対応できます。楽天モバイルでも使われています。
Q. OpenShift は高いと聞くが、どのくらいかかるの?
Red Hat のサブスクリプションは、コア数・ノード数などに応じた年間契約です。価格は非公開で規模によって交渉になりますが、一般的に「数百万〜数千万円/年」の規模感です(大企業向けは億単位も)。

一方で「サポートに頼れる安心感」「自前で構築するエンジニアコストの削減」「インシデント時の損失リスク低減」などを加味すると、通信・金融・医療では十分にペイするという判断がされています。

楽天モバイルのような5万台規模では、自前でK8sを運用するエンジニアを揃えるコストより、OpenShiftのライセンス+サポートを使う方が合理的とも言えます。
Q. 「Operator(オペレーター)」って何?
Kubernetes の拡張機能のひとつで、「アプリの運用を自動化するロボット」のようなものです。Red Hat / OpenShift で特に発展した概念です。

たとえばデータベース(PostgreSQL)を K8s 上で運用するとき、通常は人間が
・バックアップの設定
・バージョンアップ
・障害時のフェイルオーバー
…などを管理します。

Operator はこれらを「K8sの仕組みを使って自動化するプログラム」です。「PostgreSQL Operator を入れれば、あとは全自動で管理してくれる」というイメージです。

Red Hat の「OperatorHub」には数百種類の Operator が公開されており、OpenShiftユーザーはすぐに利用できます。