イングレスエラー:ERRESNF
Satellite
デフォルトのIngress Controllerの外部サービスが見つからない場合に、 ERRESNF のエラーを解決する方法について説明します。
ibmcloud oc ingress status-report ignored-errors add コマンドを使用して、無視されたエラーのリストにエラーを追加することができます。 無視されたエラーは、 ibmcloud oc ingress status-report get コマンドの出力には引き続き表示されますが、Ingress 全体の状況を計算する際には無視されます。
ibmcloud oc ingress status-report get コマンドを実行してクラスターの Ingress コンポーネントの状況を確認すると、以下のようなエラーが表示されます。
The external service is missing (ERRESNF).
デフォルトの Ingress コントローラーを公開するサービスがクラスターから欠落しています。
外部サービスを確認し、存在しない場合は作成してください。
-
外部サービスの詳細を取得します。
oc get service -n openshift-ingress router-external-default -
以下のコマンドを実行して、ワーカー・ノードの外部 IP アドレスを取得します。 「
EXTERNAL-IP」列のアドレスをメモします。kubectl get nodes -o wide -
以下のサービス構成を
service.yamlという YAML ファイルとして保存します。apiVersion: v1 kind: Service metadata: labels: ingresscontroller.operator.openshift.io/owning-ingresscontroller: default name: router-external-default namespace: openshift-ingress spec: ports: - name: http port: 80 protocol: TCP targetPort: http - name: https port: 443 protocol: TCP targetPort: https selector: ingresscontroller.operator.openshift.io/deployment-ingresscontroller: default externalIPs: - x.x.x.x # Add your worker node external IP addresses. -
先ほど取得したワーカー・ノードの外部 IP アドレスを
spec.externalIPsリストに追加します。 -
サービスを作成します。
kubectl create -f service.yaml -
10 分から 15 分待ってから、警告が解決されたかどうかを確認します。
-
問題が解決しない場合は、サポートにお問い合わせください。 サポート Case を開きます。 ケースの詳細には、関連するログ・ファイル、エラー・メッセージ、またはコマンド出力を必ず含めてください。