Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシーをサービスに適用しても、Mule アダプターがこれらのポリシーを適用せずに次のエラーメッセージが返される場合があります。
サービスを作成するときは、ポートやセレクターなどの仕様を指定する必要があります。これらはそれぞれ定義する必要のあるパラメーターを持ちます。ポートをサービスに割り当てるときは、エラーを回避するために、そのポートの名前 (「http」など) も指定する必要があります。Istio では、すべてのポートに名前を付ける必要があります。
この問題を診断するには、アプリケーションを公開しているサービスの定義を確認します。
$ kubectl -n namespace get services -o yaml
たとえば、次のサービスは名前付きのポートを持っていません。
apiVersion: v1
items:
- apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2019-10-09T19:08:28Z"
name: hello-kubernetes
namespace: default
resourceVersion: "7075"
selfLink: /api/v1/namespaces/default/services/hello-kubernetes
uid: 2d0719a5-eac8-11e9-93c9-06b247319cf6
spec:
clusterIP: 172.20.177.73
externalTrafficPolicy: Cluster
ports:
- nodePort: 32231
port: 80
protocol: TCP
targetPort: 8080
selector:
app: hello-kubernetes
sessionAffinity: None
type: LoadBalancer
Istio では、すべてのポートに名前を付ける必要があります。このエラーを解決するには、名前付きのポートを使用してサービスを作成し直します。
apiVersion: v1
kind: Service
metadata:
name: hello-kubernetes
spec:
type: LoadBalancer
ports:
- port: 80
name: http
targetPort: 8080
selector:
app: hello-kubernetes
バインドを削除しても、サービスに適用されていたポリシーが正常に削除されない場合があります。
バインドを作成するときには、サービス名を指定する必要があります。指定したサービス名が実際のサービス名と一致しないと、ポリシーは適用されません。
アプリケーションポッドの Envoy エラーにより、ポリシーが適用されません。
Anypoint Service Mesh で管理されているアプリケーションがエラーコード 500 を生成し、次のエラー情報を返しました。
INTERNAL:grpcmule-nto-payment.handler.service-mesh
.INTERNAL:grpcmule-nto-payment.handler.service-mesh
この問題を診断する手順は、次のとおりです。
アダプターポッドを表示します。
$ kubectl get pods -n service-mesh
アダプターのログを取得します。
$ kubectl -n service-mesh logs $(kubectl -n service-mesh get pod -l namespace=replace_with_namespace -oname) -c mule
ライセンスが期限切れになっている場合は、次のようなエラーが表示されます。
この問題を解決する手順は、次のとおりです。
既存のライセンスを有効なライセンスに置き換えます。
$ asmctl management config license --license=/path/to/license.lic
アダプターを再デプロイします。
$ kubectl -n service-mesh patch $(kubectl -n service-mesh get deploy -l namespace=replace_with_namespace -oname) --type=json -p="[{\"op\": \"replace\", \"path\": \"/spec/template/metadata/annotations/kubectl.kubernetes.io~1restartedAt\",\"value\":\"$(date -u +%FT%TZ)\"}]"