Helm コマンドの問題のトラブルシューティング

Kubernetes および OpenShift クラスターの ​helm​ コマンドで返されるエラーのトラブルシューティング

アップグレードに失敗する: 例外エラー

Flex Gateway のデプロイメント中に ​registration.yaml​ ファイルを Helm コマンドに渡すときにこのファイルが無効であると、次のエラーになります。

Error: UPGRADE FAILED: execution error at (flex-gateway/templates/deployment.yaml:4:10):
registerSecretName, registration.content or registration.secretName is required!

このエラーが発生した場合は、​registration.yaml​ ファイルが空でないことを確認してください。ファイルが空である場合、新しい一意の名前でゲートウェイを登録して、新しい ​registration.yaml​ を生成し、登録ステップの手順を再実行します。登録コマンドの例については、​「Flex Gateway を登録する」​を参照してください。

アップグレードに失敗する: タイムアウト

問題によっては、次のタイムアウトエラーが発生する前に、(コマンドの ​--wait​ フラグが原因で) 最大 5 分間 Helm アップグレードコマンドがハングする可能性があります。

Error: UPGRADE FAILED: timed out waiting for the condition

通常、このエラーは、クラスター設定に誤りがあるか、クラスター設定ツールでこのプロセスがサポートされていないことを意味します。原因 1 つとして、​LoadBalancer​ 種別の ​Service​ リソースの生成の失敗が考えられます。さらにトラブルシューティングするには、次のコマンドを実行します。

  • kubectl -n gateway describe deployment
    kubectl
  • kubectl -n gateway describe service
    kubectl

Kubernetes クラスターに到達できない

helm​ を使用して Flex Gateway をデプロイしようとしているときに Kubernetes クラスターが実行されていない場合、次のエラーが発生する可能性があります。

Error: Kubernetes cluster unreachable:
the server could not find the requested resource

クラスターを実行するサービスを開始します。

次のように、Kubernetes クラスターホストでクラスターが実行されていることを確認します。

kubectl cluster-info
kubectl
  • クラスターが実行されている場合、コマンドで次のような結果が返されます。

    Kubernetes control plane is running at https://34.30.50.119
    GLBCDefaultBackend is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy
    KubeDNS is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    Metrics-server is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy
  • クラスターが設定されていない場合、コマンドで次のような結果が返される可能性があります。

    To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
    error: the server doesn't have a resource type "services"

CRD をインストールできない

ロールベースのアクセス制御 (RBAC) を有効にする Kubernetes クラスターに Flex Gateway をデプロイする場合、Flex Gateway で使用されるカスタムリソース定義 (CRD) のインストールを許可するクラスターレベルの権限が必要です。 OpenShift では、​cluster-admin​ ロールによってこのレベルのアクセスが提供されます。

必要なアクセス権がない場合、次のようなエラーが発生します。

Error: failed to install CRD crds/apiinstance.yaml:
customresourcedefinitions.apiextensions.k8s.io is forbidden:
User "user1" cannot create resource "customresourcedefinitions"
in API group "apiextensions.k8s.io" at the cluster scope