4.4. 認証プロキシー接続のトラブルシューティング


コンポーネントスコープのプロキシーで問題が発生した場合は、Operator の条件、イベント、および Pod の環境変数を確認することで、問題を診断して解決できます。

プロキシー関連のオペレーターイベント

認証オペレータは、プロキシー設定の変更によって障害が発生した場合にイベントを発行します。最新のイベントを確認するには、以下のコマンドを実行してください。

$ oc get events -n openshift-authentication-operator --sort-by=.lastTimestamp

プロキシー接続エラーを参照する 、理由が OperatorStatusChanged の イベントを探してください。プロキシーの URL が正しいこと、プロキシーサーバーが稼働していること、およびクラスターノードがプロキシーにアクセスできることを確認してください。

認証オペレーターがプロキシーエラーを報告する

接続拒否、DNS 解決エラー、TLS ハンドシェイクエラーなどのプロキシーレベルの障害が発生すると、Available 状態が False と 報告されます。Degraded 状態メッセージには、Degraded ステータスが False のままであっても、ProxyConfigController サブコントローラーからの診断の詳細が含まれます。以下のコマンドを実行して、Operator のステータスを確認します。

$ oc get clusteroperator authentication -o jsonpath='{.status.conditions}' | jq .

出力例

[
  {
    "type": "Available",
    "status": "False",
    "reason": "OAuthServerRouteEndpointAccessibleController_EndpointUnavailable",
    "message": "OAuthServerRouteEndpointAccessibleControllerAvailable: Get \"https://oauth-openshift.apps.example.com/healthz\": proxyconnect tcp: dial tcp: lookup proxy.example.com: no such host"
  },
  {
    "type": "Progressing",
    "status": "True",
    "reason": "OAuthServerDeployment_PodsUpdating",
    "message": "deployment/oauth-openshift: 3/3 pods have been updated to the latest generation and 1/3 pods are available"
  },
  {
    "type": "Degraded",
    "status": "False",
    "reason": "AsExpected",
    "message": "ProxyConfigControllerDegraded: failed to reach endpoint with error: Get \"https://oauth-openshift.apps.example.com/healthz\": proxyconnect tcp: dial tcp: lookup proxy.example.com: no such host"
  }
]

プロキシーに接続できない場合、利用可能 の状態は False と 表示されます。Degraded 状態は False の ままですが、メッセージには ProxyConfigController からのプロキシーエラーの詳細が含まれます。プロキシーの問題を診断する際は、両方の条件を確認してください。

プロキシーサーバーが稼働していること、プロキシーの URL とポートが正しいこと、および trustedCA config map に有効な PEM エンコード証明書が含まれていることを確認してください。

プロキシー設定ミスにより、全ユーザーがロックアウトされました。

プロキシーの設定ミスは、OAuth 認証を受けたすべてのユーザーを締め出す可能性があります。アクセスを回復するには:

  1. kubeadmin の 認証情報またはクライアント証明書認証を使用してログインしてください。どちらの方法も OAuth をバイパスします。
  2. 以下のコマンドを実行して、プロキシー設定を修正してください。

    $ oc edit authentication.operator.openshift.io cluster
  3. 認証オペレータが正常な状態に戻ったことを確認するには、次のコマンドを実行します。

    $ oc get clusteroperator authentication

    出力例

    NAME             VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    authentication   {product-version}.0     True        False         False      10m

OAuth サーバーが CA バンドルを信頼していません

OAuth サーバーがプロキシー TLS 証明書を検証できない場合は、以下を確認してください。

  • config map は openshift-config に存在し、有効な PEM エンコード証明書がキー ca-bundle.crt の下にあります。
  • spec.proxy.trustedCA.name の値は、実際の config map 名と一致します。
  • 中間証明書を含め、認証局証明書チェーンは完了しています。

    オペレーターは、openshift-config から openshift-authentication へ config map を自動的に同期します。

シングルノードの OpenShift Container Platform で認証が一時的に停止
プロキシー URL を変更すると、OAuth サーバーの再デプロイがトリガーされます。シングルノードデプロイメントの場合、レプリカが 1 つしか利用できないため、一時的なサービス停止が発生します。プロキシー URL の変更はメンテナンス時間中に行ってください。trustedCA config map コンテンツの更新は、再デプロイなしでホットリロードされます。
プロキシー経由での LDAP グループ同期が失敗

LDAP グループ同期 CronJob リソースは、認証 Operator によって管理されません。CronJob Pod 仕様上で、プロキシー環境変数を個別に設定します。以下に例を示します。

apiVersion: batch/v1
kind: CronJob
metadata:
  name: ldap-group-sync
spec:
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: sync
            env:
            - name: HTTPS_PROXY
              value: "http://proxy.example.com:3128"
クラスター全体のプロキシーとコンポーネントスコープのプロキシーの両方が設定済み

コンポーネントスコープのプロキシーは、認証コンポーネント用のクラスター全体のプロキシーを完全に置き換えます。どのプロキシーがアクティブになっているかを確認するには、次のコマンドを実行して OAuth サーバーの Pod 環境変数を調べます。

$ oc get deployment oauth-openshift -n openshift-authentication -o jsonpath='{.spec.template.spec.containers[0].env}' | jq .

出力例

[
  {
    "name": "HTTP_PROXY",
    "value": "http://proxy.example.com:3128"
  },
  {
    "name": "HTTPS_PROXY",
    "value": "http://proxy.example.com:3128"
  },
  {
    "name": "NO_PROXY",
    "value": ".cluster.local,.example.com,.svc,127.0.0.1,172.30.0.1,idp.internal.example.com,localhost"
  }
]

NO_PROXY の 値には、設定済みのエントリーと、自動的に追加されたクラスター内部のデフォルト値が含まれます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る