第7章 既知の問題
SKUPPER-1802 - skupper service status reports a service that doesn’t exist on the current site
ネットワーク上で
service-sync
を無効にし、あるサイトでサービスを公開した場合、skupper service status
コマンドは、そのサービスが他のすべてのサイトに存在しないにもかかわらず、それらのサービスが他のすべてのサイトに存在すると報告します。回避策
この問題を回避するには、
skupper service status -v
を使用して、公開されているサービスと可用性を確認します。たとえば、
west
サイトでは次のようになります。$ skupper service status Services exposed through Skupper: ╰─ backend:8080 (tcp)
ただし、
west
サイトにはそのサービスは存在しません。詳細出力には、サービスがeast
サイトにのみ存在することが示されています。$ skupper service status -v Services exposed through Skupper: ╰─ backend:8080 (tcp) ╰─ Sites: ╰─ 316fbe31-299b-490b-9391-7b46507d76f1(east) │ policy: disabled ╰─ Targets: ╰─ backend:8080 name=backend-9d84544df-rbzj
SKUPPER-869 - TCP トランスポートのアイドル接続タイムアウトを有効にする
クライアントが強制終了するなど、エンドポイントが終了すると、もう一方のエンドポイントは半分切断された接続を監視します。他のエンドポイントが接続を切断しないか、接続へのデータ送信を試行しないと、Skupper ルーターによってその接続に割り当てられたメモリーが解放されません。
回避策
可能であれば、この動作を使用するクライアントサーバー設定を避けてください。たとえば、サーバーが休止状態の接続を自動的に閉じるか、クライアントとの通信を試みる場合は、クライアントが終了すると、Skupper ルーターはメモリーを解放します。
SKUPPER-805 - OCP 3.11 の通常ユーザーでは skupper init が使用できない
回避策
以下の 2 つの回避策があります。
- YAML を使用してサイトを設定します。
-
以下のパーミッションでサービスアカウントを作成し、
skupper
CLI を実行します。
--- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: skupper-non-admin rules: - apiGroups: - "" resources: - configmaps - pods - pods/exec - services - secrets - serviceaccounts verbs: - get - list - watch - create - update - delete - apiGroups: - apps resources: - deployments - statefulsets - daemonsets verbs: - get - list - watch - create - update - delete - apiGroups: - route.openshift.io resources: - routes verbs: - get - list - watch - create - delete - apiGroups: - networking.k8s.io resources: - ingresses - networkpolicies verbs: - get - list - watch - create - delete - apiGroups: - projectcontour.io resources: - httpproxies verbs: - get - list - watch - create - delete - apiGroups: - rbac.authorization.k8s.io resources: - rolebindings - roles verbs: - get - list - watch - create - delete
上記の YAML を
role.yaml
に保存し、これを適用して、以下を使用してロールをユーザー名にバインドできます。$ oc apply -f role.yaml $ oc policy add-role-to-user skupper-non-admin <username> -n <namespace-name> --role-namespace=<namespace-name>