Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Service Mesh のインストールを開始すると、正しくないログイン情報や不十分なポッドスペースなどに起因する問題が発生することがあります。インストール時の問題の考えられる原因と、問題のトラブルシューティング方法を以下の各セクションで説明します。
Anypoint Service Mesh のインストールを開始し、インストーラーが連動関係のチェックを行っているように見えた後に the given credentials are invalid
エラーが表示されます。
このエラーの考えられる原因は次のとおりです。
インストーラーに対して指定した、クライアント ID とクライアントシークレットのログイン情報が正しくない。
インストールで使用しているコントロールプレーンが正しくない。
このエラーを解決するには、次の手順を実行します。
US コントロールプレーンを使用していない場合は、正しいコントロールプレーンを参照するように、正しい変数をエクスポートしてあることを確認します。たとえば、--platformUri=https://eu1.anypoint.mulesoft.com
というフラグを指定します。
または、SERVICEMESH_PLATFORM_URI
変数を設定してコントロールプレーンを変更します。
export `SERVICEMESH_PLATFORM_URI=https://eu1.anypoint.mulesoft.com
組織または環境の正しいログイン情報を取得します。
正しいクライアント ID とクライアントシークレットのログイン情報を使用して、インストーラーを再起動します。
Anypoint Service Mesh のインストールを開始すると、インストーラーがタイムアウトになります。
このエラーを解決するには、次の手順を実行します。
インストーラーが実際にエラーとなる前にポッドの状況を確認します。
kubectl get pods --all-namespaces
名前空間にあるすべてのポッドが、状況と詳細と共に表示されます。
ポッドの状況が Pending
である場合は、ポッドの詳細情報を確認します。
kubectl describe pods pod_name -n service-mesh
コマンドが返した結果の Events
セクションを見ると、ノードのスケジューリングが失敗したことが示されています。
ノードの容量を超えていないことを確認します。
kubectl describe nodes
ノードの容量を増やすか、またはノードを追加します。
ヒント: Amazon EKS を使用している場合、ノードの容量はインスタンス種別から計算されます。したがって、インスタンス種別を増やすことで、ポッド数も増えます。
Anypoint Service Mesh インストーラーを再起動してインストールを完了します。
Anypoint Service Mesh のインストールを開始すると、インストーラーが failed calling webhook
エラーで失敗します。
Error: release service-mesh failed, and has been uninstalled due to atomic being set: Internal error occurred: failed calling webhook "pilot.validation.istio.io": Post https://istio-galley.service-mesh.svc:443/admitpilot?timeout=30s: no endpoints available for service "istio-galley"
FATAL: Installing 'service-mesh' Helm Chart!!!
この問題を診断する手順は、次のとおりです。
メインノードがワーカーノードのポート 443 にアクセスできることを確認します。
前回のインストールやアンインストールからの孤立リソースが残っていないことを確認します。
kubectl get clusterservicebrokers,clusterrole,psp,clusterrolebinding,mutatingwebhookconfigurations,validatingwebhookconfigurations -oname | awk '/(service-mesh|istio|catalog)/'
既存の孤立リソースが表示されます。
この問題を解決する手順は、次のとおりです。
メインノードがワーカーノードのポート 442 にアクセスできない場合は、プロバイダーに基づいてセキュリティグループを編集します。
孤立リソースが見つかった場合は、孤立リソースを削除してから Anypoint Service Mesh を再インストールします。リソースに応じて、次のいずれかのコマンドを実行します。
$ kubectl delete ns service-mesh
$ kubectl get clusterservicebrokers,clusterrole,psp,clusterrolebinding,mutatingwebhookconfigurations,validatingwebhookconfigurations -oname | awk '/(service-mesh|istio|catalog)/' | xargs kubectl delete