###3行で
- IBM Cloud の仮想サーバーの RedHat では
- サブスクリプションや yum の実行に都合が悪いことがあったので
- 変更してみた
NFR を使って OpenShift v3 を VSI にインストールしたい時などに役立つかもです
###サブスクリプションを変更してみる
サブスクリプションを変更する場合、先に Red Hat カスタマーポータルで有効なサブスクリプションがあることを確認しておきます
https://access.redhat.com/
###まずは状況確認
subscription-manager status
subscription-manager config --list
出力の中身は書きませんが、出力内の hostname や baseurl を見ると、IBM Cloud 内のドメインが指定されています。/etc/rhsm/rhsm.conf に指定があるので、これを変更していきます
- IBM Cloud で提供されているサブスクリプションを外す
subscription-manager unregister
* rhsm.conf を編集してから unregister するとしくじるので、先に unregister します。
*一度 unregister すると戻せない?様に思います。(subscription-manager subscribe --force とか効きません)よく考えてから実行しましょう
rhsm.conf のバックアップを取って、新たに空ファイルを作る
mv /etc/rhsm/rhsm.conf /etc/rhsm/rhsm.conf.bak
touch /etc/rhsm/rhsm.conf
rhsm.conf は存在しなくてもサブスクリプションの変更はできますが、yum 実行時に使うので作っておいてください
subscription-manager config --list
rhsm.conf を空にしておくと、すべてデフォルト値が指定されます。[]で括られた値がデフォルト値です
都合が悪い部分があれば、バックアップした rhsm.conf.bak の中身を見ながら、空の rhsm.conf に追記します
- 新しいサブスクリプションを適用する
subscription-manager register --force
RedHat カスタマーポータルのユーザーIDとパスワードを入力します
-
使用したい poolid の確認。複数のpoolidがある場合、どれを利用したいか選択します
subscription-manager list --available
-
poolid の割り当て
subscription-manager subscribe --pool= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
確認
subscription-manager status
yum の動作確認
yum update
エラーになります
[Errno 14] curl#77 - "Problem with the SSL CA cert (path? access rights?)"
pem ファイルの指定
/etc/rhsm/rhsm.conf.bak から以下の二つの行をコピーして /etc/rhsm/rhsm.conf にコピーする。二つの行は離れていますので、それぞれコピーします。
[rhsm]
repo_ca_cert = /etc/rhsm/ca/redhat-uep.pem
改めて動作確認
yum update
うまくいけば完了です
###最後に
※1 サブスクリプションのライセンス上、正しい所作なのかわかりません。自己責任でお願いします。
※2 OpenShift v4 では CoreOS の導入が必要ですが、通常のVSIだと、OSなしとかCoreOSとかは選択できないので、ベアメタルかVPCを使ってやればいいのだと思います(まだやってない)