インフラ無知な私がOPENSHIFT、K8sの現場に参画してみて

AWSでデプロイ経験はあれど『アドレスバーを叩いてデータが返ってくる』くらいの理解だった私が、OpenShift基盤構築チームに参画して学んだこと。


## はじめに
AWSでデプロイ経験はあれど、「アドレスバーを叩いてサーバーに行ってDCからデータが返ってくる」くらいにしか知らなかった私が、オンプレのOpenShift基盤構築運用チームに参画することになった。 基本設計書を読んでも用語が全くわからない。フロー図を見てもその用語が何をしているのかわからない。朝礼の話の内容が全く理解できない。一つずつ調べていくうちに、ソフトウェア制作とは全く違う世界があることを知った。
## チーム構成と役割 6人チームの構成はこうだった。 – **オンプレ担当 3名**(私はここ) – **DevOps担当 2名** – **リーダー 1名**(各種対応) DevOpsの2名はZabbixやPrometheusでログチェック、OCP・LVMSのアップデート、GitLabからConfigを作ってプロキシを挟んでCI/CD。applyしてGitと同期する、というのが主な仕事だった。 面白かったのは **Chaos Mesh** の存在だ。本番に近い環境で意図的に障害を起こし、システムの耐障害性を確認する手法で、「壊れても大丈夫か」を事前に確かめる発想がインフラらしいと感じた。

## 私の定常業務 私が毎日やっていたのはこういう作業だ。 – 新規NameSpaceの追加 – ResourceQuotaの変更 – SCC設定(restricted → baseline) – VIPの払い出しと削除 – 砂場(sandbox)の削除 手順はこうだ。NameSpaceの台帳から手順書に数値を写してConfig作成 → レビュー → TeraTerm で踏み台サーバーから `oc`(OpenShiftコマンド)でプロキシ+ファイアウォールを経由して入力 → K8s APIでリソース値がクラスターに反映される。 ログに `created` と出れば正常。確認者・上層部・立ち合いのもと、制限時間も申告してある。台帳と数値が合わなかったりしてエラーになると焦る。何事もなければ20分ほどで終わる。 シンプルに見えて、**本番クラスターに直接触れている緊張感**は毎回あった。 ## ResourceQuotaの厳しさ 依頼側(アプリを作る側)がResourceQuotaの増量を申請するには、試験をして以下の根拠を出さなければならない。 – L.RCPU / L.RMEM(Limit CPU・Memory) – PSTR(ストレージ) – PODs数 – ピーク時の差分 「**実績値 + JVM内訳 + 負荷試験ピーク**」の三点セットがないと承認できない。 最初は厳しいと思ったが、理由がわかってきた。クラスターのリソースは有限で、一つのNameSpaceが暴走すれば他に影響が出る。だから明確でない根拠の増量は認められない。**共有インフラの責任**とはこういうことかと理解した。

## インフラ未経験者が驚いたこと ### 「クラウド」の実体 クラウドという言葉が曖昧なままだったが、ちゃんとデータセンターの物理サーバーに入っている。AWSで公開とは実体はこうだ。

AWSの東京DC内の物理サーバー

仮想マシン(EC2インスタンス)

その一区画を月額数ドルで借りている


つまり日本国内にあるAmazonのDCを「間借り」しているということ。スマホで撮った写真がすぐにPCに同期するのも、高速でデータセンターに送ってそれが返ってきているということ。
### アドレスバーを叩いてから返ってくるまで これが一番の驚きだった。アドレスバーを叩いてデータが返ってくるまでに、こんなにも多くのやり取りと関所を高速で通り抜けているとは思っていなかった。 OSI参照モデル、10進数から2進数への変換、LINEと電話の通信の違いなどこの案件に参画しなければ調べることもなかった。

### セキュリティの考え方 ホワイトリスト、ゼロトラスト、IAM、どのIPなら許可するか——セキュリティの根本的な考え方を初めてちゃんと理解した。 使うイメージ(コンテナイメージ)にもウイルスが含まれている可能性があるので、それもスキャンしているということも知った。

## Kubernetesとは何か(素人の解釈) 難しいが、自分なりの理解はこうだ。 **K8sはDockerよりでっかいコンテナ管理システムで、Podが壊れたり間違って消しても自動で再生する。** データセンター(ハードウェア)をソフトウェア化したのがOpenShift。その中にコンテナ(K8s)を作る。中のサーバーはDB・WEB・APP。 データセンターはスクリプトでGETやPUTやバージョンアップができる。これがインフラのソフトウェア化(IaC)の本質だと理解した。

## 結論 **常に通信が止まらない仕組みで運用・保守されている。大きな基盤が二つあってメンテの時どっちか止める仕組み** 夜勤やトラブルがあれば現場(商用環境)で対応しなければならない人たちがいる。私たちの快適な通信は、このような保守があって成り立っている。 短い期間だったが、ソフトウェア開発者として見えていなかった世界の一端を見た。インフラを知ることで、アプリケーションの設計に対する考え方も変わった気がする。 — *この記事はオンプレOpenShift基盤の運用チームに参画した実体験をもとに書いています。技術的な詳細よりも「ガチな未経験者の目線で何が見えたか」に焦点を当てています。*