🎉

[受験記]Red Hat 認定スペシャリスト試験 - OpenShift Administration -

2021/04/29に公開

はじめに

Red Hat 認定スペシャリスト試験 - OpenShift Administration -をリモート試験で受験し合格しました。
その時の忘備録です。

試験の詳細についてはこちらをどうぞ。
https://www.redhat.com/ja/services/training/ex280-red-hat-certificate-expertise-platform-service-exam

リモート試験環境の準備

下記に日本語ガイダンス資料があるので、こちらを確認してください。
https://www.redhat.com/cms/managed-files/Remote-Exam-Pilot-Windows-jp.pdf

リモート試験のLive USBの作成

ガイダンス通りの手順を実施すればハマるようなポイントはないと思います。
Live DVDにできないかと試してみましたがFedoraMediaWriterでは作成ができませんでした。

利用した端末

自分の場合は下記のような構成でした。

  • ノートPC(内臓カメラ付き)
    • CPU: Core i5 3210M 2.5GHz/2コア
    • Memory: DDR3 PC3-10600 8GB
    • Display: WXGA(1366 x 768)
  • 外付けカメラ(ケーブル長が1m以上)
  • 有線のマウス(無線はNG!)

セキュリティ等諸般の事情により社用ノートPCを使うことができなかったため、かなり古い私用ノートPCを使いました。
一応上記で受験はできましたが、画面の解像度が低いため文字が読みづらかったです。

デスクトップPCで受けることも考えたのですが、筐体を机の上に置く、または360度から確認できる状態にしておくなどの条件があったためやむなく上記環境で実施しています。

机の上には試験に関係するもの以外は何も置けませんのでキレイにしておきましょう。
普段利用している机の上にはいろいろなケーブルが固定されていたりして整理するのが大変だったため、余っていた机を使って環境を整えました。

要綱に書いてありますが、無線のマウスは利用できず有線のマウスのみ可能です。また有線のキーボードも利用できますが、その場合はノートPCの画面を閉じて別のディスプレイを使う必要があります。(何故?)

試験前の確認

Live USBで起動後、言語設定やキーボード設定をしたのちにCompatibility Checkが行えます。
試験の再スケジュールは24時間まえであれば可能なので、それよりも前にチェックを済ませておくことをお勧めします。

EX280

出題範囲は下記の通りです。

https://www.redhat.com/ja/services/training/ex280-red-hat-certificate-expertise-platform-service-exam?section=試験の内容

各項目についてポイントを絞って説明します。

OpenShift Container Platform の管理

  • コマンドライン・インタフェースを使用して、OpenShift クラスタを管理および構成する
  • Web コンソールを使用して、OpenShift クラスタを管理および構成する
  • プロジェクトを作成して削除する
  • Kubernetes リソースをインポート、エクスポート、設定する
  • リソースとクラスタのステータスを確認する
  • ログを確認する
  • クラスタイベントとアラートを監視する
  • 一般的なクラスタイベントとアラートのトラブルシューティング
  • 製品マニュアルを使用する

主にocコマンドの利用方法などを学んでおけば良いです。
「Webコンソールを使用する」という項目もありますが、ocコマンドで解決できる問題のみ出題されました。

試験中に製品ドキュメントをみることができますが、ドキュメント全体から特定の文字列で検索するなどといった操作ができないので目当ての情報を探し出すのが結構大変だと思います。

ocコマンドは--helpまたは-hオプションでサブコマンドやオプションが見られるので、そちらをみて雰囲気をつかんでおいた方が良いです。

ユーザーとポリシーの管理

  • 認証用に HTPasswd ID プロバイダーを構成する
  • ユーザーを作成して削除する
  • ユーザーのパスワードを変更する
  • ユーザーおよびグループの権限を変更する
  • グループを作成して管理する

htpasswdによるユーザ作成に加えて、OpenShift独自のOAuth Resourceを利用する問題が出ます。

htpasswdについては-cbBオプションなど使ってhtpasswdファイルの新規作成やユーザの追加までの手順を一通り覚えておく必要があります。

Secret Resourceの作成は下記のコマンドで実行します。

oc create secret generic <任意のSecret名> --from-file htpasswd=<作成したhtpasswdファイル名> -n openshift-config

-n openshift-configの部分も忘れがちなので間違えないように。

下記のようなYAMLを書いてapplyします。

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster # 名前はclusterで固定。任意の名前をつけない。
spec:
  identityProviders:
  - name: my_htpasswd_provider # 任意の名前
    mappingMethod: claim # claimで固定
    type: HTPasswd # HTPasswdで固定
    htpasswd:
      fileData:
        name: htpasswd-secret # 事前に作成しておいたHTPasswdのsecret名を指定

oc explain oauth --recursiveでspec全体をみることが可能ですが、type: HTPasswdHTPasswdmappingMethod: claimなどのclaimの部分はexplainではでてこない情報なので覚えておいたほうが良いです。
本番で忘れてしまった場合は製品ドキュメントから頑張って探しましょう。

リソースへのアクセスの制御

  • ロールベースのアクセス制御を定義する
  • ユーザーにアクセス許可を適用する
  • 機密情報を管理するためのシークレットを作成して適用する
  • セキュリティコンテキストの制約を使用してサービスアカウントを作成し、アクセス許可を適用する

    oc adm policy関連のコマンドを覚えておけばいいです。

ユーザにClusterRole付与する際は
oc adm policy add-cluster-role-to-user <ClusterRole名> <ユーザ名>

グループにClusterRoleを付与する場合は
oc adm policy add-cluster-role-to-group <ClusterRole名> <グループ名>

ServiceAccountにClusterRoleを付与する場合は
oc adm policy add-cluster-role-to-user <ClusterRole名> -z <ServiceAccount名>

ServiceAccountのみ-zオプションが必要です。

ネットワークコンポーネントの構成

  • ソフトウェア・デファインド・ネットワークをトラブルシューティングする
  • 外部ルートを作成して編集する
  • クラスタネットワークの進入を制御する
  • 自己署名証明書を作成する
  • TLS 証明書を使用してルートをセキュリティ保護する

oc exposeoc create routeコマンドの理解を深めておいたほうが良いです。
特にTLS関連について、RouterでTLS終端を行うoc create route edgeやTLS
TLS終端を行わないoc create route paththroghを覚えておいてください。

ポッドスケジューリングの構成

  • リソース使用量を制限する
  • 増加する要求に合わせてアプリケーションを拡張する
  • クラスタノードへの Pod 配置を制御する

OpenShift独自色はなく、KubernetesのtainttolerationnodeSelectorが出題されます。

クラスタスケーリングの設定

  • クラスタワーカー数を手動で制御する
  • クラスタワーカー数を自動的にスケーリングする

OpenShift色が強いところだったのですが、RHLSではAppendix的な扱いなので軽く目を通しておくだけにしました。

DO280のコースを一通り流しておけば受かる難易度かと思います。

CKAやCKADではYAMLを書くことが多いですが、EX280はそこまでYAMLを書くことはなかった気がします。代わりにocコマンドを叩き続けるような試験でした。

受験結果

受験後に3日以内にメールで結果が来ます。自分の場合は受験後2時間くらいで来ました。
スコアは下記で、225/300と合格ライン210点をギリギリ超えた感じです。

項目 スコア
Manage OpenShift Container Platform 83%
Manage users and policies 100%
Control access to resources 100%
Configure networking components 33%
Configure pod scheduling 57%

もう少しとれているとは思っていたのですが、Configure networking componentsとConfigure pod schedulingがあまり良くなかったようです。
問題の意図を読み取れないものがいくつかあり「解決手段はいくつかあるけど、なにをやってほしいのかわからん」という状況になったのでそれが結果に出ているのかもしれません。英文にしても正直何を言いたいのかよくわからないものもありました。

おわりに

RedHatの試験ははじめてうけたのですが、EX280についてはCKS/CKADに比べると意図が読み取りづらい問題が多かったように思います。
次はRHCSAあたりを取得しておこうかなと思います。

Discussion