0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Operator管理下のリソースは「原本」を直さないと巻き戻される

0
Last updated at Posted at 2026-07-28

結論

Operatorが管理するリソースを手で直しても、reconcileで元に戻ります。直すべきは、Operatorが入力として見ている「原本」です。

何が起きたか

OpenShift上のある製品でカスタムドメイン名を変更したら、ログインが401で通らなくなりました。原因は内部通信用のCA証明書が新旧で食い違っていたことです。

そのCAを保持しているConfigMapを手で書き換えると、401は消えます。ところがしばらくすると再発し、ConfigMapを見ると古いCAに戻っていました。直す→戻るを何度か繰り返して、ようやく「直す場所が違う」と気づきました。

なぜ巻き戻るのか

この製品では、証明書が3層のチェーンで管理されていました。

Operatorは「あるべき状態」を定期的に原本から作り直します。ConfigMapだけ直しても、次のreconcileで原本の旧CAがコピーされ戻ります。原本のSecretを直せば、reconcile後も新CAが維持されます。

直し方

原本のSecretを更新し、reconcileを待つと派生物まで自動で伝播します。

# 現状を保存(type の確認も兼ねる)
oc get secret <cert-secret> -n <namespace> -o yaml > cert-secret-backup.yaml
oc get secret <cert-secret> -n <namespace> -o jsonpath='{.type}{"\n"}'

# 中身だけ差し替える(type / labels / ownerReferences を保持)
oc patch secret <cert-secret> -n <namespace> --type=merge -p "$(cat <<EOF
{"data":{
  "ca.crt":"$(base64 -w0 ca.crt)",
  "tls.crt":"$(base64 -w0 tls.crt)",
  "tls.key":"$(base64 -w0 tls.key)"
}}
EOF
)"

# チェーンが繋がっているか確認(中間CAがある場合は -untrusted intermediate.crt を追加)
openssl verify -CAfile ca.crt tls.crt

oc deleteoc create で作り直すと、Secretのtypeが Opaque に変わったり、ownerReferencesが消えてOperatorにデフォルト値で再作成されたりします。中身だけpatchするのが安全です。

派生のConfigMapや成果物には手を触れません。原本が正しくなれば、Operatorが下流を作り直してくれます。

ハマりやすい点

同名・別鍵のCA。 新旧のCAがCNまで同じで鍵だけ違うことがあります。名前で見ると「同じCAだ」と誤認しやすく、証明書検証の失敗を長く追う羽目になります。発行日や鍵の指紋で区別してください。

副次エラーに釣られる。 証明書チェーンが切れると、認証やアプリ層で別のエラーコードが出ることがあります。表面のエラーを追うと迷子になります。ログを時系列で並べ、どのエラーが他方を引き起こしているのか因果を追うのが早道です。

派生物が新しくなっても反映されない。 トラストストアは起動時に読み込まれることが多く、ConfigMapとp12が更新されても参照側のPodは旧トラストストアを掴んだままです。伝播を確認したら、参照側をrolloutしてください。

まとめ

Operator管理下のリソースを手で直すときの手順です。

  1. 派生物には ownerReferences が付くので、それを辿って原本を特定する
  2. 派生物ではなく原本を直す
  3. reconcileで派生物まで伝播したことを確認し、参照側Podをrolloutする

「一時的に直ったのにしばらくすると戻る」なら、原本ではなく派生物を直している可能性が高いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?